跳到正文
烈焰甘蔗Wiki

Cooper’s Mallet

基本信息

属性 值
注册名 etfuturum:coopers_mallet
最大堆叠 1
附魔适用 是
耐久度 无

功能

Cooper’s Mallet(库珀之锤)是一个在容器 GUI 之间搬运物品的工具,而不是「升级容器等级」的工具。

⚠️ 已订正 —— 原文的「升级路径」整段是编造的,工具的真实功能写反了。 原文声称锤子能把「箱子 → 铜箱 → 铁箱 → 金箱 → 钻石箱 → 下界合金箱」、 「木桶 → 暗色钢木桶 → 下界合金木桶」。源码中不存在这条升级链; 那些名字其实来自 TileEntityBarrel.BarrelType 枚举(见 …/block/barrel), 与锤子的逻辑无关。

真实行为见 items/ItemCoopersMallet.java:63-91 的 onItemUseFirst(...):

  1. 玩家手持锤子右键点击一个容器方块(箱子或 EFR 木桶)
  2. 工具读取该方块的 Existing 槽位状态(read(world,x,y,z))
  3. 遍历玩家物品栏中由 swapSlots(player) 选出的若干槽位(主手槽 + 副手/快捷栏相邻槽, 副手常量为 OFFHAND = -1)
  4. 若该槽位持有容量等于或大于原容器的另一个容器,就执行 swap(...): 把原容器的物品搬进新容器,同时把新容器搬到方块位置, 旧容器作为物品返还到玩家手上(pay(player, slot, held, from.drop()))
  5. 容器的自定义名字会一并搬运(setName,对 TileEntityBarrel 调 setCustomName, 对 TileEntityChest 调 func_145976_a)

也就是说它只在「搬运/更换容器」层面工作,不改变方块类型,也不提升容量上限; 类注释写明「Replacement must be equal in capacity or larger」(替换品容量必须相等或更大)。

跨模依赖

  • Iron Chests:仅在 ModsList.IRON_CHEST.isLoaded() && ConfigModCompat.barrelIronChest 时启用对 Iron Chests 箱子的命名处理 (items/ItemCoopersMallet.java:275 ironChestEnabled())。 未安装该模组时相关分支不生效。
  • Backhand:ModsList.BACKHAND.isLoaded() 为真时显示不同提示文本 (ItemCoopersMallet.java:49-53)。
  • hasAdjacentChest(...) 会在方块四邻检查原版箱子,用于判定相邻容器关系 (ItemCoopersMallet.java:279-282)。

使用方式

使用方式 触发条件 使用效果
右键点击容器 持有锤子且物品栏有等容或更大容量的容器 把物品搬进新容器并把新容器放到该方块位置
提示信息 悬停显示 显示工具描述(有 Backhand 时为另一条文本)

相关条目

  • Barrel - 木桶方块

配置门控

  • ConfigBlocksItems.enableCoopersMallet,配置键 enableCoopersMallet,默认开启(ON)(configuration/configs/ConfigBlocksItems.java)。
浏览全部模组