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