mojira.dev
MC-88967

Most NBT tags are not kept when a mob converts to another mob

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

AbsorptionAmount

active_effects

Age, IsBaby

N/A

7

7

N/A

N/A

N/A

N/A

N/A

AngrTime, Brain.memories.minecraft:angry_at.ttl

N/A

N/A

N/A

N/A

N/A

N/A

N/A

N/A

N/A

N/A

N/A

N/A

AngryAt, Brain.memories.minecraft:angry_at.value

N/A

N/A

N/A

N/A

N/A

N/A

N/A

N/A

N/A

N/A

N/A

N/A

ArmorItems

8

8

8

8

N/A19

N/A19

8

8

ArmorDropChances

Attributes

CanBreakDoors

N/A

N/A

N/A

N/A

N/A

N/A

N/A

N/A

N/A

N/A

N/A

N/A

CanPickUpLoot

⚠️ 9

CustomName

20

20

CustomNameVisible

DeathLootTable

DeathLootTableSeed

FallFlying

8

8

8

8

N/A19

N/A19

8

8

Fire

N/A5

N/A15

N/A15

N/A15

N/A15

N/A23

ForcedAge

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

Gossips

N/A

N/A

N/A

N/A

N/A

N/A

N/A

N/A

N/A

N/A

N/A

N/A

HandItems

8

8

8

8

N/A19

N/A19

8

8

HandDropChances

Health

N/A10

N/A21

N/A21

HurtByTimestamp

HurtTime

❌ )

Invulnerable

N/A10

Leash

LeftHanded

Motion

NoAI

N/A4

N/A4

N/A6

11

13

13

N/A17

N/A17

N/A18

NoGravity

Offers

N/A

N/A

N/A

N/A

N/A

N/A

N/A

N/A

N/A

N/A

N/A

N/A

OnGround

Passengers1

N/A

N/A

PersistenceRequired

⚠️ 14

⚠️ 16

⚠️ 16

PortalCooldown

RootVehicle2

12

Rotation3

22

22

SleepingX, SleepingY, SleepingZ

Silent

Tags

UUID

23

23

VillagerData

N/A

N/A

N/A

N/A

N/A

N/A

N/A

N/A

N/A

N/A

N/A

N/A

Xp

N/A

N/A

N/A

N/A

N/A

N/A

N/A

N/A

N/A

N/A

N/A

N/A

wasOnGround

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 and Willing.

  • 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 and Brain.memories.minecraft:potential_job_site.

  • Villagers don't have CanBreakDoors.

How to reproduce

  1. 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}
  1. 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

Related issues

