CodeChickenCore.cfg
基本信息
| 属性 | 值 |
|---|---|
| 路径 | <minecraftDir>/config/CodeChickenCore.cfg |
| 创建处 | CodeChickenCorePlugin.java:53-54(构造器) |
| 实现类 | codechicken.lib.config.ConfigFile |
| 分组数 | 2(checks、tweaks),均调用 useBraces() |
| 活跃配置项 | 10(checks 6 + tweaks 6,其中 tweaks 2 项由 LiquidTextures 读取) |
| 已移除项 | 1(tweaks.persistantLava) |
checks 分组
分组声明于 CodeChickenCorePlugin.java:87-88,注释为 Configuration options for checking various requirements for a modpack.,在 injectData() 中读取。
| 配置项 | 行 | 类型 | 默认值 | 何时被读取 |
|---|---|---|---|---|
checkRAM |
:89-91 |
布尔 | false |
每次启动(injectData) |
minRAM |
:181-182 |
字符串 | 3GB |
仅当内存检查失败流程被触发时 |
modPack |
:194-195 |
字符串 | Unidentified ModPack |
同上 |
wiki |
:197-198 |
字符串 | See <a href="https://downloadmoreram.com">DownloadMoreRam.com</a> for details. |
同上 |
recRAM |
:200 |
字符串 | 4GB |
同上 |
recRAMUpper |
:202-203 |
字符串 | 6GB |
同上 |
生效条件
checkRAM 为 true 时调用 systemCheck(checkRAM)(CodeChickenCorePlugin.java:92)。systemCheck(:179-224)先用 minRAM 解析出字节数(:180-182),与 Runtime.getRuntime().maxMemory() 比较(:183)。
只有当分配内存不足时(if 分支),modPack、wiki、recRAM、recRAMUpper 才被读取,用于拼装错误对话框的 HTML 文案(:190-205)。内存充足时这 4 项即使在配置文件中改了值也不会被读取——它们是纯展示文案,不是行为开关。
systemCheck 失败时的最终行为:非 headless 环境弹 JOptionPane(:220-221),随后 FMLCommonHandler.instance().exitJava(-98, true)(:222)。
minRAM 的字符串解析由 parseSize(String) 完成(:149-162),支持 K / M / G 后缀。
tweaks 分组
分组声明于 TweakTransformer.java:46-47,注释为 Various tweaks that can be applied to game mechanics.,由 coremod 的 injectData() 触发加载(CodeChickenCorePlugin.java:94)。
| 配置项 | 读取位置 | 类型 | 默认值 | 归属 |
|---|---|---|---|---|
persistantLava |
TweakTransformer.java:48 |
— | — | 已移除,removeTag(...) 主动删除 |
environmentallyFriendlyCreepers |
TweakTransformer.java:50-52 |
布尔 | false |
TweakTransformer |
softLeafReplace |
TweakTransformer.java:60-61 |
布尔 | false |
同上(条件取反,为 false 时才生效) |
doFireTickOut |
TweakTransformer.java:72-74 |
布尔 | true |
同上(默认开启) |
finiteWater |
TweakTransformer.java:95-97 |
布尔 | false |
同上 |
replaceWaterFX |
LiquidTextures.java:29-30 |
布尔 | false |
功能 hack |
replaceLavaFX |
LiquidTextures.java:31-32 |
布尔 | false |
同上 |
replaceWaterFX / replaceLavaFX 虽然由 LiquidTextures 读取,但读的是 TweakTransformer.tweaks 这个同一个 ConfigTag 实例,所以它们与上 4 项同处 tweaks 花括号分组内。
LiquidTextures 的读取时机是 preInit(CodeChickenCoreModContainer.java:61),晚于 TweakTransformer.load(),因此这两个开关不影响转换器注册。
默认状态小结
纯净配置下:
tweaks组使 TweakTransformer 注册 2 个转换(softLeafReplace+doFireTickOut)checks组因checkRAM默认false而不执行任何内存检查LiquidTextures因两项均false而不注册任何事件监听
已核实事项
- 全部 10 个活跃配置项均完成「声明 → 赋值 → 外部读取」三段核实,无只声明未读取的悬空项
persistantLava在src/main/java与tweaks.asm中均无对应实现,属已清理的历史项- 本配置文件的键名区分大小写:
ConfigTagParent的childtags为无比较器的new TreeMap<>()(ConfigTagParent.java:44),allTagsInTree为new HashMap<>()(:49),均未传入String.CASE_INSENSITIVE_ORDER,因此配置文件中的键必须与源码声明的驼峰形式完全一致
相关条目
- 配置库 - 实现本文件的解析器
- TweakTransformer -
tweaks组的主要消费方 - 功能 hack -
replaceWaterFX/replaceLavaFX的消费方 - CodeChickenLib.cfg - 另一份独立配置文件