本帖最后由 贰逼 于 2014-6-9 18:51 编辑
1.判定生物不存在
我们生成一个名为Tom的僵尸
复制代码
杀死得命令方块。
这需要一个高频连接以下部分:
复制代码命令讲解:探测Tom僵尸存在。若是,则输出。
非门连接↓
复制代码命令讲解:反之,给玩家一个命令方块。
优点:简洁明了。
缺点:无法判定多个单位。
推荐指数:★★★☆☆
2.判定掉落物
首先生成一个能掉落石头的骷髅。其他掉落随便。
复制代码需要注意的是不用掉落的一定是0f
具体教程:PM的刷自定义装备生物
然后需要一个计判:
复制代码
来得到命令方块。
高频(推荐不是指令方块高频,其脉冲长度大于比较器传输长度)连接下面两个命令方块:
复制代码命令讲解:给石头设置计判为1
复制代码命令讲解:石头掉落后给玩家一个命令方块。
延迟↓
复制代码命令讲解:清除石头
当然我们可以在自定义怪物掉落时添加一些物品标签(tag),来增强判断性
优点:判断性强,可对多个目标同时执行。
缺点:命令方块略多,怪物掉落物品可能重复。
注:execute(执行判定操作)与kill(清除掉落品)必须要有延迟。
推荐指数:★★★★☆
3.计分板判定
{无图有真相}
首先创建一个判决为health的计分板
复制代码然后高频伺候↓
复制代码输出任意。
优点:简洁明了
缺点:很难实现
推荐指数:★★★★☆
4.特殊判定法(针对不移动生物和红石玩家)
将生物设为不移动(跳跃生物、飞行生物除外)
复制代码然后这个生物下面放压力板或绊线,然后非门判定。
优点:最简单
缺点:局限性太大
推荐指数:★★☆☆☆
5.探测玩家杀死特定生物(只针对普通实体)
首先创建计分板
复制代码然后高频伺候↓
复制代码输出↓
复制代码+任意
@songfeitong @tyson @我的世界sun123 @PotatoMaster101 @ghyzhi10086 @审奥不解释 @67880371 @kongbaiyo
来自群组: Command Block Logic
1.判定生物不存在

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

杀死得命令方块。

这需要一个高频连接以下部分:
- /testfor @e[type=Zombie,name=Tom]
非门连接↓
- /give @p command_block
优点:简洁明了。
缺点:无法判定多个单位。
推荐指数:★★★☆☆
2.判定掉落物

首先生成一个能掉落石头的骷髅。其他掉落随便。
- /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]}
具体教程:PM的刷自定义装备生物
然后需要一个计判:
- /scoreboard objectives add tom dummy

来得到命令方块。

高频(推荐不是指令方块高频,其脉冲长度大于比较器传输长度)连接下面两个命令方块:
- /scoreboard players set @e[type=Item] tom 1 {Item:{id:"minecraft:stone"}}
- /execute @e[type=Item,score_tom_min=1] ~ ~ ~ give @p command_block
延迟↓
- /execute @e[type=Item,score_tom_min=1] ~ ~ ~ kill @e[type=Item,score_tom_min=1,r=0]
当然我们可以在自定义怪物掉落时添加一些物品标签(tag),来增强判断性
优点:判断性强,可对多个目标同时执行。
缺点:命令方块略多,怪物掉落物品可能重复。
注:execute(执行判定操作)与kill(清除掉落品)必须要有延迟。
推荐指数:★★★★☆
3.计分板判定
{无图有真相}
首先创建一个判决为health的计分板
- /scoreboard objectives add 计分板名称 health
- /testfor @e[type=生物名,name=名称,score_计分板名称=0]
优点:简洁明了
缺点:很难实现
推荐指数:★★★★☆
4.特殊判定法(针对不移动生物和红石玩家)
将生物设为不移动(跳跃生物、飞行生物除外)
- /summon 生物名 x y z {Attributes:[{Name:generic.movementSpeed,Base:0.0}]}
优点:最简单
缺点:局限性太大
推荐指数:★★☆☆☆
5.探测玩家杀死特定生物(只针对普通实体)
首先创建计分板
- /scoreboard objectives add 计分板名称 stat.killEntity实体名
- /testfor @p[score_计分板名称_min=1,score_计分板名称=1]
- /scoreboard players set @p 计分板名称 0
@songfeitong @tyson @我的世界sun123 @PotatoMaster101 @ghyzhi10086 @审奥不解释 @67880371 @kongbaiyo
来自群组: Command Block Logic
大触,表示我看不懂
楼主你搞的好快= = 我都还不知道更新了
好高端的样子
比较喜欢第一个,多个实体的话可以弄不同的名称,把名字隐形就可以了