Let's say I want to track a group of players to see which one of them (if any) have a specific block type in their inventory that's of a specific datavalue; for instance Red Wool (minecraft:wool
with a data value of 14). I already know how to detect if a player has any wool in their inventory:
/testfor @a {Inventory:[{id:"minecraft:wool"}]}
.
However, this doesn't discriminate between the various colours. It'll find anyone with any colour wool, whereas I want to find only players with red wool.
I've tried modifying the data tag to also include a data value, such as
/testfor @a {Inventory:[{id:"minecraft:wool",data:14}]}
but this results in unmatched NBT tags and the error message <Player> did not match the required data structure
. Obviously it's because data
(or Data
, damage
, dataID
, etc.) isn't the name of the NBT tag, or that the structure is wrong.
I realize I can accomplish this using the /clear
command, but that's a bit clunky when running on a 20Hz /fill
clock. How can I filter out specific data values when using the /testfor
or /scoreboard players
commands?