Mojira Archive
MC-93826

Breeding hearts only show once and not all the time an animal can breed anymore

The bug

In 1.8.8 and maybe later animals which can breed showed hearts the whole time they were able to breed.
Now the hearts are only shown once.

The reason

The following is based on decompiled version of Minecraft 1.9 using MCP 9.24 beta. All method and class names are the names used in the decompiled version.

The reason why this happens is because the client never receives the InLove value from the server. In 1.8.9 and earlier the method net.minecraft.entity.EntityAgeable.getGrowingAge() (MCP 9.10) returned for the client the stored value whether or not the animal is a child (for 1.8 entry 12 of the data watcher, for 1.9 net.minecraft.entity.EntityAgeable.field_184751_bv). In 1.9 it returns -1 if the animal is a child, 1 if it is not. This breaks some logic for the net.minecraft.entity.passive.EntityAnimal class.

Besides that the client should receive the InLove value because neither in 1.8.9 nor in the latest versions summoning an animal with InLove greater than 0 shows particles.

/summon pig ~ ~ ~ {InLove:2147483647}

Note: The server should not run the particle spawning code of the method net.minecraft.entity.passive.EntityAnimal.onLivingUpdate().