储罐升级:钻石>黑曜石

基本信息

属性 值
注册名 irontank:diamondObsidianUpgrade
未本地化名 item.irontank:diamondObsidianUpgrade
本地化名 储罐升级:钻石>黑曜石(zh_CN.lang)
类 com.indemnity83.irontank.item.ItemTankChanger
绑定等级 TankChangerType.DIAMONDOBSIDIAN(TankChangerType.java:33)
源等级 TankType.DIAMOND
目标等级 TankType.OBSIDIAN
最大堆叠 1(ItemTankChanger:29)
耐久 无(构造器未调 setMaxDamage)
附魔适用 是(继承 Item,未覆写附魔适用性)

功能

把已放置的 钻石储罐 升级为 黑曜石储罐。

核心差异 —— 全系唯一"不改变容量"的升级器:

  • 源容量 64 桶 → 目标容量 64 桶(DIAMOND 与 OBSIDIAN 是 10 个等级里唯一容量并列的一对)。其余 12 种升级器容量全部严格增加。
  • 玩家花材料换的是抗爆 6.0 → 6000000.0(100 万倍)和硬度 8.0 → 50.0,不是更多容量。
  • 顶行 5o5 用钻石螺丝 + 致密黑曜石板;这与 钻石储罐 方块配方的顶行(5d5)不同 —— 升级器把黑曜石板放在顶行,方块配方把它放在底行。

实际使用场景:怕爆炸(高塔旁的满液储罐、爆炸活塞区域)时,把已建好的 64 桶钻石储罐就地升级成防爆罐,不用重新规划布局、不用搬运流体(代码直接搬 tank.getFluid(),:136)。

重要限制:黑曜石储罐是升级树终点 —— 没有任何 TankChangerType 以 OBSIDIAN 为 target。所以这一步是单向门,升上去就再也换不成 96 桶的 铝储罐 了。想要大容量走 钻石>铝,想要防爆走本升级器,两者互斥。

使用方式

使用方式 触发条件 使用效果 条件/限制
右键方块(onItemUseFirst) 目标 TileEntity 是 TileIronTank 且 type == DIAMOND 流体原样搬入新黑曜石储罐;方块替换为 irontank:obsidianTank;消耗 1 个 客户端不预测(world.isRemote 直接 return false)
右键其它等级储罐 — 无事发生,不消耗 严格相等判定不匹配
右键非储罐方块 — 无事发生,不消耗 ItemTankChanger:131-132

不需要先倒空储罐。因为 64 → 64 容量完全相等,流体无论多少都能原样搬过去,不会溢出丢失 —— 这是本升级器与其它升级器同等的"无需清空"保证。

合成配方

TankChangerType.DIAMONDOBSIDIAN.recipe = {"5o5", "zdz", "rov"}:

[ 5  5  5 ]
[ z  d  z ]
[ r  o  v ]
字母 物品 矿石字典 / 来源
5 钻石螺丝 screwDiamond ×2(与源等级同材料)
o 致密黑曜石板 plateDenseObsidian(目标等级)
d 钻石板(单层) plateDiamond(源等级 = 钻石的标记)
z 玻璃板 paneGlass ×2(两侧)
r 硬锤 craftingToolHardHammer(必消耗)
v 螺丝刀 craftingToolScrewdriver(必消耗)

结构:顶行 = 目标等级材料 + 目标等级螺丝,中行 = 源等级材料板,底行 = 硬锤 + 螺丝刀。

⚠️ 本配方是唯一中行与顶行都用到源/目标同级材料的情况:顶行是黑曜石(目标),中行是钻石(源),两个等级的字母恰好都是 5(钻石螺丝)与 d/o。

另注:配方串不含 'x'/'y',addRecipe() 的材料双重循环只跑 1 次。详见 储罐升级器共用机制。

数值

属性 值
源容量 64 桶 = 64000 mB
目标容量 64 桶 = 64000 mB(容量不变)
源硬度 / 抗爆 8.0 / 6.0
目标硬度 / 抗爆 50.0 / 6000000.0
失败时是否消耗 否

相关条目