北伐666
execute if entity @e[type=minecraft:armor_stand,x=283,y=64,z=-83,dy=1,limit=1,nbt={HandItems:[{},{}]}] run say helloMC
这个指令在盔甲架主手上持有物品时仍然会通过
怎么让它只有在盔甲架主手上没有任何物品时才能通过呢

爱心魔王FHC
可以试试这样
execute if entity @e[type=minecraft:armor_stand,x=283,y=64,z=-83,dy=1,limit=1,nbt={HandItems:[{Count:1b},{}]}] run say helloMC
一般手里只拿一个物品吧,如果有物品Count就是1b,如果没有物品,就没有Count这个标签

Peanutz_OwO
本帖最后由 Peanutz_OwO 于 2020-8-21 08:22 编辑
  1. execute if entity @e[type=minecraft:armor_stand,x=283,y=64,z=-83,dx=0,dy=1,dz=0,limit=1,nbt={HandItems:[{Count:1b},{}]}] run say helloMC
复制代码
这样检测主手是否有一个物品,但不会管它是什么。

另外,单独定义 x、y、z 而不定义 dx、dy、dz 是没用的哦。

(我爪巴了)

爱心魔王FHC
Peanutz_OwO 发表于 2020-8-21 07:52
这样检测主手是否有一个物品,但不会管它是什么。另外,单独定义 x、y、z 而不定义 dx、dy、dz 是没用的哦 ...

定义了dy=1的情况下,dx和dz默认为0

Jokey_钥匙
本帖最后由 Jokey_钥匙 于 2020-8-21 09:12 编辑

execute unless data entity @e[type=minecraft:armor_stand,x=283,y=64,z=-83,dy=1,limit=1] HandItems[0].id run say helloMC当然 前提是盔甲架要存在(

第一页 上一页 下一页 最后一页