跳到正文
烈焰甘蔗Wiki

Diamond Wand

BetterBuildersWands 的高级魔杖,具有较高耐久和全部锁定模式。

基本信息

属性 值
物品 ID betterbuilderswands:wandDiamond
物品类 ItemUnrestrictedWand
IWand 实现 RestrictedWand(EMERALD.getMaxUses()) = RestrictedWand(1561)
最大耐久 配置文件 diamond_wand_durability,默认 10000
配方 gemDiamond + stickWood(对角线形)
默认锁定模式 NOLOCK
面锁定 getFaceLock() 模式为 HORIZONTAL 时为 HORIZONTAL,否则 NOLOCK
默认流体锁定模式 STOPAT
单次方块上限 1561

行为

Diamond Wand 每次放置方块消耗 1 点耐久。最大可放置方块数量为:

Math.min(itemStack.getMaxDamage() - itemStack.getItemDamage(), 1561)

⚠️ 类名有误导性:Diamond Wand 用的物品类是 ItemUnrestrictedWand, 但内部装的是 RestrictedWand(会掉耐久)。“Unrestricted” 指的是锁定模式 不受限,不是耐久无限。真正无限耐久的是 Unbreakable Wand。

1561 才是真正的天花板

配置项 diamond_wand_durability 给的是物品最大耐久(默认 10000), 但 blocklimit 被硬编码为 Item.ToolMaterial.EMERALD.getMaxUses() = 1561:

当前耐久 单次上限由谁决定
0 ~ 8439 物品数量(countItems),魔杖本身不构成瓶颈
8440 ~ 9999 剩余耐久,才开始低于 1561

也就是说,把 diamond_wand_durability 调到 1561 以上不会提高单次放置量。 想让上限超过 1561,只能靠 Botania 花盆、AE2 网络等材料来源把 countItems 顶上去 —— 而 countItems 无论多大都会被 min 压到 1561。

锁定模式

Diamond Wand 支持全部 7 种锁定模式,可循环切换:

切换次数 锁定模式 说明
0(默认) NOLOCK 无限制,全方向扩展
1 HORIZONTAL 水平面扩展
2 VERTICAL 垂直方向扩展
3 NORTHSOUTH 南北方向扩展
4 EASTWEST 东西方向扩展
5 VERTICALNORTHSOUTH 垂直+南北
6 VERTICALEASTWEST 垂直+东西
7+ NOLOCK 回到无限制

面锁定:随模式联动

ItemUnrestrictedWand.getFaceLock() 有条件返回:

public EnumLock getFaceLock(ItemStack itemStack) {
    if (getMode(itemStack) == EnumLock.HORIZONTAL) return EnumLock.HORIZONTAL;
    return EnumLock.NOLOCK;
}
当前模式 面锁定 点顶面/底面时
HORIZONTAL HORIZONTAL ❌ 种子被拒,一个都不放
其它 6 种 NOLOCK ✅ 正常放置

所以切到 HORIZONTAL 模式时就变成了"只能点侧面", 与 Stone Wand 的行为一致(但只有这一次切换周期);切走即恢复。

流体锁定

模式 说明 可达
STOPAT 遇到流体时停止放置 ✅ 默认
IGNORE 穿过流体放置(含源块与流动块) ✅ 可切换

ItemUnrestrictedWand.nextFluidMode() 在两者间正常轮转。

配置

Diamond Wand 耐久可通过配置文件调整:

diamond_wand_durability=10000

可通过配置文件禁用配方:enable_diamond_wand=false

配方

[ ] [ ] [D]
[ ] [S] [ ]
[S] [ ] [ ]
  • D = 钻石(gemDiamond)
  • S = 木棒(stickWood)

源码为 new ShapedOreRecipe(itemDiamondWand, " H", " S ", "S ", 'S', "stickWood", 'H', "gemDiamond")。

耐久消耗

触发 消耗
成功放置 1 个方块 1
左键破坏方块 2
攻击实体 2
切换模式 / 流体模式 0

耗尽时 stackSize = 0,物品直接消失(不会破碎掉落)。

相关条目

浏览全部模组