-
Bug
-
Resolution: Fixed
-
20w20a
-
None
-
Plausible
-
Mob behaviour, Mob spawning
-
Normal
The bug
When a villager is killed by a zombie and converts to a zombie villager, the zombie villager will have PersistenceRequired set depending on whether the attacking zombie had it.
This is incorrect, it should be set depending on whether the villager which was killed had it set.
Reproduction steps
- Summon a villager with PersistenceRequired:0b (encase it, to make the next steps easier)
/summon villager ~ ~ ~ {PersistenceRequired:0b,Health:1f}
- Set the difficult to Normal or Hard
- Summon a zombie or subtype which has PersistenceRequired:1b
/summon husk ~ ~ ~ {PersistenceRequired:1b}
- Wait until the villager was killed
- Inspect the NBT data of the new zombie villager
/data get entity @e[type=zombie_villager,limit=1,sort=nearest] PersistenceRequired
It has PersistenceRequired:1b
Code analysis
20w19a, Mojang names
The check in Zombie.killed(LivingEntity) is incorrect:
if (this.isPersistenceRequired()) { zombieVillager.setPersistenceRequired(); }
This should be if (villager.isPersistenceRequired()) instead.
- relates to
-
MC-88967 Most NBT tags are not kept when a mob converts to another mob
- Resolved