本帖最后由 Time__sg 于 2019-3-8 18:17 编辑
如题,1.12.2 怎么用execute和summon召唤出药水箭?
如题,1.12.2 怎么用execute和summon召唤出药水箭?
请详细说明一下你的意图,要execute哪里生成药水箭
并且附上版本,谢谢
并且附上版本,谢谢
- /execute @e[name=实体名称] ~ ~ ~ /summon minecraft:arrow ~ ~1 ~ {Motion:[0.0,0.0,0.0],damage:2,player:1b,CustomPotionEffects:[{Id:5,Amplifier:0,Duration:600}],Rotation:[0f]}
如果execute探测的是药水箭呢?
并且怎样summon出药水箭
并且怎样summon出药水箭
CHElover_C60 发表于 2019-3-7 23:04
请详细说明一下你的意图,要execute哪里生成药水箭
并且附上版本,谢谢
1.12.2 不是生成药水箭,是用execute探测药水箭
本帖最后由 CHElover_C60 于 2019-3-8 21:28 编辑
生成系统预设的药水箭需要用到Potion标签,Potion后接药水名称(不是药水效果名称)
复制代码其中pickup:1表示玩家可以捡起这支箭
药水名称见wiki此页面
生成自定义的药水需要用到CustomPotionEffects这个标签,标签后跟多个标签组,每组标签含有以下内容
Id:药水效果的数字ID
Amplifier:药水效果的等级-1,比如要5级的效果,就填4。若不填,默认为1级效果
Duration:药水效果的持续时间(单位:游戏刻)(实测持续时间远小于预期时间,原因不明)
复制代码药水效果数字ID见wiki此页面
药水箭的检测
注意,在1.12版本中,用于检测实体的不是execute指令,而是testfor指令,并且在1.12中不支持在目标选择器中使用nbt,因此需要借助计分板或者标签。这里我使用标签
示例:检查是否存在瞬间伤害2的药箭复制代码复制代码
Time__sg 发表于 2019-3-8 18:27
1.12.2 不是生成药水箭,是用execute探测药水箭
生成系统预设的药水箭需要用到Potion标签,Potion后接药水名称(不是药水效果名称)
- /summon arrow ~ ~1 ~ {pickup:1,Potion:strong_harming}
药水名称见wiki此页面
生成自定义的药水需要用到CustomPotionEffects这个标签,标签后跟多个标签组,每组标签含有以下内容
Id:药水效果的数字ID
Amplifier:药水效果的等级-1,比如要5级的效果,就填4。若不填,默认为1级效果
Duration:药水效果的持续时间(单位:游戏刻)(实测持续时间远小于预期时间,原因不明)
- summon arrow ~ ~1 ~ {pickup:1,CustomPotionEffects:[{Id:1,Amplifier:0,Duration:10000},{Id:8,Amplifier:0,Duration:10000}]}
药水箭的检测
注意,在1.12版本中,用于检测实体的不是execute指令,而是testfor指令,并且在1.12中不支持在目标选择器中使用nbt,因此需要借助计分板或者标签。这里我使用标签
示例:检查是否存在瞬间伤害2的药箭
- scoreboard players tag @e[type=arrow] add example {Potion:"minecraft:strong_harming"}
- testfor @e[tag=example]