NotEnoughItems Integration
基本信息
| 属性 | 值 |
|---|---|
| 附属类 | net.mcft.betterstorage.addon.nei.NEIAddon |
| 检测 modid | NotEnoughItems |
| 依赖级别 | 软依赖(after:NotEnoughItems) |
| 附加方块 / 物品 | 0 |
| 作用范围 | 仅 合成台 GUI |
来源:src/main/java/net/mcft/betterstorage/addon/nei/NEIAddon.java;检测代码 src/main/java/net/mcft/betterstorage/addon/Addon.java:21。
功能
本附属不添加任何内容,只把 合成台 的 GUI 注册到 NEI,使玩家能在合成台界面中查看所有可用配方。
生命周期
NEIAddon 只覆写 postInitialize(NEIAddon.java:29),且首行即服务端短路:
if (FMLCommonHandler.instance().getEffectiveSide().isServer()) return;
即全部注册逻辑仅在客户端执行(NEIAddon.java:30-32)。
注册内容
postInitialize(NEIAddon.java:33-45):
| 调用 | 目标 | 作用 |
|---|---|---|
API.registerRecipeHandler(handler) |
NEIRecipeHandler |
注册配方处理器 |
API.registerUsageHandler(handler) |
NEIRecipeHandler |
注册用途处理器 |
API.registerGuiOverlay(GuiCraftingStation.class, BetterStorage.MODID + ".craftingStation") |
合成台 | 主覆盖层 |
API.registerGuiOverlay(GuiCraftingStation.class, "crafting", -8, 11) |
原版合成表 | 带偏移的覆盖层 |
API.registerGuiOverlayHandler(GuiCraftingStation.class, new StationOverlayHandler(), ...) |
合成台 | 合成台专用处理器 |
API.registerGuiOverlayHandler(GuiCraftingStation.class, new StationOverlayHandler(-8, 11), "crafting") |
原版合成表 | 带偏移的处理器 |
NEIRecipeHandler 位于 src/main/java/net/mcft/betterstorage/addon/nei/NEIRecipeHandler.java。
覆盖层资源标识为 betterstorage.craftingStation(NEIAddon.java:37, 43),对应的 NEI 资源文件应位于 NEI 的资源目录中。
双重覆盖的原因
源码同时注册了「合成台」与「crafting」(原版合成表)两套覆盖,并各自带一个默认偏移与一个 (-8, 11) 偏移版本。这使得玩家在合成台中既能看到模组自定义配方(IStationRecipe),也能看到原版 3×3 配方(受 general.enableStationVanillaCrafting 控制)。