北伐666
用execute掉落物的时候,怎么让它检测到指定物品掉落物才能通过呢,亦或者相同的掉落物,但是有不同的标签,又改用什么区分

纱夜
本帖最后由 阴阳师元素祭祀 于 2020-8-2 16:56 编辑

具体版本?
可以检测nbt的
@e[type=Item,nbt={Item:{id:"minecraft:grass"}}]
这个是手打示范
可能会打错格式()

所以应该是
/execute if entity @e[type=item,nbt={Item:{id:"minecraft:grass"}}]

↓确实


⊙u⊙
本帖最后由 ⊙u⊙ 于 2020-8-1 22:54 编辑

获取一个可以区别于一般石头的石头并丢地上
give @s stone{single:1b}

然后这样可以查看丢出后的nbt内容
data get entity @e[type=item,limit=1,sort=nearest]

之后把里面需要的内容写进 ...(建议是写上面那个特殊标签,其他id数量什么的都可以不写)
execute if entity @e[type=item,nbt={...}]

北伐666
本帖最后由 北伐666 于 2020-8-2 16:58 编辑
⊙u⊙ 发表于 2020-8-2 16:51
获取物品并丢地上
give @s stone{single:1b}
我是这样检测的,但是不成功,是指令有什么漏洞吗
execute if entity @e[type=item,x=-52,y=87,z=-44,dx=6,dy=2,dz=4,nbt={tag:{report:1b}}] run kill @e[type=minecraft:item_frame,x=-51,y=89,z=-42,dy=-1,limit=1]


北伐666
阴阳师元素祭祀 发表于 2020-8-2 16:49
具体版本?
可以检测nbt的
@e[type=Item,nbt={Item:{id:"minecraft:grass"}}]

1.16版本

纱夜

那么直接选择器里面检测nbt即可

我之前给的type里面的Item换成小写的item就可以了
最基础的就是id检测了()

⊙u⊙
北伐666 发表于 2020-8-1 22:55
我是这样检测的,但是不成功,是指令有什么漏洞吗
execute if entity @e[type=item,x=-52,y=87,z=-44,dx=6,d ...

[type=item,nbt={Item:{tag:{report:1b}}}]

对应

give @s stone{report:1b}

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