TeacherMa · 我的世界总电表 · 2026-10-07

这是从原 MOD 中提取的独立练习工程，不含其它人物、武器、存档和配置。
版本：Minecraft Java 1.20.1 / Forge 47.4.20 / Java 17。
1. 解压到新文件夹，在 IntelliJ IDEA 中打开整个文件夹，选择 JDK 17。
2. 在该文件夹打开终端：Windows 运行 .\gradlew.bat runClient。
   macOS / Linux 运行 chmod +x gradlew，然后 ./gradlew runClient。
   第一次需要联网下载 Gradle、Forge 和 Minecraft 依赖。
3. 创建允许作弊的创造模式测试世界。
4. 输入 /give @s examplemod:right_click_light_block，放下并右键开灯。
5. 其它物品：red_table_lamp、computer_setup、large_washing_machine、compact_washing_machine、printer。
   /give @s examplemod:computer_setup 即可获得电脑；右键开关。
6. .\gradlew.bat build：构建 JAR，并运行 9 个计数场景。
7. .\gradlew.bat runGameTestServer：在 run-energy-tests 中运行开关/存档/拆除自动检查。

游戏规则：灯/台灯/宝塔夜灯 1 点/秒，电脑/小洗衣机 3 点/秒，打印机 2 点/秒，大洗衣机 5 点/秒。
每 20 个游戏 tick 为一秒；卡顿时实际走得更慢。点是教学用游戏电量，不是真实电费。
这里只记录用电，不提供电池、发电机、接线或其它 MOD 的 Forge Energy 兼容。
宝塔夜灯保留原项目的自动昼夜开关和不可见光源行为，不是普通右键电器。
关机不增加累计值；整个世界跨维度共享账本，所有玩家看同一总表。
只有正在 ticking 的区域被计费，离线不补扣。拆掉电器不会清掉以前的累计用电。
存档文件：世界目录/data/examplemod_energy_meter.dat。

接入已有 ExampleMod：不要覆盖已有 ExampleMod.java 和 ModNetwork.java！
新增 energy 包、ApplianceBlockEntity、HUD 和网络包；合并注册与中文键值。
对已存在方块增加接口/状态，按课程第 11 步合并注册。
独立练习版沿用 examplemod ID，不要和同 ID 的旧模组 JAR 同时安装。

源码中的 Minecraft / Forge 接口遵循它们原有许可；游戏本体和依赖未打包。
课程截图来自原学生 MOD 的独立演示世界，核心计费代码与本练习工程一致。
