配置系统(Configuration)
基本信息
| 属性 | 值 |
|---|---|
| 配置文件 | <minecraft>/config/duradisplay.cfg |
| 主配置类 | com.caedis.duradisplay.config.DuraDisplayConfig |
| 配置基类 | com.caedis.duradisplay.config.Config |
| 配置子类基类 | com.caedis.duradisplay.config.ConfigDurabilityLike |
| 配置 GUI 类 | com.caedis.duradisplay.config.GuiConfigDuraDisplay |
| GUI Factory | com.caedis.duradisplay.config.GuiFactory(@Mod.guiFactory) |
| 热加载事件 | ConfigChangedEvent.OnConfigChangedEvent(modid duradisplay) |
顶层配置
| 分类 | 键 | 类型 | 默认 | 说明 |
|---|---|---|---|---|
general |
Enable |
boolean | true |
全局开关;关闭时调 ModSelfDrawnBar.restore() 还原 GT/EIO 自带条带 |
DuraDisplayConfig.Enable 在 reloadConfigObject 内被立即作用于 ModSelfDrawnBar:
Enable=true:change(false)(关掉 GT/EIO 自带条带)Enable=false:restore()
子分类
每个 overlay 对应一个 ConfigDurabilityLike 子类,覆盖 category() 与 postLoadConfig(),分类由 category() 决定:
| overlay | category() |
|---|---|
| OverlayDurability | durability |
| OverlayCharge | charge |
| OverlayGadgets | gadgets |
| OverlayContainer | container |
| OverlayPotionBrew | potion_brew |
子分类下完整键见 配色与样式 的"配置路径"小节。
容器子分类独有键
| 分类 | 键 | 类型 | 默认 | 说明 |
|---|---|---|---|---|
container |
ShowFullness |
boolean | false |
false 显示剩余格子,true 显示已占用格子 |
配置加载流程
DuraDisplay.init(FMLInitializationEvent)(仅客户端)调DuraDisplayConfig.loadConfig()loadConfig检查configLoaded防止重复加载;定位Launch.minecraftHome/config/duradisplay.cfg;实例化Configuration;调reloadConfigObject()reloadConfigObject读Enable、切换ModSelfDrawnBar;遍历OverlayInfo.getConfigs()调每个 overlay config 的loadConfigOverlayInfo由编译期注解处理器从@Overlay类生成,因此新增 overlay 自动出现在配置里- 任意 overlay 切
Enable时由postLoadConfig钩子即时调ModSelfDrawnBar.change/restore
热加载
@SubscribeEvent onConfigChanged(ConfigChangedEvent.OnConfigChangedEvent) 监听 Forge 配置变化事件:当 event.modID == "duradisplay" 时调 DuraDisplayConfig.config.save() 与 reloadConfigObject()。
配置 GUI
GuiFactory(IModGuiFactory.mainConfigGuiClass)返回 GuiConfigDuraDisplay。GuiConfigDuraDisplay 继承 GuiConfig:
- 第一项:
Configuration.CATEGORY_GENERAL(含Enable) - 后续每项:遍历
OverlayInfo.getConfigs()添加ConfigElement<>(config.getCategory(c.category()))
因此 mod 列表 → “Config” 按钮会显示 general + 五个 overlay 子分类的 GUI 页面。
相关条目
- 配色与样式 - 所有 overlay 子分类键的细节
- Mod 自带条带切换 -
Enable与postLoadConfig触发的change/restore - 耐久度 Overlay / 充能 Overlay / 小工具 Overlay / 容器 Overlay / 药水/Brew Overlay