本帖最后由 贰逼 于 2014-6-9 18:51 编辑

1.判定生物不存在

我们生成一个名为Tom的僵尸
  1. /summon Zombie ~ ~1 ~ {CustomName:"Tom",CustomNameVisible:true}
复制代码


杀死得命令方块。


这需要一个高频连接以下部分:
  1. /testfor @e[type=Zombie,name=Tom]
复制代码
命令讲解:探测Tom僵尸存在。若是,则输出。
非门连接↓
  1. /give @p command_block
复制代码
命令讲解:反之,给玩家一个命令方块。


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




2.判定掉落物


首先生成一个能掉落石头的骷髅。其他掉落随便。
  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
复制代码


来得到命令方块。


高频(推荐不是指令方块高频,其脉冲长度大于比较器传输长度)连接下面两个命令方块:
  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
复制代码
+任意



@songfeitong @tyson @我的世界sun123 @PotatoMaster101 @ghyzhi10086 @审奥不解释 @67880371 @kongbaiyo
[groupid=546]Command Block Logic[/groupid]