GeneralConfig
2 项(调试图层 / 记住搜索文本)
基本信息
| 属性 | 值 |
|---|---|
| 路径 | com.gtnewhorizons.navigator.config.GeneralConfig |
| 行数 | 16 |
| 注解 | @Config(modid = "navigator") —— 无 category |
modid 是字符串字面量
@Config(modid = "navigator")
⚠️ 没有用 Navigator.MODID 常量,而是硬编码 "navigator"。
ModuleConfig 同样如此。
若 modid 改名,两处都要改,编译器不会报错。
2 个配置项(全是 public static)
| 字段 | 注解 | 默认值 |
|---|---|---|
enableDebugLayers |
@Config.Comment("Enable debug layers") + @Config.DefaultBoolean(false) |
false |
rememberSearchText |
@Config.Comment("Keep the fullscreen map search text when reopening the map") + @Config.DefaultBoolean(true) |
true |
⚠️ 字段是 public static 可变,不是 final ——
GTNHLib 配置框架靠反射写回,所以不能是 final。
⚠️ 两个字段没有 final,也没有 private 构造器约束 ——
类可被实例化(虽然无意义)。
消费点
| 字段 | 消费方 |
|---|---|
enableDebugLayers |
ClientProxy 的 preInit(:22-24)—— 为真才注册 DirtyChunkLayerManager |
rememberSearchText |
FormattedTextField / SearchBar 的全屏地图重开逻辑 |
⚠️ enableDebugLayers 默认 false ——
本仓自带的唯一可见图层(脏区块调试)默认不生效。
注册时机
由 NavigatorCore 的 static 块(:20-27)
调 ConfigurationManager.registerConfig(GeneralConfig.class) 注册。
static 块保证在 coremod 阶段就完成读盘,
早于任何使用方。
⚠️ 注册失败会包成 RuntimeException 抛出(:25),
配置损坏直接崩类加载。
没有 category
@Config(modid = "navigator") 不带 category,
所以两项落在配置的根分类。
对比 ModuleConfig 显式用 category = "modules"。
生成的文件名通常是 navigator.cfg 或
navigator-general.cfg(由 GTNHLib 决定)。
相关
- ModuleConfig - 同目录的另一个配置类
- NavigatorCore - 注册方
- ClientProxy -
enableDebugLayers的消费方