论mc判订生物死亡方法

发表在    java 10-04 20:29:07

2 2873 4

1.判定生物不存在
2014-06-08_20.19.07.png 
我们生成一个名为Tom的僵尸

  1. /summon Zombie ~ ~1 ~ {CustomName:"Tom",CustomNameVisible:true}

2014-06-08_20.19.20.png 

杀死得命令方块。
2014-06-08_20.34.11.png 

这需要一个高频连接以下部分:

  1. /testfor @e[type=Zombie,name=Tom]

命令讲解:探测Tom僵尸存在。若是,则输出。
非门连接↓

  1. /give @p command_block

命令讲解:反之,给玩家一个命令方块。


优点:简洁明了。
缺点:无法判定多个单位。
推荐指数:★★☆




2.判定掉落物
2014-06-08_20.32.05.png 

首先生成一个能掉落石头的骷髅。其他掉落随便。

  1. /summon Skeleton ~ ~1 ~ {Equipment:[{id:24,Count:6},{id:54,Count:5},{id:5,Damage:4,Count:8},{id:20,Count:5},{id:1,Count:1}],DropChances:[0.0F,0.0F,0.0F,0.0F,1.0F]}

需要注意的是不用掉落的一定是0f
具体教程:PM的刷自定义装备生物

然后需要一个计判:

  1. /scoreboard objectives add tom dummy

2014-06-08_20.33.55.png 

来得到命令方块。

2014-06-08_20.34.18.png 
高频(推荐不是指令方块高频,其脉冲长度大于比较器传输长度)连接下面两个命令方块:

  1. /scoreboard players set @e[type=Item] tom 1 {Item:{id:"minecraft:stone"}}

命令讲解:给石头设置计判为1

  1. /execute @e[type=Item,score_tom_min=1] ~ ~ ~ give @p command_block

命令讲解:石头掉落后给玩家一个命令方块。
延迟↓

  1. /execute @e[type=Item,score_tom_min=1] ~ ~ ~ kill @e[type=Item,score_tom_min=1,r=0]

命令讲解:清除石头

当然我们可以在自定义怪物掉落时添加一些物品标签(tag),来增强判断性


优点:判断性强,可对多个目标同时执行。
缺点:命令方块略多,怪物掉落物品可能重复。
注:execute(执行判定操作)与kill(清除掉落品)必须要有延迟。
推荐指数:

3.计分板判定
首先创建一个判决为health的计分板

  1. /scoreboard objectives add 计分板名称 health

然后高频伺候↓

  1. /testfor @e[type=生物名,name=名称,score_计分板名称=0]

输出任意。


优点:简洁明了
缺点:很难实现
推荐指数:



4.特殊判定法(针对不移动生物和红石玩家)
将生物设为不移动(跳跃生物、飞行生物除外)

  1. /summon 生物名 x y z {Attributes:[{Name:generic.movementSpeed,Base:0.0}]}

然后这个生物下面放压力板或绊线,然后非门判定。


优点:最简单
缺点:局限性太大
推荐指数:



5.探测玩家杀死特定生物(只针对普通实体
首先创建计分板

  1. /scoreboard objectives add 计分板名称 stat.killEntity实体名

然后高频伺候↓

  1. /testfor @p[score_计分板名称_min=1,score_计分板名称=1]

输出↓

  1. /scoreboard players set @p 计分板名称 0

+任意

author avatar

逍遥自在

英勇黄铜Ⅴ 41荣誉值

2

0

0

逍遥自在的其他帖子