/execute's syntax:
/execute <target> X Y Z <command>
/execute <target> X Y Z detect X Y Z <block> <Damage> <command>
There is no section for dataTags. You must use a command that supports dataTags to apply a label based on NBT data first, such as /scoreboard
, and then target the entity based on that label.
You should also not be using numerical IDs, since they are deprecated in 1.8 NBT data (and unusable in most command syntax) and no longer works at all in 1.9.
Item replacement
Instead of summoning a new item to 'replace' another item, you can use /entitydata to change the ID of the already-existing item.
Prerequisites:
An objective to label the item entity as being a double plant.
/scoreboard objectives add DoublePlant dummy
Clock commands:
The following must be run in numerical order on a clock.
First, assign a score to items that are double plants.
/scoreboard players set @e[type=Item] DoublePlant 1 {Item:{id:"minecraft:double_plant"}}
Change the ID of the item using /entitydata.
/entitydata @e[type=Item,score_DoublePlant_min=1] {Item:{id:"minecraft:log"}}
Reset the score of the item.
/scoreboard players reset @e[type=Item,score_DoublePlant_min=1] DoublePlant
Entity replacement
As per title, if you intend to replace an item entity with a non-item entity, you will need to use /execute like you've done, but with the proper label.
Prerequisites:
An objective to label the item entity as being a double plant.
/scoreboard objectives add DoublePlant dummy
Clock commands:
The following must be run in numerical order on a clock.
First, assign a score to items that are double plants.
/scoreboard players set @e[type=Item] DoublePlant 1 {Item:{id:"minecraft:double_plant"}}
Summon a new entity at double plant items.
/execute @e[type=Item,score_DoublePlant_min=1] ~ ~ ~ summon Creeper
Kill the item entity to prevent constant summoning of creepers (which will also clear its scoreboard.dat record automatically).
/kill @e[type=Item,score_DoublePlant_min=1]
1.9 changes
Instead of using scoreboard objectives, you can use the new "tags" feature to apply a label directly onto the entity. The benefit is a less-bloated scoreboard.dat (since scoreboard.dat is not involved at all) and easier prevention of constant command activation.
Assign a tag to items that are double plants.
/scoreboard players tag @e[type=Item,tag=!DoublePlant] add DoublePlant {Item:{id:"minecraft:double_plant"}}
Change the item's ID using /entitydata while also removing all tags from the item at the same time to prevent constant activation.
/entitydata @e[type=Item,tag=DoublePlant] {Item:{id:"minecraft:log"},Tags:[]}
In newer versions of Minecraft, you can set the sort mode that will choose how targets are sorted. You can then limit the number of targeted entities to 1, so that you are returned only 1 entity.
Here is a command that lets you do that:
/say @e[sort=random,limit=1]
The list of targets is sorted randomly, and then the limit being 1 means only the 1st one of that list is selected, essentially giving you a random entity selection.
Best Answer
fill ~ ~-1 ~ ~ ~-1 ~ wool 14
fill ~ ~1 ~ ~ ~1 ~ redstone_block
testforblocks ~ ~-1 ~ ~ ~-1 ~ [x2] [y2] [z2]
where[x2]
[y2]
and[z2]
are the coordinates of the target dropper.The dropper on the top is completely unnecessary and is only there because I used this in a tutorial. In the far right command block would be the command you want executed when the two droppers match.