建筑师工艺插件(ArchitectureCraft Plugin)
基本信息
| 属性 | 值 |
|---|---|
| 插件 uid | architecturecraft(ArchitectureCraftPlugin.java:18) |
| 依赖 modid | ArchitectureCraft(@WDMlaPlugin(dependencies = "ArchitectureCraft"),ArchitectureCraftPlugin.java:18) |
| 资源命名空间 | architecturecraft(ArchitectureCraftPlugin.path()) |
| 配置分类 | plugins_autogen.architecturecraft |
| 注册调用 | 服务端 1 次 / 客户端 2 次 |
| 生效侧 | 两侧 |
功能
为 Architect’s Palette(建筑师工艺)提供:锯台内的物品存储展示、方块形状提示,以及基于形状的采集判定。
形状信息是本插件的核心增量——BlockShapeProvider 把方块的实际外形轮廓画进提示框,ShapeHarvestHandler 则按该形状而非方块整体判断能否采集。两者都绑定到 BlockShape.class。
注册内容
| 侧 | 方法 | 目标类 | provider |
|---|---|---|---|
| 服务端 | registerItemStorage |
BlockSawbench |
ItemStorageProvider.Extension.INSTANCE |
| 客户端 | registerBlockComponent |
BlockShape |
BlockShapeProvider.INSTANCE |
| 客户端 | registerHarvest |
BlockShape |
ShapeHarvestHandler.INSTANCE |
服务端注册复用的是 通用插件 的 ItemStorageProvider.Extension——即本插件不实现自己的容器遍历,而是复用通用 IInventory 适配。
数值
本插件不新增任何配置字段。它完全依赖 plugins_autogen.architecturecraft 下由 registerClient 写入语言键的分类(ArchitectureCraftPlugin.java,registerClient 末段 setLanguageKey("provider.wdmla.architecturecraft.category"),中文「建筑师工艺」见 zh_CN.lang:287)。
实际生效的开关来自共享的 harvestability 组(ShapeHarvestHandler 实现 HarvestHandler,被 registerHarvest 挂到 BlockShape.class),因此 采集能力插件 的 icon / text / condition 三组选项同样作用于本插件。
交互
插件的启用由 PluginScanner 在 preInit 阶段决定:Loader.isModLoaded("ArchitectureCraft") 为假时直接跳过,并打日志 skipped plugin %s loading: missing dependency(PluginScanner.java:37-40、65-75)。装上模组后无需任何配置即可自动生效。