配置

Thaumic Boots 的配置文件由 Config 类(main/Config.java)管理,分 modules 与 boots 两个 category,共 8 项。玩家可通过设置界面或直接编辑 config/thaumicboots.cfg 修改。

配置在 preInit 阶段由 Config.Init()(Config.java:48-57)加载:先 configuration.load(),再 processConfigFile() → syncConfigs() → doModuleConfigs(),最后 save() 落盘。

modules 分类(5 项)

键 默认 实际作用
Thaumcraft true ⚠️ 无任何效果,见「已知缺陷」
GTNHLib true ⚠️ 无任何效果,见「已知缺陷」
Tainted-Magic true 是否注册 Tainted Magic 兼容的 5 双靴(虚空彗星、流星虚空、电力/纳米/量子虚空行者)
Electro-Magic-Tools true 是否注册 EMT 兼容的 9 双电力靴
Thaumic_Exploration true 是否注册 Thaumic Exploration 兼容的 4 双靴(流星彗星、冰霜流星、虚空彗星、流星虚空)

注意键名大小写不一致:Tainted-Magic 与 Electro-Magic-Tools 用连字符,Thaumic_Exploration 用下划线——是手写笔误,但因 Forge 配置大小写不敏感,功能正常。

boots 分类(3 项)

键 默认 范围 作用
Default-Change-Rate 0.25 0.01–1.0 按下跳跃/移速开关键时,每次变化的基础步长
Change-Rate-Modifier 0.4 0.01–1.0 按下微调键时,对上述步长的乘数
Allow-Inertia-Canceling-Feature true 布尔 是否启用惯性抵消(onArmorTick 中 motionX/Z *= 0.5)

前两项组合决定玩家能通过按键把靴子数值调到的上限:0.25 × 0.4 = 0.1(每按一次微调键,步长 ×0.4)。

配置如何影响注册

配置不是简单的功能开关,而是与 Loader.isModLoaded() 组成双重门控:

兼容靴存在 ⟺ 第三方 mod 已安装 且 对应配置项为 true

因此玩家装了 EMT 但把 Electro-Magic-Tools 设成 false,9 双电力靴全部消失(包括相应配方与研究)。同理 Tainted-Magic = false 会连带隐藏 5 双虚空系靴。

已知缺陷

  • Thaumcraft 与 GTNHLib 两项完全无效。Config.java:30 的 thaumcraftActive 与 :40 的 gtnhLibActive 被配置读取并赋值,但全仓没有任何代码读取这两个布尔值。所有兼容判断走的是 Loader.isModLoaded(...)(见 TaintedHelper.java:17、ExplorationsHelper.java:35、EMTHelper.java:61)。玩家把这两项关掉不会发生任何事,属于纯粹的无效配置项。

  • 配置变更后不会保存。Config.onConfigurationChangedEvent(Config.java:61-67)写的是:

    if (event.modID.equalsIgnoreCase(VersionInfo.ModName)) {   // ← 比的是 ModName
    

    VersionInfo.ModName 是 "Thaumic Boots",而 Forge 传入的 event.modID 是 "thaumicboots",永远不相等,所以该分支永不执行。应为 VersionInfo.ModID。实际后果:玩家在游戏内设置界面改配置时,Forge 触发事件但本 mod 不响应,需重启游戏才生效。

  • Config.saveConfigs() 是死方法(Config.java:69-71),全仓无调用点。配置仅靠 Init() 末尾的 configuration.save() 落盘。

  • allowInertiaCancelingFeature = false 时没有提示。lang 文件里有 thaumicboots.inertiaCancelingConfigDisabledMessage(“Inertia Canceling Feature Disabled in Config”),但 ItemBoots.onArmorTick(ItemBoots.java:156)只是直接跳过逻辑,从不显示这条消息——死键。

相关条目

  • 研究页 - 哪些研究出现取决于哪些兼容靴存在
  • 网络封包 - 微调键通过封包改写靴子状态