HarvestCraft 集成(Pam’s Fruit)
PluginHarvestcraft 是本 mod 中最小的一个插件:只挂钩 HarvestCraft 的一种方块,在提示栏加一行成熟度百分比。不采集任何 NBT,也不注册任何功能开关。
基本信息
| 属性 | 值 |
|---|---|
| 插件类 | tterrag.wailaplugins.plugins.PluginHarvestcraft |
| 目标 mod | HarvestCraft(modid harvestcraft,全小写) |
@Plugin 注解 |
name = "Pam's Fruit", deps = "harvestcraft",order 未设置(默认 0) |
| 注册类型 | 仅 Body provider,目标类 com.pam.harvestcraft.BlockPamFruit |
| 默认启用 | 是([plugins] 段与 WAILA [modules] 段默认均为 true) |
| 挂钩的 API | com.pam.harvestcraft.BlockPamFruit(仅用到方块类本身) |
判定逻辑
getBody 里只有一段实质代码,判据是 accessor.getBlock() instanceof BlockPamFruit:
float growthValue = (accessor.getMetadata() / 2.0F) * 100.0F;
成熟度直接由方块 metadata 换算,步进为 2:metadata 除以 2 再乘 100,即 metadata 每加 2 成熟度增加 100%。
显示内容
| 条件 | 显示 |
|---|---|
growthValue < 100 |
<生长标签> : N %(%.0f,四舍五入为整数百分比) |
growthValue >= 100 |
<生长标签> : <成熟标签> |
两处标签都不是本 mod 自己的语言键,而是借用 WAILA 自带的语言条目,经 StatCollector.translateToLocal 取得:
| 用途 | WAILA 语言键 |
|---|---|
| 生长标签 | hud.msg.growth |
| 成熟标签 | hud.msg.mature |
因此本插件不占用 wp.* 命名空间下的任何条目。
WAILA 元数据键
无。 本插件没有覆写 getNBTData,也从未调用 registerNBT——成熟度完全靠客户端可读的 metadata 得到,不需要服务端下发数据。
配置开关
本插件没有注册任何功能开关。 load() 中只有一句 registerBody(BlockPamFruit.class),没有 addConfig 调用;语言文件中也不存在 wp.config.Pam's Fruit.* 键。
它只受插件级总开关 Pam's Fruit(由 PluginBase.enabled() 读取)控制。由于没有功能开关,插件一旦启用就必定显示那一行成熟度,玩家无法单独隐藏它——想关只能关掉整个插件。
相关条目
- 插件 API 与生命周期 -
enabled()总开关与addConfig的区别 - WAILA 模块开关 - 本插件只有总开关,无功能开关
- Forge 流体桥接(IFluidHandler) - 另一个无功能开关的插件