自定义实体行走路径

By MCSugar_cane    2017/10/21

通过少量的指令使玩家可以在游戏中自定义任意实体的行走路径,代码适用版本为1.11.2

为实体指定路径演示地图


实体指定路径动态图

图片就介绍到这里,下面是思路以及代码部分~


整体思路:

实体简单的平面运动基于4各方向,而楼梯这个方块又恰好满足4个不同的方向放置后有不同的数据值,所以将他们综合起来,就可以实现为实体制作路径的想法啦!

为了方便辨别方位,你面对着正方向放一个楼梯后,实体则会向你背后的方向运动。


代码:

4方位:

  1. /execute @e[tag=leader] ~ ~ ~ detect ~ ~-2 ~ minecraft:stone_brick_stairs 3 /tp @e[c=1] ~ ~ ~0.125
  2. /execute @e[tag=leader] ~ ~ ~ detect ~ ~-2 ~ minecraft:stone_brick_stairs 2 /tp @e[c=1] ~ ~ ~-0.125
  3. /execute @e[tag=leader] ~ ~ ~ detect ~ ~-2 ~ minecraft:stone_brick_stairs 1 /tp @e[c=1] ~0.125 ~ ~
  4. /execute @e[tag=leader] ~ ~ ~ detect ~ ~-2 ~ minecraft:stone_brick_stairs 0 /tp @e[c=1] ~-0.125 ~ ~

实体向4方位朝向:

  1. /execute @e[tag=leader] ~ ~ ~ detect ~ ~-2 ~ minecraft:stone_brick_stairs 3 /entitydata @e[c=1] {Rotation:[0f,0f]}
  2. /execute @e[tag=leader] ~ ~ ~ detect ~ ~-2 ~ minecraft:stone_brick_stairs 2 /entitydata @e[c=1] {Rotation:[180f,0f]}
  3. /execute @e[tag=leader] ~ ~ ~ detect ~ ~-2 ~ minecraft:stone_brick_stairs 1 /entitydata @e[c=1] {Rotation:[-90f,0f]}
  4. /execute @e[tag=leader] ~ ~ ~ detect ~ ~-2 ~ minecraft:stone_brick_stairs 0 /entitydata @e[c=1] {Rotation:[90f,0f]}

此外,设置好路径后,只需在楼梯下放置一个命令方块并执行其中召唤一个NoAI:1,具有leader标签的实体即可。代码如下:

  1. summon Zombie ~ ~2.5 ~ {NoAI:1,Tags:["leader"]}


欢迎加群交流划水:481528679