烧制黏土桶 Clay Bucket (Fired)

未烧制桶 熔炼后的空桶,是整套黏土桶体系的通用空容器。

  • 注册名:clayBucketFired
  • 类:iguanaman.iguanatweakstconstruct.claybuckets.items.ClayBucket → BaseClayBucket → net.minecraft.item.ItemBucket
  • 内容方块:minecraft:air(空桶)
  • 本地化名:iguana.tcon.clayBucketFired
  • 纹理:iguanatweakstconstruct:clayBucketFired
  • 堆叠上限:16
  • 容器物品:自身(BaseClayBucket 构造器设为 IguanaItems.clayBucketFired)

交互

BaseClayBucket 覆写 onItemRightClick:

  1. 先调用父类 ItemBucket.onItemRightClick(放置 / 装填);
  2. 若父类返回的物品是原版 minecraft:bucket,则替换为 getEmptyBucket(itemStack);
  3. BaseClayBucket.getEmptyBucket 直接返回 getContainerItem(itemStack),即烧制黏土桶。

因此用烧制桶右键液体时,原版逻辑会顺手把铁桶换成黏土桶——玩家永远拿不到铁桶。

特殊交互

claybuckets/ClayBucketHandler 为烧制桶追加了两条与 Tinkers’ 无关的原版便利行为:

  • 挤奶:右键牛(EntityInteract)时,桶被消耗为 1 个 黏土牛奶桶;背包满则掉落在地上。
  • 就地装填熔融金属:bucketFill(FillBucketEvent,优先级 HIGHEST)命中 tile.blockFuel、tile.blockOil、tile.railcraft.fluid.creosote 三个方块时,把结果强制设为烧制桶并 DENY 事件,避免原版逻辑把燃料/油装进铁桶。

相关