Command block problem detecting armour
Solution 1:
You've got two extra curly brackets at the end. After the last square bracket closed Inventory
, you only need 1 more curly bracket to end the tag:
/testfor @p {Inventory:[{Slot:100b,id:"minecraft:leather_boots",tag:{Unbreakable:1,display:{Name:"shadow sandals",Lore:[_____],color:0},ench:[{id:0,lvl:31073},{id:7,lvl:31073},{id:4,lvl:31073},{id:3,lvl:31073}]}}]}
The command should now work, if you're giving the boots with something like:
/give @p leather_boots 1 0 {Unbreakable:1,display:{Name:"shadow sandals",Lore:[_____],color:0},ench:[{id:0,lvl:31073},{id:7,lvl:31073},{id:4,lvl:31073},{id:3,lvl:31073}]}
Keep in mind however that id
and lvl
are shorts by default, and Unbreakable
is a byte by default. This means that, if you've added the tags by another means, you should specify these types in your testfor command:
/testfor @p {Inventory:[{Slot:100b,id:"minecraft:leather_boots",tag:{Unbreakable:1b,display:{Name:"shadow sandals",Lore:[_____],color:0},ench:[{id:0s,lvl:31073s},{id:7s,lvl:31073s},{id:4s,lvl:31073s},{id:3s,lvl:31073s}]}}]}