跳到正文
烈焰甘蔗Wiki

BetterBuildersWands

[!INFO] Git Commit: a39985b | Updated: 2026-08-23 | Minecraft 1.7.10 / Forge 10.13.4.1614

BetterBuildersWands 是一个纯物品的建筑辅助模组:右键一个方块,魔杖会沿着你 点中的那个面用 BFS(广度优先搜索)批量铺开同类方块。它不注册任何方块、实体、 附魔、维度或世界生成 —— 全部内容就是 4 根魔杖和围绕它们的机制系统。

模组 id betterbuilderswands,作者 Portablejim,当前为 GTNewHorizons 的 fork。

物品

本 mod 只注册 4 个物品,全部继承 ItemBasicWand:

注册名 物品类 IWand 实现 最大耐久 单次方块上限
wandStone ItemRestrictedWandBasic RestrictedWand(5) 131 5
wandIron ItemRestrictedWandAdvanced RestrictedWand(9) 250 9
wandDiamond ItemUnrestrictedWand RestrictedWand(1561) 10000(可配) 1561
wandUnbreakable ItemUnrestrictedWand UnbreakingWand() 不掉耐久 4096(按 meta)

核心机制

搜索与放置

枚举与模式

指令

配置

  • Configuration - config/betterbuilderswands.cfg 全部 7 个选项

热键

网络

Mod 集成

模组与 6 个其它 mod 集成,全部通过 Loader.isModLoaded() + @Optional.Method 做可选依赖,未安装时自动失效:

集成 状态 作用
AE2 Integration 有条目 从 ME 网络抽取方块作为材料
Baubles 集成 有条目 无线终端放在饰品栏时也能识别
Botania 集成 有条目 通过 IBlockProvider 从花盆抽方块
Backhand 集成 有条目 用副手方块作为建造目标
ArchitectureCraft 记于 Custom Mapping TileShape 的 NBT 复制
Forestry 记于 Custom Mapping 原木/木板等的 TileWood NBT 复制
ExtraUtilities 记于 Unbreakable Wand meta 4/5/6 的合成链
Ztones 记于 Custom Mapping ofanix 让圆石无限供应

ArchitectureCraft / Forestry / ExtraUtilities / Ztones 的条目已合并进 对应的主条目,未单独建页 —— 它们都是某个既有机制的附带分支, 单独成页会与主条目大量重复。

本 mod 没有的东西

以下内容在源码中不存在(结论均有 grep 证据):

$ grep -rn "registerBlock\|registerTileEntity\|registerEntity\|registerWorldProvider\|registerDimension" src/main/java/
(无输出)
维度 状态 grep 证据
方块 / TileEntity / 多方块结构 ❌ 完全没有 registerBlock、registerTileEntity 均无输出;目录中无 *Block*.java 或 *TileEntity*.java
实体 ❌ 没有 无 Entity*.java 文件;registerEntity、registerModEntity 无输出。魔杖是纯物品
附魔 ❌ 没有 grep -rn "Enchantment|addEnchantment" src/main/java/ 无输出;魔杖也未覆写任何附魔相关方法
维度 / WorldProvider ❌ 没有 registerWorldProvider、registerDimension、DimensionManager 无输出
世界生成 / 群系 ❌ 没有 WorldGen、BiomeGen、registerBiome、IFireCharge 均无输出
PotionEffect / Buff ❌ 没有 grep -rn "Potion" src/main/java/ 无输出
成就 ❌ 没有 Achievement 无输出
结构(Structure) ❌ 没有 唯一与 structure 相关的 TileShape 是 ArchitectureCraft 的方块实体,不是本 mod 注册的结构
NEI / REI / JEI 集成 ❌ 没有 grep -rn "nei|rei|jei|IRecipe|ICraftingHandler" src/main/java/ 无输出。配方全部用原版 GameRegistry.addRecipe 注册,物品浏览器会自动读取
物品效果(Item Effect) ❌ 没有独立条目 魔杖不施加药水效果,唯一的"持续效果"是左键挖/打时掉 2 点耐久(见 魔杖物品通用行为)

特别说明:Wood Wand 并不存在

资源目录里有 assets/betterbuilderswands/textures/items/wandWood.png, 容易让人以为存在木制魔杖。但源码中没有任何引用:

$ grep -rn "wandWood" src/main/java/
(无输出)
  • BetterBuildersWandsMod 只注册 4 个物品:wandStone、wandIron、 wandUnbreakable、wandDiamond
  • en_US.lang 只定义了 4 个物品名:wandBasic、wandAdvanced、 wandUnrestricted、wandUnbreakable
  • wandWood.png 是一个未被使用的残留贴图(上游 fork 时遗留)

betterbuilderswands:wandWood 在游戏中不可获得。 官方 BetterBuildersWands 1.7.10 版曾有木魔杖,GTNH fork 已将其移除, 但没删干净贴图。

死代码

类 状态
shims/BlockShim.java 全项目零调用点。ItemBasicWand.onItemUse 与 BlockEvents 中对应的 getPickBlock 调用均被注释掉
IWorldShim.copyBlock / setBlock / playPlaceAtBlock 接口中声明且有实现,但 WandWorker / BlockEvents 均不调用(放置走 ItemStack.tryPlaceItemIntoWorld)
IPlayerShim.getNextItem BasicPlayerShim 的实现是空循环(for (…) { })后 return null,实际未被调用链使用
EnumLock.fromMask / EnumFluidLock.fromMask 的 mask 0 locks[safeMask - 1] 在 mask 为 0 时越界;调用方有 NOLOCK / STOPAT 兜底所以不会触发

关键机制速查

问题 答案 依据
一次最多放多少方块? min(wand.getMaxBlocks, 背包+花盆+AE2 总数) ItemBasicWand.onItemUse
为什么 Stone Wand 只能盖平面? getMode() 和 getFaceLock() 都恒为 HORIZONTAL,点顶面时种子被拒 BFS 方块扩展算法
为什么切换模式按了没反应? 两个热键都默认 KEY_NONE 未绑定 模式切换热键
撤销命令叫什么? /wandOops(不是 /oo,没有别名) /wandOops Command
钻石魔杖耐久调到 2 万有用吗? 没用,上限被 blocklimit = 1561 卡死 魔杖等级系统
ExtraUtilities 合成链更强吗? 更弱,meta 4/5/6 上限只有 16/32/64,低于默认的 4096 Unbreakable Wand
撤销能恢复 Forestry 原木的树种吗? 不能,只 setBlockToAir,不返还 TileEntity NBT /wandOops Command
浏览全部模组