SupportedMods

4 个枚举值,安装探测 + 配置开关的逻辑与

基本信息

属性 值
路径 com.gtnewhorizons.navigator.api.model.SupportedMods
行数 28
类型 enum(4 个常量)

4 个常量(:9-12)

JourneyMap(Util.isJourneyMapInstalled() && ModuleConfig.enableJourneyMapModule),
XaeroWorldMap(Util.isXaerosWorldMapInstalled() && ModuleConfig.enableXaeroWorldMapModule),
XaeroMiniMap(Util.isXaerosMinimapInstalled() && ModuleConfig.enableXaeroMinimapModule),
NONE(false);
枚举值 判定
JourneyMap 装了 JM 且 enableJourneyMapModule
XaeroWorldMap 装了 Xaero World Map 且 enableXaeroWorldMapModule
XaeroMiniMap 装了 Xaero Minimap 且 enableXaeroMinimapModule
NONE 恒 false

⚠️ VoxelMap 不在枚举里 —— 虽有 VoxelMapWaypointManager(75 行), 但没有 VoxelMap 枚举值。见分类页缺陷 6。

⚠️ NONE 恒为 false —— 它的用途是「无地图」占位(见 LayerRenderer 的 EnumMap<SupportedMods, LayerRenderer> 槽位), 不是「任意地图」。

⚠️ JM5 与 JM6 共用 JourneyMap 一个值 —— 不区分版本。版本区分在 Util 与 JourneyMapVersion, 在 Mixins 的 setApplyIf 里做。

一个 final 字段(:14-18)

成员 行 说明
private final boolean enabled :14 构造参数
SupportedMods(boolean) :16-18 —
isEnabled() :25-27 返回 enabled

⚠️ enabled 是 final,且在枚举常量初始化时求值 —— 见分类页缺陷 1:一旦 ModuleConfig 的开关在配置读盘之前被读到(全是 false 默认值), 这个 final 值就永久错误,必须重启游戏。

唯一调用方

LayerManager 的 isEnabled(SupportedMods)(:542-544)、 LayerRenderer 的 getLayerMod()、 ButtonManager 的 getIcon(SupportedMods, String)、 WaypointManager 的 mod 字段 —— 都用本枚举做 key 或参数。

相关