集成目标总览
NEI-Integration 的全部功能由 mods/Integrations.getIntegrations() 返回的 6 个 IntegrationBase 实现驱动,按固定顺序注册:
i.add(new MCForgeIntegration()); // "Minecraft / Forge"
i.add(new HarvestCraftIntegration()); // harvestcraft
i.add(new RailcraftIntegration()); // Railcraft
i.add(new MFRIntegration()); // MineFactoryReloaded
i.add(new BigReactorsIntegration()); // BigReactors
i.add(new ElectricalAgeIntegration()); // Eln
6 个集成
| 集成 | 目标 modid | 加载判定 | 注册 handler 数 | 配方页图标 |
|---|---|---|---|---|
MCForgeIntegration |
——(恒有效) | isValid() 恒 true |
2 + 1 tooltip + 10 dumper | basicProcessing / overlays |
HarvestCraftIntegration |
harvestcraft |
Utils.isModLoaded("harvestcraft") |
6 | churn / presser / presserOld / oven / quern |
RailcraftIntegration |
Railcraft |
Utils.isModLoaded("Railcraft") |
5 | —— |
MFRIntegration |
MineFactoryReloaded |
Utils.isModLoaded("MineFactoryReloaded") |
10 | —— |
BigReactorsIntegration |
BigReactors |
Utils.isModLoaded("BigReactors") |
1 | —— |
ElectricalAgeIntegration |
Eln |
Utils.isModLoaded("Eln") |
4 | —— |
| 合计 | 28 |
注意 Electrical Age 的 modid 是
Eln,不是ElectricalAge——这是实测值(ElectricalAgeIntegration.java:15)。
加载判定机制
IntegrationBase(tonius/neiintegration/IntegrationBase.java)抽象出 3 个方法与 1 个注册辅助:
public abstract String getName();
public boolean isEnabledByDefault() { return true; }
public abstract boolean isValid();
public abstract void loadConfig();
protected void registerHandler(IRecipeHandler handler) {
handler.prepare();
API.registerRecipeHandler(handler);
API.registerUsageHandler(handler);
}
registerHandler 每个 handler 会注册两遍——API.registerRecipeHandler(NEI 配方页)与 API.registerUsageHandler(右键物品的使用方式)。这是 NEI 集成必须成对注册的特性。
isModLoaded 走 cpw.mods.fml.common.Loader.isModLoaded(modid),另有带版本范围的重载用 VersionParser.parseRange + DefaultArtifactVersion.containsVersion 比对(Utils.java:128-142),但6 个集成只用无版本参数的重载,即只判存在不判版本。
为谁提供了什么
| 目标 mod | 本 wiki 收录情况 |
|---|---|
harvestcraft |
已收录(harvestcraft) |
Railcraft |
已收录(railcraft) |
MineFactoryReloaded |
未收录 |
BigReactors |
未收录 |
Eln(Electrical Age) |
未收录 |
| Applied Energistics 2(Unofficial) | 已收录 ae2fluidcraft-rework 等,但 AE2 本身未单列 |
| BuildCraft | 未收录 |
| CoFH Core | 未收录 |
本 mod 为这些本身不提供 NEI handler 的老旧/非官方 mod 补上配方页。README 说明了这个定位:
“NEI Integration is two things – a playground to try out new types of NEI handlers, and a place to put NEI handlers if I somehow can’t get them into the mods they were made for.”
本分类不复述上述未收录 mod 的内容,只记录「NEI-Integration 为其注册了哪些 handler」。
相关条目
- Minecraft / Forge 集成 - tooltip、2 个通用 handler 与 10 个 dumper
- 架构与客户端限定 - client-side-only 的实现方式
- 配置与 GUI - 20 个开关与配置界面
- 配方页实现 - handler 基类与 PositionedStack 抽象