Config
基本信息
| 属性 | 值 |
|---|---|
| 类名 | com.recursive_pineapple.nuclear_horizons.Config |
| 类型 | class,1 个 public 方法 |
| 配置项 | 0 —— 文件被创建,但没有任何一项被读取 |
| 源码规模 | 30 行 |
| 启用版本 | 1.7.10 |
功能
看起来是配置类,实际上是空壳:9 个 public static 调参常量全部写死,
synchronizeConfiguration 一个配置项都不读。
实现要点
- ⚠️ 缺陷:
synchronizeConfiguration(File)(第 20-28 行)只做new Configuration(configFile), 紧接着就if (configuration.hasChanged()) configuration.save();—— 既没有get/getInt/getDouble,也没有定义任何配置项。生成的.cfg是空文件。 - 9 个常量因此完全不可配置:
ROD_EU_MULTIPLIER = 1、ROD_HU_MULTIPLIER = 1、MOX_EU_COEFFICIENT = 4、REACTOR_EU_MULTIPLIER = 100、FLUID_NUKE_HU_MULTIPLIER = 2、BWR_STEAM_PER_HU_MULTIPLIER = 320、COOLANT_SPECIFIC_HEAT = 1、LEAD_SPECIFIC_HEAT = 8。 - 命名与默认值强烈暗示「本应是配置项」(
Config类 +synchronizeConfiguration调用点齐全),但实现漏了。 - 结论:这些数值改配置无效,必须改源码重编译。不要把它们写成「可调参数」。
BWR_STEAM_PER_HU_MULTIPLIER = 320的注释给了换算示例:600 HU/s → 1200 mb/s 蒸馏水 → 192000 mb/s 蒸汽。
相关条目
- NuclearHorizons - 调用方
- CommonProxy -
preInit调synchronizeConfiguration - TileReactorCore - 多数常量的消费方
- CoolantRegistry -
COOLANT_SPECIFIC_HEAT消费方