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 手绘,非标准贴图拼接
透明内容显示 否

相关条目