So I'm trying to make a pokeball system and I'm testing it on a chicken named TestCatch. I want the command to test if there is an item named pokeball near the chicken. I have this command:

 execute @e[name=TestCatch] ~ ~ ~ testfor @e[type=Item] {Item:{tag:{display:{Name:"Pokeball"}}}}   

Whenever I use it it just says

[16:18:51] Failed to execute 'testfor @e[type=Item] {Item:{tag:{display:{Name:"Pokeball"}}}}' as TestCatch

How can I fix this?

  • 2
    The command is structurally correct. Ensure the command block is running correctly and that there is an item that can be found with /testfor. – Skylinerw Dec 25 '16 at 22:05
  • The command appears to be correct, so the command output means that the target of the testfor was not found. The only thing I can think of is that you're throwing the item like a snowball (default is right-click) rather than dropping the item (default key Q). Thrown snowballs are not the same as dropped snowball items. – user176681 Apr 26 '17 at 10:10

You need to specify the radius:

execute @e[name=TestCatch] ~ ~ ~ testfor @e[type=Item,r=5] {Item:{tag:{display:{Name:"Pokeball"}}}}

this will test if there is a Pokeball item within 5 blocks of TestCatch

| improve this answer | |
  • This would cause a false positive, not a false negative. – pppery Aug 19 '19 at 16:56

The correct answer would be:

execute @e[name=TestCatch] ~ ~ ~ /testfor @e[type=Item] {Item:{tag:{display:{Name:"Pokeball"}}}}

You just missed one / before testfor.

| improve this answer | |
  • 1
    /execute commands do not need a slash in front of them – Klyzx Oct 24 '17 at 3:47

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.