通用配置项

基本信息

属性 值
配置类 shedar.mods.ic2.nuclearcontrol.ConfigurationHandler
配置文件 event.getSuggestedConfigurationFile()(IC2NuclearControl.java:186)
分类 全部在 Configuration.CATEGORY_GENERAL 下
有效配置项数 9
加载时机 preInit 中 config.init(...)(IC2NuclearControl.java:184-186)
热重载 @SubscribeEvent onConfigurationChangedEvent 重新调用 loadConfiguration()(ConfigurationHandler.java:70-73)

全部配置项

配置键 类型 默认值 说明
alarmRange int 64 警报作用范围(ConfigurationHandler.java:24-25)
maxAlarmRange int 128 警报范围上限(ConfigurationHandler.java:26-27)
allowedAlarms String default,sci-fi,factorio-rocket-silo 可用警报音效列表,读入后用 replaceAll(" ", "") 去除全部空格(ConfigurationHandler.java:28-30)
remoteThermalMonitorEnergyConsumption int 1 远程温度监视器耗电(ConfigurationHandler.java:31-32)
infoPanelRefreshPeriod int 20 面板文本刷新周期,单位 tick(ConfigurationHandler.java:33-34)
sensorDataRefreshPeriod int 4 传感器数据刷新周期;代码注释明确「不能长于 infoPanelRefreshPeriod」(ConfigurationHandler.java:35-39)
rangeTriggerRefreshPeriod int 20 范围触发器刷新周期(ConfigurationHandler.java:40-41)
SMPMaxAlarmRange int 256 服务器上的警报范围上限(ConfigurationHandler.java:42-43)
recipes String normal 配方组选择,配置注释写「Valid inputs: normal, old or gregtech」(ConfigurationHandler.java:50-54)

sensorDataRefreshPeriod 是唯一带官方说明文本的配置项:"can not be longer than infoPanelRefreshPeriod [default: 4]"(ConfigurationHandler.java:39)。

recipes 的实际取值

配置注释只列出 normal, old or gregtech,但 postInit 的实际分支还识别另外两个值(IC2NuclearControl.java:226-242):

配置值 生效条件 加载的配方
old 无条件 RecipesOld.addOldRecipes()
gregtech 或 gregtech5 无条件 GregtechRecipes.addRecipes()
其它(含默认 normal) 无条件 RecipesNew.addRecipes()
normal-force 仅当 crossIc2.getType() == IC2Type.SPEIGER(IC2 Classic) RecipesNew.addRecipes() 并打印警告
gregtech-force 仅当 IC2 为 Classic GregtechRecipes.addRecipes() 并打印警告

数值

数值名 值
有效配置项 9
被注释掉的配置项 3(isHttpSensorAvailableClient、isHttpSensorAvailableServer、httpSensorKey,ConfigurationHandler.java:44-49)
配方文件 RecipesNew.java、RecipesOld.java、crossmod/gregtech/GregtechRecipes.java

三个被注释的配置项原本用于 HTTP 传感器(对应 Web Upgrade)的开关与密钥,其中的默认值原本是 UUID.randomUUID().toString().replace("-", "")。这与 升级件 的 Web Upgrade 功能失效互为佐证。

异常处理

loadConfiguration() 整体包在 try/catch 中,任一配置读取抛异常都会记 Mod has a problem loading it's configuration 错误日志;finally 块中若 configuration.hasChanged() 则保存(ConfigurationHandler.java:55-61)。

相关条目