Nuclear Horizons

[!INFO] Git Commit: 34983b3 | Updated: 2026-10-01

IC2 核反应堆的开源重实现。README 首句: This is a mod which re-implements IC2's Nuclear Reactors with an open source license. 自建一套反应堆物理(热管理、中子反射、堆芯装甲、多级燃料循环)、 多块体结构、反应堆模拟器,以及 116 条 GregTech 配方。

身份

属性 实测值
modid nuclear_horizons(含下划线,NuclearHorizons.java:21)
modName Nuclear Horizons(@Mod 里写死,带空格)
主包 com.recursive_pineapple.nuclear_horizons
资源域 nuclear_horizons(不是 nuclearhorizons)
Java 文件 93
注册内容 8 方块 / 28 自有物品 / 7 TileEntity
配方 116(全部走 GregTech 配方表,非原版合成)
多块体通道 2(fluid / chambers)
配置项 0 —— 见 Config 的空实现缺陷
网络包 1(模拟结果)
Mixin 2 个类,0 个生效
acceptedMinecraftVersions [1.7.10](精确匹配)
@Mod dependencies 无(⚠️ 但实际硬依赖 5 个库)
其它 usesMixins = true;coreModClass = NHCoremod;generateGradleTokenClass = ...Tags

[!IMPORTANT] 定位:IC2 核反应堆的重写版,不是「核工业题材 mod」 它只做核反应堆这一件事:反应堆核心物理 + 堆芯组件 + 模拟器。 没有铀矿、没有离心机、没有核废料设施——那些是 IC2 自己的内容。

[!WARNING] modid 是 nuclear_horizons(下划线) 与 wiki 分类名 nuclearhorizons 不同。写资源路径、 setBlockName 前缀、NBT 键与 lang key 时必须用下划线。

[!WARNING] @Mod 没有任何 dependencies 声明 而 dependencies.gradle 里有 5 个 api 级硬依赖: IndustrialCraft 2、GT5-Unofficial、ModularUI2、GTNHLib,外加 implementation 的 StructureLib。 FML 因此不会强制加载顺序,缺库时是运行期崩溃而不是干净的依赖报错。 已在收录范围的有 GregTech;ModularUI、GTNHLib 已登记未成文(前向引用); IC2 不在本 wiki 收录范围(relation.md 无对应行);StructureLib 已在收录范围。

[!NOTE] README 的 TODO 列出未完成项:UI 打磨、新材质、 模拟器的组件自动化配置、EU 反应堆的 TESR 温度传感器(「或接入 nuclear control」)、 以及 「Recipes」——说明配方仍在扩充中。

入口与核心列表

Mixin 列表

[!WARNING] 2 个 IC2 Mixin 类全部是死代码 Mixins 枚举的唯一条目被整段注释,枚举无任何常量 → IMixins.getEarlyMixins / getLateMixins 都返回空 → 3 个 mixin JSON 的 mixins 数组也全是 []。 结论:与 IC2 反应堆的互通当前不生效。

方块列表

物品列表

外部物品接入列表

材料列表

组件接口列表

组件适配器列表

TileEntity 列表

模拟器列表

冷却剂列表

配方列表

源码缺陷

  • Config - synchronizeConfiguration 只 new Configuration 后立即 hasChanged() / save(),一个配置项都不读。9 个「看起来可调」的常量改配置无效
  • Mixins - 唯一条目整段被注释,枚举为空 → 2 个 IC2 Mixin 永不生效
  • TileReactorCore - remainingChambers 是 private static,多个反应堆实例共享同一计数器
  • ReactorCore - 控制器方块的图标用的是 reactor_chamber_side / reactor_chamber_top(腔室贴图),且上下疑似接反
  • FluidBlock - extends BlockFluidClassic 却未在 BlockList 注册, 配套冷 / 热流体可能无方块
  • MiscRecipes - 输出 NHItemList.EMPTY_FUEL_ROD_BASIC.get(1), 而该常量 stack == null,get() 抛 IllegalStateException——这条配方会崩
  • NuclearHorizons - @Mod 缺 dependencies,5 个硬依赖未声明
  • CommonProxy - getSide() 直接 return null; serverStarting 是空方法
  • ReprocessingRecipes - 内部 KEROSENE 匿名 MaterialWrapper 三个方法全 return null
  • Mods - Names.BLOOD_MAGIC = "AWWayofTime"(modid ≠ 分类名)

依赖关系

@Mod 未声明任何依赖,但 dependencies.gradle 中的实际硬依赖为: IndustrialCraft 2(api)、GT5-Unofficial(api)、ModularUI2(api)、 GTNHLib(api)、StructureLib(implementation)、 另有 shadowImplementation 的 protobuf-java 与若干 runtimeOnly 的调试用 mod (NEI / EnderIO / Waila / spark)。

  • GregTech - 已在收录范围,配方与材料 API 的实际提供方
  • StructureLib - 已在收录范围,多块体 API
  • ModularUI - 已登记未成文,前向引用
  • GTNHLib - 已登记未成文,前向引用
  • Angelica - 已登记未成文,前向引用

IndustrialCraft 2 与 NotEnoughItems 不在本 wiki 收录范围 (relation.md 无对应行),故不建分类。