Unbreakable Wand
BetterBuildersWands 的顶级魔杖,具有无限耐久和全部锁定模式。
基本信息
| 属性 | 值 |
|---|---|
| 物品 ID | betterbuilderswands:wandUnbreakable |
| 物品类 | ItemUnrestrictedWand |
IWand 实现 |
UnbreakingWand() |
| 物品最大耐久 | 未设置(setMaxDamage 从未调用,保持 0) |
| 配方 | 下界之星 / ExtraUtilities 建造之杖 + stickWood(对角线形) |
| 默认锁定模式 | NOLOCK |
面锁定 getFaceLock() |
模式为 HORIZONTAL 时为 HORIZONTAL,否则 NOLOCK |
| 默认流体锁定模式 | STOPAT |
| 每次放置消耗耐久 | 0(永不消耗) |
行为
Unbreakable Wand 使用 UnbreakingWand 实现,placeBlock() 直接 return true
而从不调用 damageItem —— 魔杖不会因为放置方块而损坏。
容量由 meta 决定
public int getMaxBlocks(ItemStack itemStack) {
if (itemStack.getItemDamage() <= 0) return 4096;
else return 1 << itemStack.getItemDamage();
}
⚠️ 关键点:Unbreakable Wand 的 ItemStack meta 就是 durability 字段 (
new ItemStack(itemUnbreakableWand, 1, damage)), 所以每个 meta 等级同时决定了它的方块上限。
| Meta | 方块上限 | 推导 |
|---|---|---|
| 0 | 4096 | damage <= 0 特判 |
| 4 | 16 | 1 << 4 |
| 5 | 32 | 1 << 5 |
| 6 | 64 | 1 << 6 |
| 12 | 4096 | 1 << 12 |
| 13 | 8192 | 1 << 13 |
| 14 | 16384 | 1 << 14 |
高阶等级表(与 魔杖等级系统 一致):
| Meta | 名称 | 来源 | 方块上限 |
|---|---|---|---|
| 0 | 默认形态 | 创造模式 / 合成前置 | 4096 |
| 4 | Extra Utilities 建造之杖 | builderswand + 木棒(需装 ExtraUtilities) |
16 |
| 5 | 由 meta 4 合成 | 2 × meta 4(无序) | 32 |
| 6 | 由 meta 5 合成 | 2 × meta 5(无序) | 64 |
| 12 | 创造建造之杖 / 下界之星 | creativebuilderswand + 木棒,或 nether_star + 木棒 |
4096 |
| 13 | 由 meta 12 合成 | 2 × meta 12(无序) | 8192 |
| 14 | 由 meta 13 合成 | 2 × meta 13(无序) | 16384 |
⚠️ 常见误解:ExtraUtilities 合成链的 meta 4/5/6 上限只有 16/32/64, 远低于默认的 meta 0(4096)。这条链不是"更强的魔杖", 而是一组形态受限的变体。真正的强度跃升在 meta 12 → 13 → 14。
meta 4/5/6 只有在同时满足以下条件时才通过
addSubMeta()注册进创造模式物品栏: 安装了 ExtraUtilities 且straymav_ultimate_wand = false(默认值)。 meta 12/13/14 则无条件注册。
锁定模式
Unbreakable Wand 支持全部 7 种锁定模式,可循环切换:
| 切换次数 | 锁定模式 | 说明 |
|---|---|---|
| 0(默认) | NOLOCK |
无限制,全方向扩展 |
| 1 | HORIZONTAL |
水平面扩展 |
| 2 | VERTICAL |
垂直方向扩展 |
| 3 | NORTHSOUTH |
南北方向扩展 |
| 4 | EASTWEST |
东西方向扩展 |
| 5 | VERTICALNORTHSOUTH |
垂直+南北 |
| 6 | VERTICALEASTWEST |
垂直+东西 |
| 7+ | NOLOCK |
回到无限制 |
面锁定:随模式联动
与 Diamond Wand 相同(同一个 ItemUnrestrictedWand 类):
模式为 HORIZONTAL 时 getFaceLock() 返回 HORIZONTAL(点顶面/底面放不出方块),
其余模式返回 NOLOCK。
流体锁定
| 模式 | 说明 | 可达 |
|---|---|---|
STOPAT |
遇到流体时停止放置 | ✅ 默认 |
IGNORE |
穿过流体放置(含源块与流动块) | ✅ 可切换 |
配方
主配方(无 ExtraUtilities 时)
[ ] [ ] [N]
[ ] [S] [ ]
[S] [ ] [ ]
N= 下界之星(Items.nether_star)S= 木棒(stickWood)- 产出 meta 12
ExtraUtilities 配方(装了 ExtraUtilities 且 straymav_ultimate_wand=false)
| 产出 meta | 类型 | 配方 |
|---|---|---|
| 4 | 有序 | builderswand + 木棒(对角线形) |
| 12 | 有序 | creativebuilderswand + 木棒(对角线形) |
| 5 | 无序 | meta 4 + meta 4 |
| 6 | 无序 | meta 5 + meta 5 |
后续无序合成(无条件)
| 产出 meta | 配方 |
|---|---|
| 13 | meta 12 + meta 12 |
| 14 | meta 13 + meta 13 |
⚠️ 高阶配方不受
straymav_ultimate_wand影响:无论是否安装 ExtraUtilities, meta 12/13/14 的合成链都会注册,区别只在于 meta 12 用下界之星还是creativebuilderswand来做。
创造模式物品栏
ItemUnrestrictedWand.getSubItems() 会把 addSubMeta() 注册过的
meta 升序排列后全部列出(meta 0、4、5、6、12、13、14),
而不是只显示一个默认形态。
耐久消耗
| 触发 | 消耗 |
|---|---|
| 成功放置 1 个方块 | 0 |
| 左键破坏方块 | 2(ItemBasicWand.onBlockDestroyed) |
| 攻击实体 | 2(ItemBasicWand.hitEntity) |
| 切换模式 / 流体模式 | 0 |
⚠️ 左键挖方块 / 打生物仍然会掉耐久(各 2 点),这是
ItemBasicWand的通用逻辑,UnbreakingWand只覆盖了placeBlock。由于物品最大耐久为 0, 这些消耗在实际游戏中不产生可见的损坏。
相关条目
- 魔杖等级系统 - 7 个 meta 等级的完整对比
- BFS 方块扩展算法 -
1 << damage如何作用于搜索上限 - Configuration -
straymav_ultimate_wand配置项 - EnumLock - 7 种模式的掩码定义
- 魔杖物品通用行为 - 通用属性与 NBT 结构