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,即彻底不介入那个地图模组。 这是比「配置可见性」更强的开关。

相关