首先是怪物移动系统。这个设计比较简单:使用台阶来控制怪物的移动。因为台阶可以放4个方位(中续器,比较器那些也可以),所以台阶的一个方位就控制一个方向。台阶的唯一不同的就是他的Damage。每个不同的方位,拥有不同的Damage。之后MC1.8后又出了个/execute,还可以探测方块。所以使用/execute+台阶的独特方位,可以做出怪物传送带。
怪物传送带本人这里就只有8个指令方块控制。4个是控制往龙的底下放置一个方位的台阶,然后其他4个就是使用/tp指令,不停地把龙往那个方位TP,达到移动效果。有4个方位,所以每个4个指令方块。指令方块内的指令是:
代码
/execute@e[type=MinecartRideable,name=EnderDragonControl]~~~/fill~1~-50~~-1~-50~minecraft:quartz_stairs0replace
以上这条指令是控制往西边走的方位。把一个叫“EnderDragonControl”的矿车(龙骑着的矿车),下面50格放满往西面的台阶。之后就是传送:
代码
/execute@e[type=MinecartRideable,name=EnderDragonControl]~~~detect~~-50~minecraft:quartz_stairs0/tp@e[type=MinecartRideable,name=EnderDragonControl]~-0.5~~
探测一个叫“EnderDragonControl”的矿车,下面50格有没有一个西面的台阶。如果有那就向西面TP0.5格。由于是高速脉冲,所以在极快的速度下,每次TP0.5格,速度还算挺快了。要在快可以自己调,但是别太大,到时看起来太假。
之后,龙固定住的原理还是使用龙骑矿车这个技巧。反正龙的结构就是:矿车,龙,矿车。上面的矿车是骑着用的,可以换成船什么,或者一个带着马鞍的猪(未测试)。
之后又出现了个问题:由于龙的走位都被限制住了,导致了龙无法自由的飞。所以如果一直这样向前TP0.5格的话,那么龙会渐渐的下降。就像一个降落的飞机。所以我们需要有方块支撑物,让龙可以在支撑物上移动。举个指令的例子:
代码
/execute@e[type=MinecartRideable,name=EnderDragonControl]~~~/fill~~-1~~~-1~minecraft:glass0replaceminecraft:air0
这个指令是,不断的把一个叫“EnderDragonControl”矿车下面放玻璃。所以是龙走到哪放到哪。之后天空可能会放满玻璃导致不好看,所以我们还要把玻璃清空。主要是使用:
代码
/execute@e[type=MinecartRideable,name=EnderDragonControl]~~~/fill~~-1~~5~-1~minecraft:air0replaceminecraft:glass0
这条指令把龙后面和下面5格的玻璃都换成空气,达到清空的效果。