储罐升级:玻璃>铜
基本信息
| 属性 | 值 |
|---|---|
| 注册名 | irontank:glassCopperUpgrade |
| 未本地化名 | item.irontank:glassCopperUpgrade |
| 本地化名 | 储罐升级:玻璃>铜(zh_CN.lang) |
| 类 | com.indemnity83.irontank.item.ItemTankChanger |
| 绑定等级 | TankChangerType.GLASSCOPPER(TankChangerType.java:32) |
| 源等级 | TankType.GLASS(BuildCraft 原版储罐) |
| 目标等级 | TankType.COPPER |
| 最大堆叠 | 1(ItemTankChanger:29) |
| 耐久 | 无(构造器未调 setMaxDamage,默认不可损坏) |
| 附魔适用 | 是(继承 Item,未覆写附魔适用性) |
功能
把已放置的 BuildCraft 原版储罐方块升级为 铜储罐。这是 13 个升级器里两个"玻璃"入口之一(另一个是 玻璃>铁)。
核心差异:13 个升级器中只有这 2 个在 onItemUseFirst 里走 else if (worldTile instanceof TileTank) 分支(ItemTankChanger:126-130),即直接作用在 BuildCraft 原版储罐上;其余 11 个只认 TileIronTank。
为什么枚举里要有 GLASS:TankType.GLASS 的 capacity = 0、name = ""、没有注册任何方块(ModBlocks 不含它),它纯粹是一个标记值,让 canUpgrade(GLASS) 这个判定能表达"BuildCraft 原版储罐"。
实际使用场景:开局只有 BuildCraft 储罐、还没做过任何 Irontanks 储罐时的两个入口之一。选它得到 27 桶(成本最低),选 玻璃>铁 得到 32 桶。
使用限制:只对 BuildCraft 原版储罐方块有效。对本 mod 的任何储罐方块右键完全无效且不消耗(canUpgrade(GLASS) 不匹配)。对其他 mod 的储罐也无效。
使用方式
| 使用方式 | 触发条件 | 使用效果 | 条件/限制 |
|---|---|---|---|
右键方块(onItemUseFirst) |
目标 TileEntity 是 BuildCraft TileTank(原版储罐) |
流体原样搬入新的铜储罐 TileEntity;方块替换为 irontank:copperTank;消耗 1 个 |
客户端不预测(world.isRemote 直接 return false),只有服务端生效 |
| 右键非储罐方块 | — | 无事发生,不消耗 | ItemTankChanger:131-132 返回 false |
| 右键本 mod 的储罐 | — | 无事发生,不消耗 | canUpgrade(GLASS) 不匹配任何 TankType 储罐 |
不需要先倒空储罐 —— 代码直接搬运 tank.getFluid()(:136),空罐满罐都能用。
合成配方
TankChangerType.GLASSCOPPER.recipe = {"3c3", "zjz", "rcv"}:
[ 3 3 3 ]
[ z j z ]
[ r c v ]
| 字母 | 物品 | 矿石字典 / 来源 |
|---|---|---|
3 |
铜螺丝 | screwCopper ×2(目标等级的材料) |
c |
铜双层板 | plateDoubleCopper(目标等级) |
j |
玻璃板 | plateGlass(源等级 = 玻璃的标记) |
z |
玻璃板 | paneGlass ×2(两侧) |
r |
硬锤 | craftingToolHardHammer(必消耗) |
v |
螺丝刀 | craftingToolScrewdriver(必消耗) |
结构:顶行 = 目标等级的双层板 + 目标等级螺丝,中行 = 源等级材料板,底行 = 硬锤 + 螺丝刀。13 个升级器配方结构完全一致。
⚠️
TankType.GLASS.materials写的是blockGlass(玻璃方块),但配方实际用plateGlass(玻璃板)—— 两处不一致,但因materials是死字段(addRecipe的'x'/'y'槽在 13 条配方串里从未出现),不影响合成结果。另注:配方串不含
'x'/'y',所以addRecipe()里source.materials × target.materials的双重循环只跑 1 次。
数值
| 属性 | 值 |
|---|---|
| 源容量 | 0 桶(TankType.GLASS;BuildCraft 原版储罐自身容量由 BuildCraft 决定,不在本仓库内) |
| 目标容量 | 27 桶 = 27000 mB |
| 容量变化 | +27 桶 |
| 目标硬度 / 抗爆 | 4.0 / 2.0 |
| 失败时是否消耗 | 否 |