mojira.dev
MC-11883

Cured zombie villagers don't keep their profession

When a zombie is cured, he should become the same type of villager he was before (priest -> zombie -> priest). The trades re-randomizing is understandable since he went through a huge trauma.

This doesn't happen, so I think it is a bug.

Linked issues

Comments

Anon Ymus

Confirmed in 13w11a.

Itouch2

Still a concern in 1.7.4/5 and 1.8

[Mod] redstonehelper

Still happening in 14w33a.

[Mod] redstonehelper

Partially fixed in 15w35a:

Villagers turning into villager zombies keep their profession and name, but converting them back to villagers only keeps their name. Reducing ticket to remaining issues.

EnderCreeper132

Confirmed for 15w35b

Courtney Stevens

Confirmed for 15w35e

Sid Ben

This bug is FIXED in 15w42a. Did many tests:

  • *Villager to Zombie:* Keep profession and custom name (name tag). May not keep age, I had one case where an adult librarian turned into a chicken-jockey librarian;

  • *Zombie to Villager:* Keep profession and name tag. Do not keep career level (how many trades you unlocked), trades or equipment. It's like you get a brand new villager of the same profession. They DO NOT keep sub-profession, so a blacksmith zombie could become an Armorer, Tool Smith or Weapon Smith, regardless of the original sub-profession;

PancakeMan77

Sid Ben, I know this has been discussed in another report, but I don't think that that is a bug really. When a villager turns into a zombie, it spawns a Zombie with the Villager tag, and the Profession tag. The same would happen with a baby villager, except it would have the Baby tag. So it has a 5% chance to be baby, if it not already. Then, if it is a baby, it has a 5% chance to be a chicken jockey. Then there is the armor chances and all that. So if that is a bug, it would probably be more work to fix it then is worth it.

marcono1234

A way to fix this would be to store parts of the villager data in a compound tag called "VillagerData" (or similar). Storing and reading the data could work like this then:

Storing the data (Villager -> Zombie)

  1. For all tags in the villager data:

    1. If the tag is also a tag of a Zombie, use the value for the zombie

    2. If the tag is not a tag of a Zombie write it in the "VillagerData" tag

Reading the data (Zombie -> Villager)

  1. For all tags in the zombie data (except VillagerData):

    1. If the tag is also a tag of a Villager, use the tag

    2. If the tag is not a tag of a Villager, ignore

  2. For all tags in the VillagerData tag:

    1. Put the tag to the compound of the Villager

critical miner

(Unassigned)

Confirmed

Minecraft 1.5, Snapshot 13w11a, Minecraft 1.7.4, Minecraft 14w05b, Minecraft 14w06b, ..., Minecraft 1.8, Minecraft 1.8.1-pre3, Minecraft 15w35b, Minecraft 15w35e, Minecraft 15w38b

Minecraft 15w42a

Retrieved