潘马斯农场插件(Harvestcraft Plugin)
基本信息
| 属性 | 值 |
|---|---|
| 插件 uid | harvestcraft(HarvestcraftPlugin.java:18) |
| 依赖 modid | harvestcraft(@WDMlaPlugin(dependencies = "harvestcraft"),HarvestcraftPlugin.java:18) |
| 配置分类 | plugins_autogen.harvestcraft |
| 注册调用 | 服务端 4 次 / 客户端 3 次 |
| 生效侧 | 两侧 |
| 显示名 | 英文 “Pam’s Harvestcraft”,中文「潘马斯农场」(en_US.lang:269、zh_CN.lang:269) |
功能
为 Pam’s Harvestcraft 提供捕兽夹与捕鱼夹的提示:陷阱内的物品存储、放置朝向、以及果实的成熟度。
两类陷阱(BlockPamAnimalTrap、BlockPamFishTrap)都同时注册了服务端 data provider(取数据)与客户端 component(画提示),并复用通用的物品存储视图。
注册内容
服务端(HarvestcraftPlugin.register):
| 方法 | 目标类 | provider |
|---|---|---|
registerBlockDataProvider |
BlockPamAnimalTrap |
AnimalTrapProvider.INSTANCE |
registerBlockDataProvider |
BlockPamFishTrap |
FishTrapProvider.INSTANCE |
registerItemStorage |
BlockPamAnimalTrap |
ItemStorageProvider.Extension.INSTANCE |
registerItemStorage |
BlockPamFishTrap |
ItemStorageProvider.Extension.INSTANCE |
客户端(HarvestcraftPlugin.registerClient):
| 方法 | 目标类 | provider |
|---|---|---|
registerBlockComponent |
BlockPamFruit |
HarvestcraftFruitGrowthRateProvider.INSTANCE |
registerBlockComponent |
BlockPamAnimalTrap |
AnimalTrapProvider.INSTANCE |
registerBlockComponent |
BlockPamFishTrap |
FishTrapProvider.INSTANCE |
BlockPamFruit 只有客户端注册——成熟度由客户端依据方块状态推算,不需要服务端下发数据。
数值
本插件不新增任何配置字段。成熟度行复用 通用插件 的 GrowthRateProvider 体系:显示多少取决于 universal.itemstorage.* 之外的通用行数配置,而捕兽夹/捕鱼夹的物品列表直接走 universal.itemstorage.normalamount(默认 9)与 itemsperline(默认 9)。
分类语言键由 registerClient 末段写入 provider.wdmla.harvestcraft.category。
交互
PluginScanner 用 Loader.isModLoaded("harvestcraft") 门控。仓库中该 mod 的 Maven 坐标是 com.github.GTNewHorizons:harvestcraft:1.3.11-GTNH:dev(dependencies.gradle,compileOnly),仓库名与 modid 同为小写 harvestcraft。
WDMla 把 BlockPamFruit 绑到 HarvestcraftFruitGrowthRateProvider 而非原版 GrowthRateProvider,说明其成熟度模型与原版 BlockCrops 不同。
相关条目
- 通用插件 - 物品存储与生长率的共用实现
- Minecraft 插件 - 原版
BlockCrops的对应注册