Config GUI

基本信息

属性 值
GUI 类 net.mcft.betterstorage.client.gui.GuiBetterStorageConfig
Forge 工厂 gui.client.net.mcft.betterstorage.BetterStorageGuiFactory
声明位置 @Mod(guiFactory = ...),src/main/java/net/mcft/betterstorage/BetterStorage.java:33
工厂类 src/main/java/net/mcft/betterstorage/client/gui/BetterStorageGuiFactory.java
配置文件 config/betterstorage.cfg

来源:src/main/java/net/mcft/betterstorage/client/gui/GuiBetterStorageConfig.java;BetterStorageGuiFactory.java。

功能

配置界面通过 Forge 标准的 IGuiFactory 机制接入,在 mod 列表的「配置」按钮中打开。

配置项分两类,界面上以不同方式呈现:

设置类型 类 界面元素
布尔开关 BooleanSetting 复选框
整数输入 IntegerSetting 数值输入框,支持 setValidRange / setValidValues 约束
附魔 ID EnchantmentIdSetting 数值输入框

来源:src/main/java/net/mcft/betterstorage/config/setting/。

设置的通用属性

每个 Setting 支持以下修饰(见 GlobalConfig 中的调用):

方法 作用 示例位置
setHasComment(false) 隐藏该设置在配置文件中的注释块 GlobalConfig.java:92 等 28 处
setRequiresMcRestart(true) 标记需重启 MC(全部 28 个内容开关) 同上
setSynced() 标记为服务端→客户端同步 GlobalConfig.java:188, 192, 203, 210, 213, 220
setComment(String) 配置文件中的说明文本 GlobalConfig.java:177, 181, 183, 185 等
setValidRange(int, int) 整数取值范围 GlobalConfig.java:190, 200, 202, 215
setValidValues(int...) 整数白名单 GlobalConfig.java:176(9/11/13)

需要重启 MC 的设置

28 个内容开关全部标记 setRequiresMcRestart(true)(GlobalConfig.java:92-164),因为它们在 preInit 阶段决定对象是否被创建,运行时无法热切换。

其余设置(行数、列数、布尔行为开关)不标记需重启,可在游戏内即时调整。

配置加载与保存

在 preInit 阶段一次性完成(src/main/java/net/mcft/betterstorage/BetterStorage.java:62-65):

globalConfig = new GlobalConfig(event.getSuggestedConfigurationFile());
Addon.setupConfigsAll();
globalConfig.load();
globalConfig.save();

即读取 → 附加模组配置 → 加载 → 保存。Addon.setupConfigsAll() 允许附属模组(Thaumcraft 等)追加自己的配置项(src/main/java/net/mcft/betterstorage/addon/Addon.java:26-28)。

附属模组配置

Thaumcraft 附属追加了 2 个内容开关(src/main/java/net/mcft/betterstorage/addon/thaumcraft/ThaumcraftAddon.java:37-38):

配置键 对应内容
tile.thaumcraftBackpack 奥术学者背包
tile.thaumiumChest 神秘金属箱子

设置分组(按 GlobalConfig 声明顺序)

  1. Tiles — 12 个方块开关(GlobalConfig.java:92-119)
  2. Items — 7 个基础物品开关(:122-137)
  3. Cardboard items — 9 个纸板物品开关(:140-164)
  4. Enchantments — 7 个附魔 ID(:167-173)
  5. Reinforced chest settings — 列数(:176-177)
  6. Crate settings — 3 个木箱接口(:180-185)
  7. Backpack settings — 5 个背包设置(:188-197)
  8. Cardboard box settings — 3 个纸板箱设置(:200-207)
  9. Crafting Station settings — 3 个合成台设置(:210-217)
  10. Key / Lock settings — 1 个锁设置(:220-221)
  11. Miscellaneous settings — 3 个杂项设置(:224-229)

共 41 项。

相关条目