森林魔杖

基本信息

属性 值
注册名 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 对应的配方行,不做推断。

相关条目