The bug
When a mob transforms into another mob (ex. zombie villager → villager, mooshroom → cow), it loses most of its NBT tags. This also affects conversions to the same mob, like slimes and magma cubes splitting.
It is worth noting CustomName
and NoAI
are preserved (MC-6773 & MC-67437), so other tags are expected to be saved as well.
Examples
The following is a list of tags that aren't transferred between entities.
From | Husk | Zombie | Skeleton | Zombie Villager | Villager | Villager | Pig | Piglin | Piglin Brute | Hoglin | Slime | Magma Cube | Tadpole | Mooshroom |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
To | Zombie | Drowned | Stray | Villager | Zombie Villager | Witch | Zombified Piglin | Zombified Piglin | Zombified Piglin | Zoglin | Smaller Slime | Smaller Magame Cube | Frog | Cow |
| ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| ✔ | ✔ | N/A | ✔ 7 | ✔ 7 | N/A | ✔ | ✔ | N/A | ✔ | N/A | N/A | N/A | ❌ |
| N/A | N/A | N/A | N/A | N/A | N/A | N/A | ❌ | ❌ | N/A | N/A | N/A | N/A | N/A |
| N/A | N/A | N/A | N/A | N/A | N/A | N/A | ❌ | ❌ | N/A | N/A | N/A | N/A | N/A |
| ✔ | ✔ | ✔ | ❌ 8 | ❌ 8 | ❌ 8 | ❌ 8 | ✔ | ✔ | ✔ | N/A19 | N/A19 | ❌ 8 | ❌ 8 |
| ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| ✔ | ❌ | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A |
| ✔ | ✔ | ✔ | ⚠️ 9 | ❌ | ❌ | ❌ | ❌ | ❌ | ✔ | ❌ | ❌ | ❌ | ❌ |
| ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ 20 | ✔ 20 | ✔ | ✔ |
| ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ❌ | ❌ | ✔ | ✔ |
| ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| ❌ | ❌ | ❌ | ❌ 8 | ❌ 8 | ❌ 8 | ❌ 8 | ❌ | ❌ | ❌ | N/A19 | N/A19 | ❌ 8 | ❌ 8 |
| ❌ | ❌ | N/A5 | ❌ | ❌ | ❌ | N/A15 | N/A15 | N/A15 | N/A15 | ❌ | N/A23 | ❌ | ❌ |
| N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | ❌ |
| N/A | N/A | N/A | ✔ | ✔ | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A |
| ✔ | ✔ | ✔ | ❌ 8 | ❌ 8 | ❌ 8 | ❌ 8 | ✔ | ✔ | ✔ | N/A19 | N/A19 | ❌ 8 | ❌ 8 |
| ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| ❌ | ❌ | ❌ | ❌ | N/A10 | ❌ | ❌ | ❌ | ❌ | ❌ | N/A21 | N/A21 | ❌ | ✔ |
| ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ ) |
| ✔ | ✔ | ✔ | ✔ | N/A10 | ❌ | ❌ | ❌ | ❌ | ✔ | ✔ | ✔ | ❌ | ✔ |
| ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| N/A4 | N/A4 | N/A6 | ✔ | ✔ 11 | ✔ 13 | ✔ 13 | N/A17 | N/A17 | N/A18 | ✔ | ✔ | ❌ | ❌ |
| ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| N/A | N/A | N/A | ✔ | ✔ | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A |
| ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | N/A | N/A | ❌ | ❌ |
| ✔ | ✔ | ❌ | ✔ | ✔ | ⚠️ 14 | ⚠️ 16 | ✔ | ✔ | ❌ | ✔ | ✔ | ⚠️ 16 | ✔ |
| ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| ✔ | ✔ | ✔ | ✔ | ✔ 12 | ❌ | ❌ | ✔ | ✔ | ✔ | ❌ | ❌ | ❌ | ❌ |
| ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ❌ 22 | ❌ 22 | ✔ | ✔ |
| ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ 23 | ❌ 23 | ❌ | ❌ |
| N/A | N/A | N/A | ✔ | ✔ | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A |
| N/A | N/A | N/A | ✔ | ✔ | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A |
| N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | ❌ | ❌ | N/A | N/A |
1 See MC-193083.
2 Not an actual tag saved on mobs, but it's the corresponding tag name on player data: the vehicle this entity rides, see also MC-193083.
3 Desynced, see MC-248587.
4 Cannot be converted (even when setting DrownedConversionTime
with commands), see MC-148935, consider to only not trigger/count down the timer if NoAI is present, and allow value 0 to convert.
5 Skeletons MUST be in powdered snow to convert, even via commands. Powdered snow extinguishes burning mobs.
6 Cannot be converted (even when setting StrayConversionTime
with commands), consider to only not trigger/count down the timer if NoAI is present, and allow value 0 to convert.
7 Since zombie villagers use IsBaby
instead of Age
, the time until growing up/being able to breed again is lost. Age gets set to 0 for adults and -24000 for babies upon converting to villagers.
8 The equipment is not dropped, nor brought over to the new form.
9 Always 1b
, MC-73178.
10 Mob needs to die to convert, cannot be converted by creative players.
11 MC-183860, fixed.
12 MC-163767,fixed
13 MC-67437, fixed.
14 Always 1b
, MC-239883, this could be resolved by making all villagers that spawned naturally be persistent instead and copying the value over.
15 Converted-to mob cannot burn, if this behavior will ever be toggle-able (for example via entity type tag), this should be synchronized though.
16 Always 1b
.
17 Cannot be converted (even when setting TimeInOverworld
with commands), see MC-172077, consider to only not trigger/count down the timer if NoAI is present, and allow value 0 to convert.
18 Cannot be converted (even when setting TimeInOverworld
with commands), consider to only not trigger/count down the timer if NoAI is present, and allow value 0 to convert.
19 Loot is dropped due to mob death.
20 MC-6773, fixed.
21 Mob needs to die to convert, can be converted by creative players.
22 Desynced, and randomized, see MC-248587.
23 Mob splits into multiple mobs, so UUID cannot be preserved for all. However, 1 of the mob should be capable to get it.
24 Magma cubes can't burn, if this behavior will ever be toggle-able (for example via entity type tag), this should be synchronized though.
Since zombie villagers can be converted to villagers and vise versa, the following data is problematic due to not being stored on one of the 2 parties, causing loss of data upon converting and converting back to the original form. This should probably be it's own report, but until the rest of this is fixed, it's just another "tags lost on conversion" entry.
Zombie villagers don't have
ForcedAge
,InLove
,Inventory
,LastGossipDecay
,LastRestock
,LoveCause
,RestocksToday
andWilling
.Zombie villagers don't use
Brain.memories.minecraft:home
,Brain.memories.minecraft:job_site
,Brain.memories.minecraft:last_woken
,Brain.memories.minecraft:last_worked_at_poi
,Brain.memories.minecraft:meeting_point
andBrain.memories.minecraft:potential_job_site
.Villagers don't have
CanBreakDoors
.
How to reproduce
Summon a mob with any of the above tags, and convert it.
/summon minecraft:zombie_villager ~ ~ ~ {Health:10.0f,Invulnerable:1b,Fire:100s,Tags:["foo","bar"],ConversionTime:0}
Once the mob converted, look at its NBT data
/data get entity @e[type=villager,limit=1,sort=nearest]
→ ❌ Note that the tags marked with ❌ do not persist
Linked issues
is duplicated by 45
relates to 8
Attachments
Comments 63
This is MC-67437 (reopened that)
The "villager -> zombie villager" case is covered by MC-11883.
edit: But only the profession and maybe the trades, your ticket is about tags in general.
Confirmed, but the title is wrong, it only apply to mobs that turn into an other one : Pigs and Villagers.
Kinda related to MC-67437.