集成目标总览

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」。

相关条目