mojira.dev
MC-106199

"minecraft:" is not optional for entity ID in EntityTag and Spawners

  1. Use this command:

    /give @p minecraft:spawn_egg 1 0 {EntityTag:{id:creeper}}

    You'll get an empty spawn egg.

    If you change "id:creeper" to "id:minecraft:creeper", you get a creeper spawn egg (as expected)

  2. Use any of these commands:

    /setblock ~ ~1 ~ minecraft:mob_spawner 0 replace {SpawnData:{id:creeper}}
    /setblock ~ ~1 ~ minecraft:mob_spawner 0 replace {SpawnPotentials:[{Entity:{id:creeper},Weight:1}]}

    Both commands give you a default Pig spawner.

    If you change "id:creeper" to "id:minecraft:creeper", SpawnData and SpawnPotentials are set as expected.

Why would the namespace be required for spawn eggs and spawners? It's inconsistent compared to any other part of the game.

Summon, setblock, selectors, etc. don't require the namespace.

Affects:

  • Spawn eggs

  • mob spawners

Linked issues

Comments 4

Duplicate of MC-106192. This is intended.

@unknown read the actual ticket .

Creeper became minecraft:creeper, where minecraft: is optional.

Why would it be required in spawners and spawn eggs, unlike anything else in the game?

This is intended.

If we would have something in the world with a non-complete id it would not get upgraded properly when we do changes on it. Therefor now this is mandatory for blockentity and entity types.

@unknown I don't get it.

/summon item ~ ~ ~ {Item:{id:"dirt",Count:1b}}

/summon armor_stand ~ ~ ~ {Passengers:[{id:creeper}]}
/setblock ~ ~1 ~ minecraft:mob_spawner 0 replace {SpawnPotentials:[{Entity:{id:"minecraft:item",Item:{id:"cookie",Count:1b}},Weight:1}]}

DO work. Minecraft just adds minecraft: to the id of dirt/the creeper/cookie. Why shouldn't it work like this the same way for entity-types if you add the check on them upon summoning with a spawn egg or spawner? Makes no sense.

SunCat

Erik Broes

Confirmed

Minecraft 16w32b

Minecraft 16w50a

Retrieved