森林魔杖
基本信息
| 属性 | 值 |
|---|---|
| 注册名 | Botania:twigWand(ModItems.java:279 赋值 new ItemTwigWand()) |
| 物品类 | vazkii.botania.common.item.ItemTwigWand(extends Item16Colors implements ICoordBoundItem) |
| 显示名 | Wand of the Forest(en_US.lang 的 item.botania:twigWand.name) |
| 最大堆叠 | 1(setMaxStackSize(1),ItemTwigWand.java:62) |
| ItemBlock | 无(纯物品类) |
| 配套透镜 | 22 种,见 魔力透镜 |
功能
森林魔杖(Wand of the Forest)是 Botania 的标志性工具,也是整个魔力量子系统的玩家入口:
- 左键发射法力爆裂(mana burst),可安装透镜改变行为
- 右键发射"火花"(spark),用于给方块与实体充能
- 潜行右键旋转方块
- 绑定坐标:实现
ICoordBoundItem,可绑定到支持IWandBindable的 TileEntity
数值
| 数值名 | 值 | 来源 |
|---|---|---|
| 最大堆叠 | 1 | ItemTwigWand.java:62 |
| 透镜槽位数 | 1 | 对应左键,ItemLens 的 meta 即透镜种类 |
| 绑定坐标 NBT | boundTileX / boundTileY / boundTileZ |
ItemTwigWand.java:56-58 |
| 绑定模式 NBT | bindMode |
ItemTwigWand.java:59 |
| 颜色 NBT | color1 / color2 |
ItemTwigWand.java:54-55 |
交互
| 触发 | 行为 |
|---|---|
| 左键 | 发射法力爆裂(ItemLens 决定属性);射线绘制受配置 wandBeam.static 影响(默认 false,ConfigHandler.java:159) |
| 右键 | 发射火花,命中 IWandBindable 的方块时尝试绑定 |
| 潜行 + 右键方块 | 旋转方块:block.rotateBlock(world, x, y, z, ForgeDirection.getOrientation(side));客户端 player.swingItem()(ItemTwigWand.java:81-85) |
| 潜行 + 右键已绑定方块 | 解除绑定:若 boundTile.posY != -1 且玩家潜行且目标不是绑定位置,取该 TileEntity,若为 IWandBindable 则 bindTo(player, stack, x, y, z, side);成功后在旧绑定位置与新位置之间绘制粒子束(doParticleBeam),再 setBoundTile(stack, 0, -1, 0) 清空绑定(ItemTwigWand.java:70-79) |
潜行 + 右键非 IWandBindable |
直接 setBoundTile(stack, 0, -1, 0) 解除绑定(ItemTwigWand.java:79) |
| 右键青金石块 | 转为魔力附魔台,见下 |
青金石块转附魔台
ItemTwigWand.onItemUse 中有一段特殊逻辑(ItemTwigWand.java:88-110):
if(block == Blocks.lapis_block && ConfigHandler.enchanterEnabled) {
int meta = -1;
if(TileEnchanter.canEnchanterExist(world, x, y, z, 0)) meta = 0;
else if(TileEnchanter.canEnchanterExist(world, x, y, z, 1)) meta = 1;
if(meta != -1 && !world.isRemote) {
world.setBlock(x, y, z, ModBlocks.enchanter, meta, 1 | 2);
player.addStat(ModAchievements.enchanterMake, 1);
world.playSoundEffect(x, y, z, "botania:enchanterBlock", 0.5F, 0.6F);
// 生成 50 个随机颜色粒子
}
}
两个 meta 分别对应附魔台的两种形态(0 与 1),由 TileEnchanter.canEnchanterExist(world, x, y, z, meta) 判定环境是否合法。
受配置 manaEnchanter.enabled 控制(默认 true,ConfigHandler.java:255)。关闭后青金石块不再被转化。
合成配方
无法核实 —— 本次核查未读取 ModCraftingRecipes 中 twigWand 对应的配方行,不做推断。
相关条目
- 魔力透镜 - 安装在魔杖左键的透镜系统
- 魔力方块组 - 附魔台与火花升级器
- 配置文件 -
wandBeam.static、manaEnchanter.enabled - Lexica Botania - 魔杖说明位于"基础"分类