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 或参数。
相关
- Util - 4 个安装探测方法
- ModuleConfig - 3 个开关
- Mixins - 另一套(按 phase)的地图判定