NotEnoughEnergistics

[!INFO] Git Commit: 2381ed8 | Updated: 2026-10-01

NotEnoughEnergistics(内部 modid neenergistics)是 NotEnoughItems(NEI) 的插件模组,由 vfyjxf 编写。它做两件事:把 NEI 的配方查询结果直接转换成 AE2 的 ME 样板并塞进样板终端 / 合成终端 / 配方终端,以及提供一个 样板接口 方块作为临时样板中转站。

mcmod.info 的 modid / name / version 全是 ${modId} 占位符。真实 modid 只能从 Java 源码读出:src/main/java/com/github/vfyjxf/nee/NotEnoughEnergistics.java:33 的 public static final String MODID = "neenergistics";。注意它与分类名 notenoughenergistics 不一致——注册名一律用 neenergistics: 前缀。

定位

  • 本质:NEI 客户端插件(implements IConfigureNEI)+ 1 个 AE2 方块
  • 不含:实体、附魔、维度、附魔符文、多方块结构
  • 加载:preInit 注册方块/物品/TileEntity 与网络包 → init 注册配方、NEI 处理器、/nee 指令 → postInit 注册 GUI handler
  • 网络频道:neenergistics(network/NEENetworkHandler.java)

方块列表

  • 样板接口 - neenergistics:pattern_interface,AE2 风格 ME 接口,30 AE/t,需要频道,存 9 个样板

本 mod 没有独立物品(registerItem 注册的是方块的 AEBaseItemBlock,见 proxy/CommonProxy.java:47)。

NEI 集成

  • 配方处理器 - 19 个按模组条件加载的配方转换器
  • 终端叠加层 - 8 个 NEI 相关类(6 个 handler + 1 个按钮 + 1 个配方预览器)挂到哪些 GUI 上

指令

  • /nee - 客户端指令,4 个子命令(help / reload / add / processor)

配置

  • 配置文件 - config/NotEnoughEnergistics.cfg,3 个分类 15 个选项

按键

依赖

NotEnoughEnergistics.java:36-39 声明:

依赖 约束 状态
NotEnoughItems required-after: 不在本 wiki 收录范围
Applied Energistics 2 required-after:appliedenergistics2@[rv3-beta-754-GTNH,) 不在本 wiki 收录范围
AE2 Wireless Crafting Terminal(ae2wct) after:ae2wct@[1.12.10,) 软依赖,装了才给无线合成终端加叠加层
AE2FluidCraft(ae2fc) after:ae2fc@[1.5.30-gtnh,) 软依赖

另有一批代码探测但不写进 dependencies 的可选模组(RecipeProcessor.java:18-107、NEINeeConfig.java):Botania、GregTech 5/6、IC2、Avaritia、EnderIO、Forestry、Thaumcraft NEI Plugin、Thermal Expansion、Immersive Engineering、Mekanism、Blood Magic、BuildCraft|Compat、GT++(miscutils)、Good Generator、BetterQuesting、AspectRecipeIndex、ThaumicEnergistics、Avaritia Addons、GT6 栈字符串化。缺任何一个都只是少一个处理器,不会崩。

已知源码缺陷

  1. /nee priorityMod 判断反了:NEECommands.java:95 写的是 if (!ItemUtils.hasModId(modid)) 才加入优先列表。语义应是「该 mod 存在时才加」,此处取反后只有不存在的 modid 才会被加进去——即永远加错
  2. 默认按键冲突:NEINeeConfig.java:115 与 :117 把 nee.count 和 nee.preview 同时绑到 LCONTROL,开箱状态下两个功能抢同一个键
  3. zh_CN 缺 4 个 GUI 提示键:lang/zh_CN.lang 缺 neenergistics.gui.tooltip.crafting.preview / .preview.result / .nopreview / .nopreview.result(en_US.lang:1-4 均有)
  4. 热重载时 enableNEIDragDrop 键名打错:config/NEEConfig.java:127(loadConfig)读的是 "enableNEIDragDrop",而 :231(reload)读的是 "enableNEIDragNDrop"(多一个 N)。文件中不存在该键,因此每次 ConfigChangedEvent 触发的 reload() 都会把 enableNEIDragDrop 重置为默认值 true,玩家的修改被静默丢弃
  5. 默认标识符集合里塞了 null:NEINeeConfig.java:57 的 Arrays.asList("crafting", "crafting2x2", "brewing", "smelting", "fuel", null) 显式放入一个 null 元素,随后 identifiers 被逐个喂给 API.registerGuiOverlay(:63-66)与 installPatternTerminalExSupport(:212-220)。是否被 NEI 容忍取决于 NEI 自身实现,本 mod 未做防护