潘马斯农场插件(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 不同。

相关条目