弓箭的箭矢更新了几个新的箭,附带药水效果,这让弓箭的功能有了很大的施展


NBT

创造模式里只有几个状态效果的箭,然而其他的状态效果其实是存在的,需要通过NBT修改:

CustomPotionEffects: 是一个列表,可以包含多种状态效果

一个状态效果拥有以下标签:
Id: 状态效果的id,参考http://minecraft-zh.gamepedia.co ... 1%E6%95%88%E6%9E%9C
Amplifier: 状态效果的等级;
Duration: 持续时间;
Ambient: 隐藏效果。


  1. /give @p minecraft:tipped_arrow 1 0 {CustomPotionEffects:[{Id:20,Amplifier:999999,Duration:999999}]}
复制代码
这个弓箭的效果是等级999999,持续999999的凋零效果。






那么苦力怕会一直受到凋零持续999999,直到死亡。




效果也可以是增益效果,比如生命增加:
  1. /give @p minecraft:tipped_arrow 1 0 {CustomPotionEffects:[{Id:21,Amplifier:10,Duration:999999}]}
复制代码
这个弓箭的效果是等级10,持续999999的生命增加效果。









  1. /give @p minecraft:tipped_arrow 1 0 {CustomPotionEffects:[{Id:12,Amplifier:10,Duration:999999,Ambient:1}]}
复制代码
就是一个等级10,时间999999,隐藏效果的防火效果






判定弓箭的攻击者和被攻击者







可以看到我射了苦力怕一脸后,我的分数变成1,苦力怕变成2

做到这个,只需要两个指令:
原理


  1. /scoreboard players set @e beShot 1 {ActiveEffects:[{Id:3b,Amplifier:0b}]}
复制代码
给拥有状态的实体计分版设为1
  1. /execute @e[score_beShot_min=1] ~ ~ ~ /scoreboard players set @p beShot 2
复制代码
既然被射了,那么箭的持有者就是攻击者


首先须要给一个拥有指定效果的箭
  1. /give @p minecraft:tipped_arrow 1 0 {CustomPotionEffects:[{Id:3,Amplifier:0}]}
复制代码
(这边的效果是急迫,其实并没有什么卵用)
[groupid=546]Command Block Logic[/groupid]

2015-07-31_13.30.16.png (32.23 KB, 下载次数: 22)

2015-07-31_13.30.16.png