就是只要一名玩家拥有,就能检测到,不管放在什么位置
我只知道有Inventory标签,但那个要一个个写全吧...
我只知道有Inventory标签,但那个要一个个写全吧...
本帖最后由 aghinouz 于 2018-7-31 23:43 编辑

(图片来自minecraft-zh.gamepedia.com)
上图的数字代表每个槽位的ID,对应下面给出的命令中的红色部分
检测玩家工具栏第一个槽位是否是7个命名为123的石头:
/testfor @p {Inventory:[{Slot:0b,id:"minecraft:stone",Count:7b,tag:{display:{Name:"123"}}}]}
如果你想要检测玩家手持的物品,可以使用:
/testfor @p {SelectedItem:{id:"minecraft:stone",Count:7b,tag:{display:{Name:"123"}}}}
效果是,如果玩家手持的是七个命名为123的石头就输出信号。
如果你想检测副手:
/testfor @p {Inventory:[{Slot:-106b,id:"minecraft:stone",Count:7b,tag:{display:{Name:"123"}}}]}
效果是,如果玩家副手是七个命名为123的石头就输出信号。

(图片来自minecraft-zh.gamepedia.com)
上图的数字代表每个槽位的ID,对应下面给出的命令中的红色部分
检测玩家工具栏第一个槽位是否是7个命名为123的石头:
/testfor @p {Inventory:[{Slot:0b,id:"minecraft:stone",Count:7b,tag:{display:{Name:"123"}}}]}
如果你想要检测玩家手持的物品,可以使用:
/testfor @p {SelectedItem:{id:"minecraft:stone",Count:7b,tag:{display:{Name:"123"}}}}
效果是,如果玩家手持的是七个命名为123的石头就输出信号。
如果你想检测副手:
/testfor @p {Inventory:[{Slot:-106b,id:"minecraft:stone",Count:7b,tag:{display:{Name:"123"}}}]}
效果是,如果玩家副手是七个命名为123的石头就输出信号。
不管放在哪个位置的话
直接/testfor @a {Inventory:[{id:"minecraft:stone"}]}
这样身上有石头就会被检测到
直接/testfor @a {Inventory:[{id:"minecraft:stone"}]}
这样身上有石头就会被检测到
scoreboard players tag @a add dirt {Inventory:[{id:"minecraft:dirt"}]}
execute @a[tag=dirt] ~ ~ ~ say 我的背包里有泥土!超级开心!
scoreboard players tag @a remove dirt
execute @a[tag=dirt] ~ ~ ~ say 我的背包里有泥土!超级开心!
scoreboard players tag @a remove dirt
SMFX阜星 发表于 2018-7-31 23:48
不管放在哪个位置的话
直接/testfor @a {Inventory:[{id:"minecraft:stone"}]}
学到了,同要问。