通用配置项
基本信息
| 属性 | 值 |
|---|---|
| 配置类 | 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)。
相关条目
- 跨模组集成 -
recipes取值会影响加载哪些跨模组配方 - Nuclear Control 主方块 - 多个刷新周期配置作用于该方块的变体