DJH666
本帖最后由 DJH666 于 2023-3-18 19:04 编辑

1.16.5

如题,如何在使用/execute if 检测掉落物品的nbt标签时*检测*物品的标签(即分组,类似于minecraft:wool 、minecraft:logs 这类)而不是id
就是检测@e[type=item,nbt={Item:{}}] 时怎么检测物品标签。



幻心飞小骥
本帖最后由 幻心飞小骥 于 2023-3-18 16:55 编辑

/execute if entity @e[type=item,nbt={Item:{id:"minecraft:diamond"}}] run title @a title "ssss"
(仅一个例子,理论上能行罢
ps:可以使用/data get entity @e[type=item,limit=1]查看掉落物的nbt

DJH666
幻心飞小骥 发表于 2023-3-18 16:47
/execute if entity @e[type=item,nbt={Enchantments:[{id:"minecraft:sharpness",lvl:1s}]}] run title @a ...

emm其实我指的是物品分组,例如所有原木是minecraft:logs 这样...
而且你给的指令在游戏内似乎无法运行呢。

幻心飞小骥
DJH666 发表于 2023-3-18 16:54
emm其实我指的是物品分组,例如所有原木是minecraft:logs 这样...
而且你给的指令在游戏内似乎无法运行呢 ...

这个我不太清楚哎
但维基(可从泥潭的上栏的“维基”的下拉菜单进入中文镜像)的“目标选择器”条目里有一个带井号前缀的标签可以选择一大类物品,也许符合你的需要,但这个我不太了解,还是建议自己去查

Don_Trueno
本帖最后由 Don_Trueno 于 2023-3-18 17:38 编辑

你说的东西似乎叫做物品标签,可以在命名空间id前使用#
例如#minecraft:wool
MCW:物品#物品标签


dh381
这里以id为minecraft:wool为例
你需要在数据包minecraft文件夹下创建一个tags文件夹,在里面新建一个json文本,命名为wool
里面的格式这样写:
{
    "values":
         [
              "物品id",
              "物品id"
         ]
}
然后在指令里就可以直接以#minecraft:wool的形式调用

DJH666
dh381 发表于 2023-3-18 17:40
这里以id为minecraft:wool为例
你需要在数据包minecraft文件夹下创建一个tags文件夹,在里面新建一个json文 ...

可是我不知道怎么调用啊...
例如/execute if entity @s[nbt={SelectedItem:{}}] 中怎么检测物品标签...

晴路卡
避免穷举完成对物品tag的模拟 - 原版问答 - Minecraft(我的世界)中文论坛 - (mcbbs.net)

dh381
本帖最后由 dh381 于 2023-3-18 18:36 编辑

数据删除