Stone Wand
BetterBuildersWands 的基础级魔杖。
基本信息
| 属性 | 值 |
|---|---|
| 物品 ID | betterbuilderswands:wandStone |
| 物品类 | ItemRestrictedWandBasic |
| 最大耐久 | 131(ToolMaterial.STONE.getMaxUses()) |
| 配方 | cobblestone + stickWood(对角线形) |
| 默认锁定模式 | HORIZONTAL |
面锁定 getFaceLock() |
恒为 HORIZONTAL |
| 默认流体锁定模式 | STOPAT(不可更改) |
IWand 实现 |
RestrictedWand(5) |
| 单次方块上限 | 5 |
行为
Stone Wand 使用 RestrictedWand(5) 实现,每次放置方块消耗 1 点耐久。
最大可放置方块数量为 Math.min(131 - damage, 5) —— 由于 blocklimit 只有 5,
远小于耐久上限 131,Stone Wand 的单次上限永远是 5,与耐久无关。
锁定模式
Stone Wand 的锁定模式在首次切换时固定为 HORIZONTAL:
| 切换动作 | 锁定模式 |
|---|---|
| 初始/默认 | HORIZONTAL |
| 模式切换 | HORIZONTAL(不可更改) |
Stone Wand 的锁定模式不可更改,始终为
HORIZONTAL。ItemRestrictedWandBasic.nextMode()直接setMode(itemStack, EnumLock.HORIZONTAL), 按多少次都是同一个值。
面锁定:只能盖平面
ItemRestrictedWandBasic.getFaceLock() 恒返回 HORIZONTAL。结合
HORIZONTAL 的方向模式,意味着 BFS 的种子判定永远拒绝顶面/底面:
- ✅ 点方块的侧面 → 铺出一层 3×3 的水平面
- ❌ 点方块的顶面或底面 → 一个方块都不会放
这是 Stone Wand 只能盖平面的根本原因,详见 BFS 方块扩展算法 的种子判定一节。
流体锁定
| 模式 | 说明 | 可达 |
|---|---|---|
STOPAT |
遇到流体时停止放置 | ✅ 默认 |
IGNORE |
穿过流体放置 | ❌ 不可达 |
ItemRestrictedWandBasic.nextFluidMode()无条件写回STOPAT, 因此按下流体模式热键不会有任何效果。
配方
[ ] [ ] [C]
[ ] [S] [ ]
[S] [ ] [ ]
C= 圆石(cobblestone)S= 木棒(stickWood)
源码为 new ShapedOreRecipe(itemStoneWand, " H", " S ", "S ", 'S', "stickWood", 'H', "cobblestone"),
是一个从右上到左下的对角线形状,不是 L 形。
可通过配置文件禁用:enable_stone_wand=false
耐久消耗
| 触发 | 消耗 |
|---|---|
| 成功放置 1 个方块 | 1 |
| 左键破坏方块 | 2 |
| 攻击实体 | 2 |
| 切换模式 / 流体模式 | 0 |
canHarvestBlock() 恒返回 false,魔杖不能用来挖方块采集材料。
耗尽时 stackSize = 0,物品直接消失(不会破碎掉落)。
相关条目
- 魔杖等级系统 - 四根魔杖的完整对比
- BFS 方块扩展算法 - 种子判定与九道过滤
- EnumLock -
HORIZONTAL的掩码定义 - 魔杖物品通用行为 - 通用属性与 NBT 结构