大家知道村民怕僵尸,所以只要玩家带上僵尸的头颅,也可以把村民吓跑。不光是村民和僵尸,也可以带上Endermite的头颅,然后把附近的Enderman都拉来,或者带上狗的头颅,把附近的骷髅的吓跑。
这个机器十分简化,截图:
OK。这个东西是用指令方块完成的。原理就是,当玩家带上某个头颅后,就会把某个生物不断地TP到玩家的位置。这样子,把僵尸TP到玩家这里时,周围的村民会被吓跑。所有TP到玩家地方的生物都是隐身+无敌的,而且僵尸什么也不会攻击玩家,所以十分安全。当玩家拿下头颅后,就会有/kill指令把生物杀死。不过缺点是会听见僵尸的叫声,脚步声等等
进入教程。这个机器需要一个红石脉冲。本人使用的是/fill脉冲,和/setblock差不多,不过脉冲范围十分大。脉冲就不多详细讲解了。首先是探测玩家有没有带上某个头颅,使用MC1.8的新{Inventory}NBT完成。指令:
/testfor @p
{Inventory:[{Slot:103b,id:"minecraft:skull",Damage:2s,tag:{display:{Name:"Scare_Villager"}}}]}
这个是探测有没有玩家带着一个叫“Scare_Villager”的头颅。Inventory这个dataTag我就不多说了,主要是探测玩家的背包里有没有这个物品。Inventory里加入了Slot:103b,所以玩家要带上头颅才能探测得到。具体我不多说了,以前发过Inventory的教程。
OK,第一步完成了。探测玩家带的头颅,并且给出输出。之后就是要刷出一个隐身的自定义名字僵尸,用来吓跑村民。指令:
/summon Zombie ~ ~1 ~
{ActiveEffects:[{Id:14,Ambient:-1,Duration:999999}],CustomName:"Scare_Villager",Attributes:[{Name:generic.attackDamage,Base:-5}],Invulnerable:1}
这条指令刷出一个叫“Scare_Villager”的僵尸,并且拥有隐身的属性,还有-5的攻击,所以是不会攻击玩家的。僵尸也是无敌,以防在白天被烧死。
之后一步就是要不停地把僵尸TP到玩家的位置。这个需要一个脉冲,因为并不是TP一次,而是不停地TP。僵尸TP到玩家位置的指令就是:
/tp @e[type=Zombie,name=Scare_Villager] @p
这条指令把一个叫“Scare_Villager”的僵尸TP到玩家。本人是直接用一个/setblock指令把一个指令方块放置在高速脉冲里面,所以整个机器就只有一个脉冲。玩家也可以自己做第二个脉冲。之后就是当玩家拿下头颅后生物就会死。这个十分简单,用一个红石火把反转信号就可以了。指令是:
/kill @e[type=Zombie,name=Scare_Villager]
把一个叫“Scare_Villager”的僵尸杀掉。用红石火把反转信号,所以,当玩家带上头颅后,并不会激活,当玩家拿下头颅,就会杀死僵尸。
完毕。