Uploaded image for project: 'Minecraft: Java Edition'
  1. Minecraft: Java Edition
  2. MC-93826

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



    • Icon: Bug Bug
    • Resolution: Unresolved
    • None
    • Minecraft 15w49b, Minecraft 16w06a, Minecraft 1.9.1 Pre-Release 3, Minecraft 16w15a, Minecraft 1.9.3 Pre-Release 2, Minecraft 1.9.4, Minecraft 16w21b, Minecraft 1.10.2, Minecraft 16w41a, Minecraft 16w42a, Minecraft 16w43a, Minecraft 1.11, Minecraft 1.11.2, Minecraft 1.12 Pre-Release 6, Minecraft 1.12, Minecraft 1.12.2, Minecraft 18w01a, Minecraft 1.13-pre1, Minecraft 1.13, Minecraft 1.13.1, Minecraft 1.13.2, Minecraft 18w48a, Minecraft 18w48b, Minecraft 18w49a, Minecraft 18w50a, Minecraft 19w04b, Minecraft 19w05a, Minecraft 19w06a, Minecraft 19w14a, 1.14.4, 19w38b, 19w45a, 19w45b, 19w46b, 1.15 Pre-release 4, 1.15.2, 20w09a, 1.16.4 Pre-release 2, 1.16.4, 20w51a, 21w03a, 21w05b, 1.17 Pre-release 1, 1.17, 1.17.1, 1.18 Pre-release 1, 22w05a, 1.18.2, 1.19 Pre-release 1, 1.19 Pre-release 2, 1.19 Pre-release 3, 1.19 Pre-release 4, 1.19 Pre-release 5, 1.19, 1.19.2, 22w44a, 22w46a
    • Confirmed
    • Mob behaviour
    • Low


      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().




            Unassigned Unassigned
            marcono1234 [Mod] Marcono1234
            51 Vote for this issue
            17 Start watching this issue