Why won't zombie villager kid take the golden apple?
Solution 1:
The baby zombie you cured before was a baby villager zombie. Normal baby zombies can't be cured.
Here are two adorable baby zombies, one a villager and one a non-villager. I've hit them with a weakness potion and offered them both cookies golden apples. Only the baby villager zombie accepted the apple, as you can see by the dark red spirals around that one compared to the black spirals around the one on the right:
While I was writing this answer up, Harold (the baby villager zombie) had a complete recovery and is now ready to grow up and become a productive member of testificate society:
Technical details
The NBT data for zombies contains two relevant flags: IsBaby
and IsVillager
. A baby villager zombie is exactly like a normal baby zombie except that it has IsVillager: true
while the normal baby zombie has IsVillager: false
.
Since the code for curing tests for IsVillager: true
, the curing code is skipped if you try to cure a zombie that has IsVillager: false
. This makes normal baby zombies incurable.
Where did the baby villager zombie come from?
It's commonly believed that baby villager zombies can only be created by a zombie killing a baby villager. I thought so myself, but this is apparently not true!
Digging through the decompiled game code provided by MCP, this is the line that controls what kind of zombie spawns:
par1EntityLivingData1 = new EntityZombieGroupData(this, this.worldObj.rand.nextFloat() < 0.05F, this.worldObj.rand.nextFloat() < 0.05F, (EntityZombieINNER1)null);
Notice the two calls to rand.nextFloat() < 0.05F
. Those are what ultimately set IsBaby
and IsVillager
. The first call sets IsBaby
true in 5% of zombies, while the second call sets IsVillager
true in 5% of zombies. Notice that neither depends on the other.
The spawning probabilities in combination:
| Non-baby | Baby
| (95%) | (5%)
-------------------+----------+---------+
Non-villager (95%) | 90.25% | 4.75% |
-------------------+----------+---------+
Villager ( 5%) | 4.75% | 0.25% |
-------------------+----------+---------+
So in summary, the chance of a zombie spawning for each type is:
Zombie type Spawn chance (%)
-----------------------------
Normal 90.25
Baby 4.75
Villager 4.75
Baby Villager 0.25
Your baby villager zombie was likely a very rare 0.25% zombie spawn. You were very lucky to find it and catch it!