MC-91898 If you shear the mushroom cow with tag "NoAI", normal cow will be without the tag "NoAI" MC-97752 Converting Villager to Zombie MC-103290 Mooshrooms face south after shearing MC-127307 Zombies lose some properties after converting to a drowned MC-129122 Named Zombies become despawnable after turning into drowned. MC-132087 Zombies that turn into drowned regain health MC-132613 NBT is removed when zombies/husks convert MC-133997 Dropchances not carrying over with drowned conversion MC-134924 nametaged zombies can despawn after turned in drawn MC-136089 Name Tagged Villager despawns if converted to a Zombie Villager when >128 blocks away MC-138009 When a zombie turns into a drowned, the drowned faces south MC-142032 Persistence loss of mobs changing into other mobs, thus also despawn MC-159298 Villagers that have been infected by a zombie can despawn, even if they were named before they were converted MC-160139 Renamed Zombie villagers despawn MC-160146 zombified villagers despawn even when named MC-160149 Named Zombie Villagers despawn MC-160196 Named Villagers can despawn when converted to Zombie Villagers. MC-160551 Named Villagers converted to Zombie Villagers can despawn MC-162500 Named Villagers converted to Zombie Villagers despawn MC-163938 Zombie villagers despawn after cure MC-166749 Villagers, when name tagged and then subsequently are converted into Zombie Villagers retain their name tag but can despawn. MC-170501 Lost NBT data when converting to and from Villager and Zombie Villager MC-170509 Named Villagers lose their PersistenceRequired data value when converted into Zombies MC-170726 Zombie villagers despawning after curing. MC-172196 Portal Cooldown Resets when Mobs Transform MC-172677 Piglins transformed into Zombified Piglins do not keep facing the same direction as they previously were MC-173037 When A Piglin Is Named Using A Name Tag, It Will Despawn When It Becomes a Zombie Pigman MC-174190 If you breed mooshroom cows and then shear them to normal cows you can breed them again MC-174843 Mooshrooms lose velocity and rotation when sheared MC-176388 Zombie villagers despawning MC-180471 Piglins and Hoglins lose potion effects after zombification MC-183724 Zombie Villager Despawning MC-189750 When NoAI mooshrooms are sheared, they lose their NoAI tag MC-192485 Mobs that turn into other mobs dont keep attributes MC-193068 Left handed Piglin Brutes turn to right handed pigmen MC-193069 Zombified piglin doesn't keep Piglin Brute statistics MC-193072 Piglin bruts not keep value of health in 45 HP after zombification MC-193389 Piglin brute loses health after converting to zombified piglin MC-199995 Entities gain gravity when they convert MC-210921 Zombies turned into drown have reset health MC-220614 Issue MC-221538 Mooshroom looses EntityTags MC-264717 Villagers lose their heads when zombified and cured. MC-265679 Baby slimes/magma cubes do not inherit parent's velocity MC-267526 Converted mobs lose attributes

Attachments

Comments

migrated
[media][media][media][media][media][media][media][media]
mrpingouin1

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.

kumasasa

This is MC-67437 (reopened that)

qmagnet

Okay but NoAI status does remain.

kumasasa

Yes, I was wrong.

[Mod] redstonehelper

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.

marcono1234

Something like this could work to "fix" this:

  1. For all tags in the entity:

    1. If the tag is also a tag of the target entity (for example Witch), use the value for the tag

    2. If the tag is not a tag of the target entitiy, ignore the tag

JUE13

Confirmed for 1.12 release.

violine1101

Zombie → Drowned is also affected by this, see MC-127307.

tryashtar

Is the set of tags that are transferred over the same between all current conversions?

bLaZe_22

Can confirm for 1.13-pre5.

bLaZe_22

Can confirm for 1.13-pre6.

Meri Diana

Confirmed for 19w02a.

Recoded Zaphod

this creates a noticeable issue in the 1.14.4 version; as players infect and cure villagers for cheaper trades, named villagers become able to despawn when in the zombie villager state despite still having their names (appearing to the player to have Persistence).

Kaley Obsidia

Just watched MumboJumbo's video where his named villagers were converted to zombies and despawned. The player expectation is if you name the villager it makes the zombie villager safe, and given how much effort goes into unlocking the villagers this would be a very frustrating bug for anyone who's making villager trading setups.

Misode

Affects 1.15.1

Also effects zombie -> drowned conversion, but interestingly, not their PersistenceRequired tag, which gets transferred correctly.

Misode

Drowned

Villager

Cow

Slime

Zombie Villager

Fire

DeathLootTable

Tags

Rotation

Motion

Silent

Health

❌ intended

PersistenceRequired

Invulnerable

?

CustomName

Jakob Klint

I can confirm that this affects version 1.15.2. Another important nbt tag that gets lost when converting a Zombie Villager into a villager is the “CanPickUpLoot” tag.

Jakob Klint

 

Drowned

Villager

Cow

Slime

Zombie Villager

Fire

DeathLootTable

Tags

Rotation

Motion

Silent

Health

❌  intended

PersistenceRequired

Invulnerable

?

CustomName

CanPickUpLoot

-

-

Gatinh0

Of note, in 1.15.2 this still affects tags. Tags are lost when villager converts to zombie, and rescued back to villager.

Tags:["test_tag"]
Misode

@unknown Could I have ownership of this ticket to keep it up-to-date?

violine1101

According to MC-172196, PortalCooldown is affected as well.

qmagnet

