CoreModConfig
基本信息
| 属性 | 值 |
|---|---|
| 文件 | src/main/java/com/dreammaster/config/CoreModConfig.java |
| 注解框架 | GTNHLib com.gtnewhorizon.gtnhlib.config.Config |
modid |
Refstrings.MODID = dreamcraft(CoreModConfig.java:8) |
configSubDirectory |
Refstrings.COLLECTIONID = GTNewHorizons(CoreModConfig.java:8) |
| 配置分类 | Modules、ModFixes |
| 配置项总数 | 14(Modules 12 + ModFixes 2) |
| 磁盘路径 | config/GTNewHorizons/dreamcraft.cfg(由 configSubDirectory + modid 推出) |
功能
这是一个只有两层嵌套静态类的纯声明式配置:外层 CoreModConfig 不含任何字段,两个 @Config 注解各标一个静态内部类。整个文件 76 行,零逻辑。
注册发生在 MainRegistry.PreLoad,用 GTNHLib ConfigurationManager.registerConfig,失败即抛 RuntimeException 中断启动(MainRegistry.java:170-175):
ConfigurationManager.registerConfig(CoreModConfig.Modules.class);
ConfigurationManager.registerConfig(CoreModConfig.ModFixes.class);
ConfigurationManager.registerConfig(OilGeneratorFix.OilConfig.class);
第三个 registerConfig 注册的是 OilGeneratorFix.OilConfig,属另一个类,配置项在该类内统计。
两个类都带 @Config.RequiresMcRestart(CoreModConfig.java:10、:65)—— 改完必须重启客户端。
Modules 分类(12 项)
| 字段名 | 类型 | 默认值 | 中文说明 | 外部读取处 |
|---|---|---|---|---|
OreDictItems |
boolean | true |
开关 SpaceStones / SpaceDusts 的矿物词典注册 | 1 |
LoginMessage |
boolean | true |
登录时显示整合包版本信息 | 1 |
gtnhPauseMenuButtons |
boolean | true |
暂停菜单中显示 GTNH 按钮 | 1 |
ModPackVersion |
String | 2.9.x |
整合包版本(显示用) | 2 |
HazardousItems |
boolean | false |
启用 HazardousItems 模块 | 4 |
DebugVersionDisplay |
boolean | true |
在 F3 调试界面显示整合包版本 | 0 |
CustomToolTips |
boolean | false |
启用 CustomToolTips 模块 | 4 |
CustomFuels |
boolean | false |
启用 CustomFuels 模块 | 5 |
CustomDrops |
boolean | false |
启用 CustomDrops 模块 | 4 |
BabyChest |
boolean | true |
启用 BabyChest 方块 | 1 |
ForestryStampsAndChunkLoaderCoinsEnabled |
boolean | true |
启用林业印章与区块加载器币配方(仅单人) | 1 |
ForestryStampsAndChunkLoaderCoinsServerEnabled |
boolean | false |
同上,但在服务器上生效 | 2 |
默认值来自 @Config.DefaultBoolean / @Config.DefaultString 注解(CoreModConfig.java:14-60)。gtnhPauseMenuButtons 是唯一改名的字段:@Config.Name("GTNH Pause menu buttons")(CoreModConfig.java:22)。
ModPackVersion 的默认值不是字面量,而是 @Config.DefaultString(Refstrings.MODPACKPACK_VERSION)(CoreModConfig.java:27),即常量 2.9.x(Refstrings.java:8)。
ModFixes 分类(2 项)
| 字段名 | 类型 | 默认值 | 中文说明 | 外部读取处 |
|---|---|---|---|---|
MinetweakerFurnaceFixEnabled |
boolean | true |
允许 Minetweaker 覆盖原版熔炉燃料处理器,使木质物品燃烧值可改 | 1 |
GenerateOil |
boolean | false |
启用本 mod 的油生成(需关闭 BuildCraft 的 Oil-Spawn) | 1 |
DebugVersionDisplay:声明存在但无读取方
按检查项 8(声明 → 赋值 → 是否有外部读取方)逐项核对,唯一没有外部读取方的是 DebugVersionDisplay:
$ grep -rn 'DebugVersionDisplay' . --include=*
./src/main/java/com/dreammaster/config/CoreModConfig.java:36: public static boolean DebugVersionDisplay;
全仓仅 1 处命中,就是声明本身(CoreModConfig.java:36),并已排除 .git/。其 @Config.Comment 为 Set to true to display modpack version on debug GUI (F3)(CoreModConfig.java:34)。
是否构成缺陷:不下断言。 依据检查项 14,源码注释只能证明作者意图让玩家在 F3 看到版本号,该注释本身就是意图证据;仓库中没有进一步的实现痕迹,也没有注释声称「未实现」。此处仅如实记录「全仓无读取方」这一事实。
数值
| 数值名 | 值 |
|---|---|
| 配置分类数 | 2 |
| 配置项总数 | 14 |
| 声明式字段(无任何方法体) | 14 / 14 |
| 需重启生效 | 全部(两个类都带 @Config.RequiresMcRestart) |
交互
配置改动的生效点:
HazardousItems/CustomToolTips/CustomFuels/CustomDrops决定PreLoad是否实例化对应模块处理器(MainRegistry.java:200-219),并决定serverLoad是否注册对应指令(MainRegistry.java:459-469)BabyChest决定InitAdditionalBlocks()是否被调用(MainRegistry.java:268-270)OreDictItems决定OreDictHandler.register_all()是否执行(MainRegistry.java:273)gtnhPauseMenuButtons决定客户端是否注册GTNHPauseScreen(MainRegistry.java:279-281)GenerateOil/MinetweakerFurnaceFixEnabled决定registerModFixes()注册哪几个 mod-fix(MainRegistry.java:437-441)
相关条目
- DreamCoreMod.properties 配置 - coremod 层独立的属性文件,与本配置无关
- 危险物品模块 - 由
HazardousItems开关控制 - 数据驱动模块 - 由
CustomFuels/CustomDrops/CustomToolTips控制 - Mod 修复框架 - 由
ModFixes分类控制