模组配置界面(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 |
两处已核实的缺口
GeneralConfig是空类。config/GeneralConfig.java标注@Config(modid = "hodgepodge", category = Configuration.CATEGORY_GENERAL),但类体内没有任何配置字段(源码解析:0 个字段声明)。它仍被传入 GUI,因此界面上会多出一个空的 general 分组。这不是遗漏的记录项,是源码现状。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)。