So I have come across some troubles lately. I was trying to come up with a command to find an item that a player throws on the ground, however it is slightly more complicated because it is a yellow stained glass pane (the trouble I am having is that I cannot get it to detect the colour yellow).

The current command I am using to test for the stained glass pane is this:

/testfor @e[type=Item] {Item:{id:minecraft:stained_glass_pane,Damage:4}}

I ran the command (in a repeating command block) and get no error response, but when I throw the yellow stained glass pane onto the ground, the command block doesn't react or give an output signal. If I remove the ,Damage:4 portion of the command, the command block will give an output if any glass pane is thrown.

  • Is there a reason you're using testfor instead of a scoreboard command? The reason I ask is because testfor is mostly useless, except for some edge cases that 1.9 and conditional command blocks open up. – MBraedley Mar 2 '16 at 23:20

When checking pre-existing NBT data, such as for /testfor, /scoreboard, or /testforblock, you must specify all data exactly as it's stored. This includes datatypes; you've declared Damage as an Integer, when instead it's saved as a Short. To declare it as a Short, you must append the value with an s:

/testfor @e[type=Item] {Item:{id:"minecraft:stained_glass_pane",Damage:4s}}
| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.