Yes you can have this. It's been 4 years and nothing has happened with this bug so I lost interest long ago.

Feranogame

Same happens for the zombification of Piglins.

Orbic

In 20w10a

Orbic

In 20w11a

Orbic

In 20w12a

FaRo1

Apparently NoAI affects cows again (in 20w15a): https://youtu.be/-mfiua5M6qg?t=236

bugsbugsbugs

I have noticed this with the direction the mob is looking. Mobs that convert into another mob don't keep the direction they are looking. This issue does not affect mobs that change the variant. For example if a mooshroom gets stuck by a lightning it keeps the direction, because it is not a seperate mob it is just a variant. Other data of the mooshroom should be also be kept.

Orbic

In 20w18a

Orbic

In 20w19a

Orbic

In 1.16 pre-2

Orbic

In 1.16 Pre 3

Iosiv Visokogorskiy

Confirmed for 1.16.1

supeika

you should add an image of piglins and piglin brutes transformed into zombified piglins, because that image with a zombie pigman refers to an old version, and with the 1.16 is useful having two images of that.

Avoma

Can confirm in 20w51a.

Avoma

Can confirm in 21w03a.

Avoma

Can confirm in 21w05b.

Avoma

Can confirm in 21w06a.

Avoma

Can confirm in 21w07a.

Avoma

I've attached an example video.

Avoma

Can confirm in 21w13a.

ampolive

Also affects the Attributes tag.

Avoma

This ticket is actively updated by @unknown, so I don't think there is any need to transfer ownership.

user-f2760

Wouldn't it just be easy to save the NBT data the mob had, and merge the data into the new mob (and apply other changes like the regeneration effect for villagers, and the dropping of equipment for drowned after that)?
(as permanent fix for this issue with all conversions)

Avoma

Can confirm in 1.18.

Avoma

Can confirm in 1.18.2.

Tine4k

This also affects Shulker Mob Duplication, tags like the colour are kept, but things like the DeathLootTable get deleted. Can confirm this on 1.18.2 (MC-251930)

user-f2760

I'd suggest reporting that separately, as it isn't a mob converting to another, but a new mob being spawned in.

user-f2760

Also affects villager to witch, husk to zombie, skeleton to stray, magma cube to smaller magma cube and hoglin to zoglin.

Also for slime to smaller slime, health should be "-" as that only happens on death.

ampolive

Slimes and magma cubes should also not get the bigger mob's UUID because that would result in several entities with duplicated UUIDs.

ampolive

This might also affect red mooshroom / brown mooshroom conversion.

Misode

This might also affect red mooshroom / brown mooshroom conversion.

That should not be the case since that conversion is done with an NBT tag rather than changing the entity ID.

ampolive

Oops, I thought that they were separate entities 😛 You're right.

user-f2760

Zombie villager to villager does keep rotation, it's just desynced on the client: MC-248587.

Ghoulboy

Don't forget Pigs to Zombified Piglins via lightning

Avoma

Can confirm in 1.19.2.

user-f2760

Villager to zombie villager keeps rotation, but it is desynced; only client believes it faces south.

user-f2760

Needs a HandItems/ArmorItems row, see MC-264717.

4ebugger

Confirm in 1.20.2 pre1, aslo affect trial spawners.

user-f2760

Spawn method has no relation to convertion.

CaptainFlame54

Attrobites are also affected.

Xfrtrex

Can confirm in 1.21-pre2.

Ray

Villagers to witches one still does not work: ArmorItems-8 The equipment is not dropped, nor brought over to the new form.

qmagnet

Misode

coschevi

Confirmed

Gameplay

Low

Entities

conversion, lightning, lightning_bolt, mob, nbt, scoreboard, scoreboard-tag

Minecraft 15w38b, Minecraft 15w44b, Minecraft 1.9 Pre-Release 2, Minecraft 16w42a, Minecraft 1.12, ..., 1.20.3 Pre-Release 1, 1.20.4, 23w51b, 24w13a, 1.21 Pre-Release 2

24w36a

Retrieved