自然插件(Natura Plugin)

基本信息

属性 值
插件 uid Natura(NaturaPlugin.java:22-25,注意首字母大写)
依赖 modid Natura(@WDMlaPlugin(dependencies = "Natura"),NaturaPlugin.java:24)
配置分类 plugins_autogen.natura
注册调用 服务端 1 次 / 客户端 8 次
生效侧 两侧
显示名 英文 “Natura”,中文「自然」(en_US.lang:274、zh_CN.lang:274)

功能

为 Natura 提供三类信息:作物与浆果丛的生长进度、树叶的物种/成熟度、下界苔石熔炉的内部状态。

作物侧同时注册了两个 provider 到同一个 CropBlock:NaturaCropHeaderProvider(标题行,如「作物 成熟」)与 NaturaGrowthRateProvider(进度条)。二者由 provider 优先级决定先后。

树叶侧把 NaturaLeavesProvider 注册到 4 个树叶类,覆盖 Natura 自己的两种树叶变体与两个跨模组兼容类。

注册内容

服务端(NaturaPlugin.register):

方法 目标类 provider
registerBlockDataProvider NetherrackFurnaceBlock FurnaceProvider.INSTANCE

客户端(NaturaPlugin.registerClient):

方法 目标类 provider
registerBlockComponent CropBlock NaturaCropHeaderProvider.INSTANCE
registerBlockComponent CropBlock NaturaGrowthRateProvider.INSTANCE
registerBlockComponent NLeaves NaturaLeavesProvider.INSTANCE
registerBlockComponent NLeavesNocolor NaturaLeavesProvider.INSTANCE
registerBlockComponent NLeavesDark NaturaLeavesProvider.INSTANCE
registerBlockComponent OverworldLeaves NaturaLeavesProvider.INSTANCE
registerBlockComponent NetherrackFurnaceBlock FurnaceProvider.INSTANCE
registerBlockComponent BerryBush BerryBushProvider.INSTANCE

NetherrackFurnaceBlock 是唯一两侧都注册的类:服务端取熔炉数据,客户端绘制。浆果丛 BerryBush 只有客户端注册。

数值

本插件不新增任何配置字段。生长进度行复用 通用插件 的 ProgressProvider 体系;浆果丛与作物的成熟度提示受 harvestability 组的 condition 四个开关影响(见 采集能力插件)。

分类语言键由 registerClient 末段写入 provider.wdmla.natura.category。

交互

PluginScanner 用 Loader.isModLoaded("Natura") 门控。仓库坐标为 com.github.GTNewHorizons:Natura:2.8.18:dev(dependencies.gradle,compileOnly),与 modid 同为 Natura(首字母大写)。

uid 与依赖 modid 相同是本插件的特殊之处:@WDMlaPlugin(uid = "Natura", dependencies = "Natura") 两者都是 Natura。而多数插件的 uid 是小写(WDMla 内部命名空间风格),只有本插件与 Storage Drawers 沿用了 mod 的原始大小写。

相关条目