箱子类型开关(enable*Chests)
基本信息
配置项全部位于 config/ironchest.cfg 的 general 段,由 IronChest.preInit 读取(IronChest.java:85-100)。
| 键名 | 类型 | 默认值 | 对应枚举 | 字段 |
|---|---|---|---|---|
enableSteelChests |
boolean | true |
STEEL |
IronChest.ENABLE_STEEL_CHESTS |
enableSilverChests |
boolean | false |
SILVER |
IronChest.ENABLE_SILVER_CHESTS |
enableDarkSteelChests |
boolean | isGTNHLoaded |
DARKSTEEL |
IronChest.ENABLE_DARK_STEEL_CHESTS |
enableNetheriteChests |
boolean | !isGTNHLoaded |
NETHERITE |
IronChest.ENABLE_NETHERITE_CHESTS |
其中 isGTNHLoaded = Loader.isModLoaded("dreamcraft")(IronChest.java:56),即装了 DreamCraft(GTNH)时为 true。
[!IMPORTANT]
ENABLE_STEEL_CHESTS/ENABLE_SILVER_CHESTS的字段初始值(IronChest.java:47-48)与cfg.get(...)的默认值一致(true/false),但ENABLE_DARK_STEEL_CHESTS/ENABLE_NETHERITE_CHESTS的字段初始值(false/true)与cfg.get的默认值(isGTNHLoaded/!isGTNHLoaded)不一致。只有在cfg.load()抛出异常提前中断时才会用到字段初始值。
GTNH 上的默认值
| 配置项 | 非 GTNH | GTNH(装了 DreamCraft) |
|---|---|---|
enableSteelChests |
true |
true |
enableSilverChests |
false |
false |
enableDarkSteelChests |
false |
true |
enableNetheriteChests |
true |
false |
因此在 GTNH 上,135 格档只有玄钢箱子存在,下界合金箱子不存在。
影响面
isEnabled()(IronChestType.java:121)只对 STEEL / SILVER / DARKSTEEL / NETHERITE 四个类型返回配置值,其余 8 个常量恒返回 true。因此这 4 个开关无法关闭 Iron Chest、Copper Chest、Gold Chest、Diamond Chest、Crystal Chest、Obsidian Chest、Dirt Chest 9000 里的任何一个。
关闭某个类型会同时导致三件事:
- 方块物品不注册:
registerBlocksAndRecipes里if (typ.isEnabled())跳过 → 该类型不进registredChests缓存,也不GameRegistry.registerCustomItemStack。 - 不进创造模式物品栏:
getSubBlocks里if (type.isEnabled())跳过。 - 相关升级器物品不注册:
ChestChangerType.buildItems要求type.source.isEnabled() && type.target.isEnabled(),任一端关闭则该升级器整体消失。
[!NOTE]
registerBlockIcons里的IronChestType.makeIcons只判isValidForCreativeMode(),不判isEnabled()。所以被关闭的箱子图标仍会被注册,只是没有物品/方块能用到它。
连带影响:配方与存档重映射
| 受影响者 | 连带效果 |
|---|---|
IRON 的 recipeUpgradeOneTier |
若 STEEL 关闭则 tier 3 只剩 SILVER,8 铁锭围铁箱子的配方少一条(SILVER 也关则一条都没有) |
GOLD 的 recipeUpgradeOneTier |
同理,tier 3 候选按开关增减 |
DIAMOND / CRYSTAL 的 recipeDirect |
tier 5 候选固定为 3 个(都不受开关控制),不受影响 |
DARKSTEEL 的 recipeUpgradeOneTier |
tier 5 候选固定 3 个(钻石/水晶/黑曜石都不受开关控制),不受影响 |
NETHERITE 的 recipeUpgradeOneTier |
tier 5 且 resistance >= 1 → 只有黑曜石,不受开关控制 |
missingMapping 旧名重映射 |
STEEL / DARKSTEEL / NETHERITE 三个开关直接决定走哪条重映射分支 |
各开关对应的升级器
[!WARNING]
IRON与WOOD之间、COPPER与WOOD之间等不含这四种箱子的升级器不受影响,永远存在。
数值
| 数值 | 默认值 | 说明 |
|---|---|---|
| 可配置关闭的箱子数 | 4 / 11 | 仅 steel / silver / darksteel / netherite |
| 恒存在的箱子数 | 7 / 11 | iron / gold / copper / diamond / crystal / obsidian / dirtchest9000 |
相关条目
- Iron Chest 方块 - 宿主方块
- Steel Chest · Silver Chest · Dark Steel Chest · Netherite Chest - 4 个可被关闭的箱子
- 升级黑名单 - 另一个能阻止升级器存在的配置项
- 猫与箱子行为 · 透明箱子渲染 - 其余配置项