模组配置界面(Mod Config GUI)

基本信息

属性 值
工厂类 com.mitchej123.hodgepodge.config.gui.HodgepodgeGuiConfigFactory
界面类 com.mitchej123.hodgepodge.config.gui.HodgepodgeGuiConfig
基类 com.gtnewhorizon.gtnhlib.config.SimpleGuiConfig(来自 GTNHLib)
入口 客户端 Mod Settings 菜单(由 GTNHLib 的 SimpleGuiFactory 机制注册)
源文件 config/gui/HodgepodgeGuiConfigFactory.java(13 行)、config/gui/HodgepodgeGuiConfig.java(31 行)

功能

游戏内配置界面由 GTNHLib 提供框架,Hodgepodge 只负责列出要暴露哪些配置类。

HodgepodgeGuiConfig 构造器(HodgepodgeGuiConfig.java:17-30)向 SimpleGuiConfig 传入 7 个配置类,顺序即界面内的分组顺序:

序 配置类 分类 字段数
1 ASMConfig asm 10
2 DebugConfig debug 6
3 FixesConfig fixes 226
4 GeneralConfig general 0
5 SpeedupsConfig speedups 52
6 TweaksConfig tweaks 110
7 SoundConfig sound 24

两处已核实的缺口

  1. GeneralConfig 是空类。 config/GeneralConfig.java 标注 @Config(modid = "hodgepodge", category = Configuration.CATEGORY_GENERAL),但类体内没有任何配置字段(源码解析:0 个字段声明)。它仍被传入 GUI,因此界面上会多出一个空的 general 分组。这不是遗漏的记录项,是源码现状。
  2. MemoryConfig 不在 GUI 列表里。 全仓共有 8 个 @Config 分类(asm / debug / fixes / general / memory / sound / speedups / tweaks),GUI 只暴露 7 个。MemoryConfig 的 29 个开关只能在 config/hodgepodge.cfg 里手改。

搜索框

搜索栏由 GTNHLib 的 SimpleGuiConfig 提供,由 TweaksConfig.addModConfigSearchBar(TweaksConfig.java:330,默认 true)控制开关。该项本身也在 GUI 可调列表里。

交互

操作 结果
Mod Settings → Hodgepodge 打开 7 个分组的配置页
修改任意开关 值写入内存;音效类配置在「Done」时调 ConfigurationManager.save(SoundConfig.class)(client/gui/HodgepodgeSoundOptionsGui.java:201)
搜索栏输入 按字段名过滤当前页条目
改完退出 配置文件 config/hodgepodge.cfg 落盘

需要重启才生效的项由 @Config.RequiresMcRestart 标注(目前仅 SoundConfig.outputDeviceManagement,SoundConfig.java:143)。

相关条目