mojira.dev
MC-254119

Breeding a Screaming Goat and a Regular Goat never results in a screaming goat

I found a screaming goat and a regular goat in the wild, naturally spawned. I have read that if two regular goats breed, there is only a 2% chance of the baby being a screaming goat, if both are screaming goats there is a 100% chance, and if one is regular and one is screaming, there is a 50% chance. I have been repeatedly breeding the screaming goat with the regular goat and have NEVER got a screaming goat. I've bred at least 30 baby goats and used wheat to accelerate them into adults, and NONE of them have ever been screaming. Is this a bug? I am 100% sure that the two originals are a screaming and a regular.

Linked issues

Comments 4

Also been having this issue for the past two days. Bred many goats until I got one screaming goat, have been breeding that one screaming goat with another regular one at least 20 times without getting another screaming goat. Randomization is randomization, but that's extremely poor RNG if it's supposed to be 50%. Not sure if this is because of false information being spread about one parent being a screaming goat giving it a 50% chance, and the chance remains 2%, or if it is a bug. Seems like it should be a bug, though, based on other breeding mechanics in the game.

Can confirm that either the wiki is wrong or breeding a screaming goat to a normal goat gives 50% chance of a screaming goat is not working. 

Seconded, I bred a Screaming Goat from two normal ones, and have unsuccessfully bred like 40+ more goats from it. Either the wiki is wrong, or this is a bug.  

I've managed to get screaming goats when breeding a normal goat and a screaming goat in the situation Skorpeyon described. I haven't tried finding a natually-spawned screamer.

Looking at the decompiled code for 1.19, in net.minecraft.world.entity.animal.goat.Goat I see that it chooses the type of the baby by looking at the type of the other parent. Most other animals that inherit a trait from one parent explicitly use this.random.nextBoolean() to select one of the parents. The one exception I noticed was for ownership of tamed wolves, for which the code always uses the this parent and the wiki says the baby's owner is always the same as the older parent.

Based on that, I did a little experimenting in Creative. Over a small number of trials, if I /summon the screamer second then the baby was always a screamer, while if I /summon the normal goat second the baby was always normal (I didn't do enough trials to really see the 2% chance).

So as a workaround, I'd suggest people try breeding their screamer with a normal goat that was spawned earlier than the screamer, rather than with one spawned later.

Spencerp24

(Unassigned)

Community Consensus

Normal

Mob behaviour

1.19

22w42a

Retrieved