"carried" tag of Enderman reads value as string and short
If I summon an enderman with this command:
/summon enderman ~ ~ ~ {carried:"minecraft:stone"}
The enderman is summoned with the carried block as it should be
But if I try to detect this same enderman with this command:
/execute as @e[type=enderman,nbt={carried:"minecraft:stone"}] run say enderman with stone
The chat gives me this error:
Enderman did not match the required data structured
If I try the same command with numeric ids the command works:
/execute as @e[type=enderman,nbt={carried:1s}] run say enderman with stone
The expected behavior is that reading the carried tag as short will be removed with MC-75430 getting fixed
Created Issue:
"Carried Tag" only works like a modifier but not like a test
If i summon a enderman with this command:
/summon Enderman ~ ~ ~
{carried:minecraft:stone}The enderman is summoned with the carried block as it should be
But if i try to detect this same enderman with this command:
/testfor @e[type=Enderman]
{carried:minecraft:stone}The chat gives me this error:
"Enderman did not match the required data structured"
If i try the same command with numeric ids the command works:
/testfor @e[type=Enderman]
{carried:1s}But this command does not detect a enderman without a block:
/testfor @e[type=Enderman]
{carried:0s}But this tag is abble to summon a enderman without block:
/summon Enderman ~ ~ ~
{carried:0s}
If i summon a enderman with this command:
/summon Enderman ~ ~ ~
{carried:minecraft:stone}The enderman is summoned with the carried block as it should be
But if i try to detect this same enderman with this command:
/testfor @e[type=Enderman]
{carried:minecraft:stone}The chat gives me this error:
"Enderman did not match the required data structured"
If i try the same command with numeric ids the command works:
/testfor @e[type=Enderman]
{carried:1s}But this command does not detect a enderman without a block:
/testfor @e[type=Enderman]
{carried:0s}But this tag is abble to summon a enderman without block:
/summon Enderman ~ ~ ~
{carried:0s}If i summon a enderman with this command:
{{/summon Enderman ~ ~ ~
{carried:minecraft:stone}}}
The enderman is summoned with the carried block as it should be
But if i try to detect this same enderman with this command:
/testfor @e[type=Enderman]
{carried:minecraft:stone}The chat gives me this error:
"Enderman did not match the required data structured"
If i try the same command with numeric ids the command works:
/testfor @e[type=Enderman]
{carried:1s}But this command does not detect a enderman without a block:
/testfor @e[type=Enderman]
{carried:0s}But this tag is abble to summon a enderman without block:
/summon Enderman ~ ~ ~
{carried:0s}
If i summon a enderman with this command:
{carried:minecraft:stone}
{{/summon Enderman ~ ~ ~}}
The enderman is summoned with the carried block as it should be
But if i try to detect this same enderman with this command:
/testfor @e[type=Enderman]
{carried:minecraft:stone}The chat gives me this error:
"Enderman did not match the required data structured"
If i try the same command with numeric ids the command works:
/testfor @e[type=Enderman]
{carried:1s}But this command does not detect a enderman without a block:
/testfor @e[type=Enderman]
{carried:0s}But this tag is abble to summon a enderman without block:
/summon Enderman ~ ~ ~
{carried:0s}If i summon a enderman with this command:
/summon Enderman ~ ~ ~
{carried:minecraft:stone}The enderman is summoned with the carried block as it should be
But if i try to detect this same enderman with this command:
/testfor @e[type=Enderman]
{carried:minecraft:stone}The chat gives me this error:
"Enderman did not match the required data structured"
If i try the same command with numeric ids the command works:
/testfor @e[type=Enderman]
{carried:1s}But this command does not detect a enderman without a block:
/testfor @e[type=Enderman]
{carried:0s}But this tag is abble to summon a enderman without block:
/summon Enderman ~ ~ ~
{carried:0s}
If i summon a enderman with this command:
/summon Enderman ~ ~ ~
{carried:minecraft:stone}The enderman is summoned with the carried block as it should be
But if i try to detect this same enderman with this command:
/testfor @e[type=Enderman]
{carried:minecraft:stone}The chat gives me this error:
"Enderman did not match the required data structured"
If i try the same command with numeric ids the command works:
/testfor @e[type=Enderman]
{carried:1s}But this command does not detect a enderman without a block:
/testfor @e[type=Enderman]
{carried:0s}But this tag is abble to summon a enderman without block:
/summon Enderman ~ ~ ~
{carried:0s}If i summon a enderman with this command:
/summon Enderman ~ ~ ~ {carried:minecraft:stone}
The enderman is summoned with the carried block as it should be
But if i try to detect this same enderman with this command:
/testfor @e[type=Enderman]
{carried:minecraft:stone}The chat gives me this error:
"Enderman did not match the required data structured"
If i try the same command with numeric ids the command works:
/testfor @e[type=Enderman]
{carried:1s}But this command does not detect a enderman without a block:
/testfor @e[type=Enderman]
{carried:0s}But this tag is abble to summon a enderman without block:
/summon Enderman ~ ~ ~
{carried:0s}
If i summon a enderman with this command:
/summon Enderman ~ ~ ~ {carried:minecraft:stone}
The enderman is summoned with the carried block as it should be
But if i try to detect this same enderman with this command:
/testfor @e[type=Enderman]
{carried:minecraft:stone}
The chat gives me this error:
"Enderman did not match the required data structured"If i try the same command with numeric ids the command works:
/testfor @e[type=Enderman]
{carried:1s}But this command does not detect a enderman without a block:
/testfor @e[type=Enderman]
{carried:0s}But this tag is abble to summon a enderman without block:
/summon Enderman ~ ~ ~
{carried:0s}If i summon a enderman with this command:
/summon Enderman ~ ~ ~ {carried:minecraft:stone}
The enderman is summoned with the carried block as it should be
But if i try to detect this same enderman with this command:
/testfor @e[type=Enderman] {carried:minecraft:stone}
The chat gives me this error:
"Enderman did not match the required data structured"
If i try the same command with numeric ids the command works:
/testfor @e[type=Enderman] {carried:1s}
But this command does not detect a enderman without a block:
/testfor @e[type=Enderman] {carried:0s}
But this tag is abble to summon a enderman without block:
/summon Enderman ~ ~ ~ {carried:0s}
If i summon a enderman with this command:
/summon Enderman ~ ~ ~ {carried:minecraft:stone}
The enderman is summoned with the carried block as it should be
But if i try to detect this same enderman with this command:
/testfor @e[type=Enderman] {carried:minecraft:stone}
The chat gives me this error:
"Enderman did not match the required data structured"
If i try the same command with numeric ids the command works:
/testfor @e[type=Enderman] {carried:1s}
But this command does not detect a enderman without a block:
/testfor @e[type=Enderman] {carried:0s}
But this tag is abble to summon a enderman without block:
/summon Enderman ~ ~ ~ {carried:0s}
If i summon a enderman with this command:
/summon Enderman ~ ~ ~ {carried:minecraft:stone}
The enderman is summoned with the carried block as it should be
But if i try to detect this same enderman with this command:
/testfor @e[type=Enderman] {carried:minecraft:stone}
The chat gives me this error:
"Enderman did not match the required data structured"
If i try the same command with numeric ids the command works:
/testfor @e[type=Enderman] {carried:1s}
But this command does not detect a enderman without a block:
/testfor @e[type=Enderman] {carried:0s}
But this tag is abble to summon a enderman without block:
/summon Enderman ~ ~ ~ {carried:0s}
If i summon a enderman with this command:
/summon Enderman ~ ~ ~ {carried:minecraft:stone}
The enderman is summoned with the carried block as it should be
But if i try to detect this same enderman with this command:
/testfor @e[type=Enderman] {carried:minecraft:stone}
The chat gives me this error:
"Enderman did not match the required data structured"
If i try the same command with numeric ids the command works:
/testfor @e[type=Enderman] {carried:1s}
But this command does not detect a enderman without a block:
/testfor @e[type=Enderman] {carried:0s}
But this tag is abble to summon a enderman without block:
/summon Enderman ~ ~ ~ {carried:0s}
In 1.8 versions is possible to test if a enderman don't carries a block.
If i summon a enderman with this command:
/summon Enderman ~ ~ ~ {carried:minecraft:stone}
The enderman is summoned with the carried block as it should be
But if i try to detect this same enderman with this command:
/testfor @e[type=Enderman] {carried:minecraft:stone}
The chat gives me this error:
"Enderman did not match the required data structured"
If i try the same command with numeric ids the command works:
/testfor @e[type=Enderman] {carried:1s}
But this command does not detect a enderman without a block:
/testfor @e[type=Enderman] {carried:0s}
But this tag is abble to summon a enderman without block:
/summon Enderman ~ ~ ~ {carried:0s}
In 1.8 versions is possible to test if a enderman don't carries a block
.If i summon a enderman with this command:
/summon Enderman ~ ~ ~ {carried:minecraft:stone}
The enderman is summoned with the carried block as it should be
But if i try to detect this same enderman with this command:
/testfor @e[type=Enderman] {carried:minecraft:stone}
The chat gives me this error:
"Enderman did not match the required data structured"
If i try the same command with numeric ids the command works:
/testfor @e[type=Enderman] {carried:1s}
But this command does not detect a enderman without a block:
/testfor @e[type=Enderman] {carried:0s}
But this tag is abble to summon a enderman without block:
/summon Enderman ~ ~ ~ {carried:0s}
In 1.8 versions is possible to test if a enderman don't carries a block,
If i summon a enderman with this command:
/summon Enderman ~ ~ ~ {carried:minecraft:stone}
The enderman is summoned with the carried block as it should be
But if i try to detect this same enderman with this command:
/testfor @e[type=Enderman] {carried:minecraft:stone}
The chat gives me this error:
"Enderman did not match the required data structured"
If i try the same command with numeric ids the command works:
/testfor @e[type=Enderman] {carried:1s}
But this command does not detect a enderman without a block:/testfor @e[type=Enderman] {carried:0s}
But this tag is abble to summon a enderman without block:
/summon Enderman ~ ~ ~ {carried:0s}
In 1.8 versions is possible to test if a enderman don't carries a block,
If i summon a enderman with this command:
/summon Enderman ~ ~ ~ {carried:minecraft:stone}
The enderman is summoned with the carried block as it should be
But if i try to detect this same enderman with this command:
/testfor @e[type=Enderman] {carried:minecraft:stone}
The chat gives me this error:
"Enderman did not match the required data structured"
If i try the same command with numeric ids the command works:
/testfor @e[type=Enderman] {carried:1s}
This command does not detect a enderman without a block:
/testfor @e[type=Enderman] {carried:0s}
But this tag is abble to summon a enderman without block:
/summon Enderman ~ ~ ~ {carried:0s}
In 1.8 versions is possible to test if a enderman don't carries a block,
relates to
"CarriedTag"only works like a modifier but not like a test"carried" tag of Enderman reads value as string and short
If
isummon a enderman with this command:/summon Enderman ~ ~ ~ {carried:minecraft:stone}
The enderman is summoned with the carried block as it should be
But if i try to detect this same enderman with this command:/testfor @e[type=Enderman] {carried:minecraft:stone}
The chat gives me this error:
"Enderman did not match the required data structured"
If
itry the same command with numeric ids the command works:/testfor @e[type=Enderman] {carried:1s}
This command does not detect a enderman without a block:
/testfor @e[type=Enderman] {carried:0s}
But this tag is abble to summon a enderman without block:
/summon Enderman ~ ~ ~ {carried:0s}
In 1.8 versions is possible to test if a enderman don't carries a block,
If I summon an enderman with this command:
/summon enderman ~ ~ ~ {carried:"minecraft:stone"}The enderman is summoned with the carried block as it should be
But if I try to detect this same enderman with this command:
/testfor @e[type=enderman] {carried:"minecraft:stone"}The chat gives me this error:
Enderman did not match the required data structured
If I try the same command with numeric ids the command works:
/testfor @e[type=Enderman] {carried:1s}This command does not detect an enderman without a block:
/testfor @e[type=Enderman] {carried:0s}But this tag is abble to summon an enderman without block:
/summon Enderman ~ ~ ~ {carried:0s}In 1.8 versions is possible to test if a enderman don't carries a block,
If I summon an enderman with this command:
/summon enderman ~ ~ ~ {carried:"minecraft:stone"}The enderman is summoned with the carried block as it should be
But if I try to detect this same enderman with this command:
/testfor @e[type=enderman] {carried:"minecraft:stone"}The chat gives me this error:
Enderman did not match the required data structured
If I try the same command with numeric ids the command works:
/testfor @e[type=Enderman] {carried:1s}This command does not detect an enderman without a block:
/testfor @e[type=Enderman] {carried:0s}But this tag is abble to summon an enderman without block:
/summon Enderman ~ ~ ~ {carried:0s}In 1.8 versions is possible to test if a enderman don't carries a block,
If I summon an enderman with this command:
/summon enderman ~ ~ ~ {carried:"minecraft:stone"}The enderman is summoned with the carried block as it should be
But if I try to detect this same enderman with this command:
/testfor @e[type=enderman] {carried:"minecraft:stone"}The chat gives me this error:
Enderman did not match the required data structured
If I try the same command with numeric ids the command works:
/testfor @e[type=enderman] {carried:1s}The expected behavior is that reading the carried tag as short will be removed with
If I summon an enderman with this command:
/summon enderman ~ ~ ~ {carried:"minecraft:stone"}The enderman is summoned with the carried block as it should be
But if I try to detect this same enderman with this command:
/testfor @e[type=enderman] {carried:"minecraft:stone"}The chat gives me this error:
Enderman did not match the required data structured
If I try the same command with numeric ids the command works:
/testfor @e[type=enderman] {carried:1s}The expected behavior is that reading the carried tag as short will be removed with
MC-75430getting fixed
relates to
If I summon an enderman with this command:
/summon enderman ~ ~ ~ {carried:"minecraft:stone"}The enderman is summoned with the carried block as it should be
But if I try to detect this same enderman with this command:
/testfor@e[type=enderman]{carried:"minecraft:stone"}The chat gives me this error:
Enderman did not match the required data structured
If I try the same command with numeric ids the command works:
/testfor@e[type=enderman]{carried:1s}The expected behavior is that reading the carried tag as short will be removed with
MC-75430getting fixedIf I summon an enderman with this command:
/summon enderman ~ ~ ~ {carried:"minecraft:stone"}The enderman is summoned with the carried block as it should be
But if I try to detect this same enderman with this command:
/execute as @e[type=enderman,nbt={carried:"minecraft:stone"}] run say enderman with stoneThe chat gives me this error:
Enderman did not match the required data structured
If I try the same command with numeric ids the command works:
/execute as @e[type=enderman,nbt={carried:1s}] run say enderman with stoneThe expected behavior is that reading the carried tag as short will be removed with
MC-75430getting fixed
An Enderman holding a dirt block can be summoned using the command
summon enderman ~ ~ ~ {carried:"minecraft:dirt"}
As you would expect, this summons an Enderman holding a dirt block (see also MC-94027). However if you try this command:
/testfor @e {carried:"minecraft:dirt"}
the enderman will not be found by the command.
This is because the block type is stored using the old id system (dirt is stored as 3) and because the tag is a short you have to append s:
/testfor @e {carried:3s}
The bug
When you summon an enderman with carried:0s, it is treated as if the enderman is holding nothing, however if the enderman is holding nothing the carried tag is not written to the NBT data.
This is pretty inconsistent because if 0s is treated as holding nothing, you would expect it to be saved to NBT if the enderman is holding nothing as well.
From MC-94027:
In 1.8 versions is possible to test if a enderman don't carries a block
How to reproduce
- Summon an enderman holding nothing
/summon enderman ~ ~ ~ {carried:0s} - Try to test for carried:0s
/testfor @e[type=enderman] {carried:0s}1.13:
/execute as @e[type=enderman,nbt={carried:0s}] run say enderman with nothing→ The command fails
Duplicates
MC-75430The
MC-75430doesn't mention all the things that happen in the 1.9 snapshots, like the thing that is unable to detect if a enderman does not carry a block.Confirmed in 15w50a
Confirmed in 1.9 Pre-2
Confirmed in 1.9 Release
Confirmed in 16w20a
Is this still an issue in the latest snapshot 16w44a? If so please update the affected versions.
This is an automated comment on any open or reopened issue with out-of-date affected versions.
The carried:0s part is now
MC-111064Confirmed for 17w43b Snapshot
Confirmed for 17w46a Snapshot
Is Fixed, tested with this command:
/execute as @e[type=enderman,nbt={carriedBlockState:{Name:"minecraft:grass_block"}}] run say enderman with grass