Netherite Chest(下界合金箱子)
基本信息
| 属性 | 值 |
|---|---|
| 注册名 | IronChest:BlockIronChest @ metadata 8 |
| metadata 来源 | IronChestType.NETHERITE.ordinal() |
| 显示名 | tile.ironchest:NETHERITE.name = Netherite Chest(zh_CN:下界合金箱子) |
| 枚举常量 | NETHERITE |
| TileEntity | cpw.mods.ironchest.TileEntityNetheriteChest(唯一实现 super(IronChestType.NETHERITE)) |
| 硬度 | 3.0F(与其他变体相同) |
| 爆炸抗性 | 是(resistance = 1)→ getExplosionResistance() 返回 10000.0F |
| 容量 | 135(size = 135)——全 mod 最大 |
| 槽位形状 | 135 / 15 = 9 行 × 15 列 |
| 物品栏堆叠上限 | 64 |
| GUI 尺寸 | 292 × 256(GUIChest.GUI.NETHERITE)——全 mod 最宽的 GUI |
| GUI 贴图 | ironchest:textures/gui/netheritecontainer.png |
| 箱子等级 | tier = 6(与玄钢并列) |
| 材质 | ingotNetherite |
| 物品过滤 | 无 |
| 是否配置可关 | 是 — 配置项 enableNetheriteChests,默认 !isGTNHLoaded(GTNH 上默认关闭) |
15 列:全 mod 最宽
rowLength = 15 是枚举里的最大值,与 Dark Steel Chest 并列。135 格 9×15 的 GUI 因此是 292 像素宽(对比钻石档 238、金箱 184),是 mod 里最宽的界面。
netheritecontainer.png 同时被 GUI.NETHERITE 和 GUI.DARKSTEEL 使用,且 drawGuiContainerBackgroundLayer 对这两个 GUI 不走 drawTexturedModalRect,而是手工用 Tessellator.addVertexWithUV 画一张 0~1 UV 的四边形:
if (type == GUI.NETHERITE || type == GUI.DARKSTEEL) { /* Tessellator 手绘 */ return; }
这是因为 292×256 的 GUI 超过了标准 GUI 贴图拼接方式能覆盖的范围。
抗爆
resistance = 1 → isExplosionResistant() 为 true → BlockIronChest.getExplosionResistance 返回 10000.0F。它与 Obsidian Chest 是全 mod 仅有的两个抗爆箱子。
配方
| 字段 | 值 | 实际生成的配方 |
|---|---|---|
recipeDirect |
null |
无直做配方——下界合金箱子没有任何"从零合成"的路径 |
recipeUpgradeOneTier |
"OOOmPmOOO" → OOO/mPm/OOO |
8 下界合金锭围 1 个 抗爆 tier 5 箱子 |
recipeUpgradeTwoTiers |
"OOOOPOmmm" → OOO/OPO/mmm |
上排 OOO 黑曜石 / 中排 OPO 黑曜石+同级 tier4 箱子+黑曜石 / 下排 mmm 下界合金 —— 但见下,实际不生成 |
recipeUpgradeOneTier 走 getRegistredChestsByTier(NETHERITE, 5, 1)(typ.resistance = 1)。tier 5 有 3 个箱子(钻石 0 / 水晶 0 / 黑曜石 1),筛选条件 typ.resistance >= 1 只留黑曜石箱子。
[!IMPORTANT] 这是
resistance字段最实质的规则:下界合金箱子只能从黑曜石箱子(抗爆)升上来。钻石箱子 108 格和水晶箱子 108 格虽然容量相同、等级相同,却因为resistance = 0被过滤掉,无法作为配方中心。必须先有黑曜石箱子。
recipeUpgradeTwoTiers 走 getRegistredChestsByTier(NETHERITE, 4, 1),tier 4 只有 GOLD(resistance = 0)→ 筛选条件 resistance >= 1 不满足,返回空数组,不生成任何配方。所以 'P' 那条路径在非 GTNH 环境下也是死的。玄钢箱子(resistance = 0)走同样的字符串常量就能正常生成这一条——两条路径的差异完全来自 resistance。
[!NOTE] 以上所有配方路径只在未加载 GTNH 时执行。在 GTNH(
Loader.isModLoaded("dreamcraft"))上本 mod 一条配方都不注册。
升级关系
来源:
| 来源 | 形态 | 说明 |
|---|---|---|
| Obsidian to Netherite Chest Upgrade | OOO/msm/OOO |
8 下界合金锭围黑曜石箱子 |
配方 recipeUpgradeOneTier |
OOO/mPm/OOO |
同形态,仅黑曜石箱子可用 |
去向:无。ChestChangerType 里没有任何 target == NETHERITE 之外的、source == NETHERITE 的条目——下界合金箱子是 135 格的终点,无法再升级。
存档兼容
IronChest.missingMapping:
| 条件 | 旧存档名 | 重映射到 |
|---|---|---|
DARKSTEEL.isEnabled()(GTNH 上默认 true) |
IronChest:obsidianNetheriteUpgrade |
diamondDarkSteelUpgrade |
NETHERITE.isEnabled()(非 GTNH 上默认 true) |
IronChest:diamondDarkSteelUpgrade |
obsidianNetheriteUpgrade |
两者用 if / else if 串联,先判 DARKSTEEL。在 GTNH 上 ENABLE_DARK_STEEL_CHESTS = true 且 ENABLE_NETHERITE_CHESTS = false,所以旧存档的 obsidianNetheriteUpgrade 会被重映射成 diamondDarkSteelUpgrade(即"黑曜石→玄钢"升级器)。
NBT 字段
Items(TAG_Compound 列表,每项含 Slot byte)、facing(byte)。TileEntityNetheriteChest 无覆写。
渲染
| 事项 | 值 |
|---|---|
| 方块图标 | ironchest:netherite_top / netherite_front / netherite_side |
| 模型贴图 | ironchest:textures/model/netheritechest.png(注意文件名少一个 e) |
| GUI 贴图 | ironchest:textures/gui/netheritecontainer.png(与玄钢共用) |
| GUI 绘制 | Tessellator 手绘,非标准贴图拼接 |
| 透明内容显示 | 否 |
相关条目
- Iron Chest 方块 - metadata 与抗爆机制
- ItemIronChest - 物品形态
- Obsidian Chest - 唯一的合法来源
- Obsidian to Netherite Chest Upgrade
- 箱子类型开关 -
enableNetheriteChests在 GTNH 上默认关闭