ModuleConfig
3 项模块开关
基本信息
| 属性 | 值 |
|---|---|
| 路径 | com.gtnewhorizons.navigator.config.ModuleConfig |
| 行数 | 19 |
| 注解 | @Config(modid = "navigator", category = "modules")(:5) |
唯一的 category = modules
⚠️ 本 mod 只有这一个带 category 的配置类 ——
GeneralConfig 的两项在根分类。
所以配置文件里有一个 modules 段。
3 个模块开关(全部默认 true)
| 字段 | @Config.Comment |
默认值 |
|---|---|---|
enableJourneyMapModule |
Enable JourneyMap module |
true |
enableXaeroWorldMapModule |
Enable Xaero's World Map module |
true |
enableXaeroMinimapModule |
Enable Xaero's Minimap module |
true |
⚠️ 注释里带撇号(Xaero's)——
@Config.Comment 的文本会原样写进 cfg 注释,撇号不影响。
与 SupportedMods 的双重判定
三个开关全默认 true,但真正的启用条件是
逻辑与(见 SupportedMods 的 :9-11):
JourneyMap(Util.isJourneyMapInstalled() && ModuleConfig.enableJourneyMapModule)
| 开关 | 安装探测 | 枚举值 |
|---|---|---|
true |
true(装了) |
true |
true |
false(没装) |
false |
false |
任意 | false |
⚠️ VoxelMap 没有对应开关 ——
SupportedMods 里没有 VoxelMap 枚举值,
本类也没有 enableVoxelMapModule。与
VoxelMapWaypointManager 是死代码一致。
与 Mixins 的双重判定
三个开关还各自被 Mixins 的 setApplyIf 读:
| 开关 | 控制的 mixin 构建器 |
|---|---|
enableJourneyMapModule |
JOURNEYMAP_V5(+ Util.isJourneyMapV5Installed())、JOURNEYMAP_V6(+ V6 判定) |
enableXaeroWorldMapModule |
XAEROS_GUI |
enableXaeroMinimapModule |
ENABLE_STENCIL、XAEROS_MINIMAP_WAYPOINT、XAEROS_MINIMAP_RENDERER |
⚠️ 所以关掉开关不只是隐藏图层 —— 还会不加载对应地图的 mixin,即彻底不介入那个地图模组。 这是比「配置可见性」更强的开关。
相关
- GeneralConfig - 同目录的另一个配置类
- SupportedMods - 开关的另一半判定
- Mixins - 开关的
setApplyIf消费方 - NavigatorCore - 注册方