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

Parrots can still be sitting on shoulders, when they are burning, poisoning and withering

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Open
    • Resolution: Unresolved
    • Affects Version/s: Minecraft 1.12.2, Minecraft 17w50a, Minecraft 18w01a, Minecraft 18w02a, Minecraft 18w03a, Minecraft 18w03b, Minecraft 18w05a, Minecraft 18w06a, Minecraft 18w07a, Minecraft 18w07b, Minecraft 18w07c, Minecraft 18w08a, Minecraft 18w08b, Minecraft 18w09a, Minecraft 18w10a, Minecraft 18w10b, Minecraft 18w10c, Minecraft 18w10d, Minecraft 18w11a, Minecraft 18w14a, Minecraft 18w14b, Minecraft 18w15a, Minecraft 18w16a, Minecraft 18w19b, Minecraft 18w20c, Minecraft 1.13-pre1, Minecraft 1.13-pre6, Minecraft 1.13, Minecraft 18w31a, Minecraft 18w32a, Minecraft 18w33a, Minecraft 1.13.1-pre1, Minecraft 1.13.1-pre2, Minecraft 1.13.1, Minecraft 1.13.2-pre1, Minecraft 1.13.2-pre2, Minecraft 1.13.2, Minecraft 18w43a, Minecraft 18w43b, Minecraft 18w43c, Minecraft 18w44a, Minecraft 18w45a, Minecraft 18w46a, Minecraft 18w48a, Minecraft 18w48b, Minecraft 18w49a, Minecraft 18w50a, Minecraft 19w12b, Minecraft 19w13b, Minecraft 19w14a, Minecraft 19w14b, Minecraft 1.14.3, 1.14.4, 19w34a, 19w39a, 19w40a
    • Fix Version/s: None
    • Confirmation Status:
      Confirmed
    • Category:
      Mob behaviour, Player

      Description

      The bug

      Parrots can still be sitting on shoulders, when they are burning, poisoning and withering.

      Caused the following issues:
      1. When the parrot is on the shoulder, will not have fire animation and potion particles. (This relates to MC-115111)
      2. No matter how long the parrot stays on the shoulders, when they get off the shoulders still continue to burn, poison and wither (in general, no status effects can be applied or tick down, or have any effect on a shoulder parrot).

      Code analysis

      The following is based on a decompiled version of Minecraft 1.12.2 using MCP 9.40.
      The reason for this is, because the flag boolean in the method net.minecraft.entity.ai.EntityAILandOnOwnersShoulder.shouldExecute() does not check if the entity (parrot) is burning, is poisoned or withered.

      Suggested fix
      boolean flag = entitylivingbase != null && !((EntityPlayer)entitylivingbase).isSpectator() && !((EntityPlayer)entitylivingbase).capabilities.isFlying && !entitylivingbase.isInWater() &&
      //Everything beneath is added to fix this issue
      !entity.isBurning() && !entity.isPotionActive(MobEffects.POISON) && !entity.isPotionActive(MobEffects.WITHER);
      

        Attachments

        1. 2017-12-28_02.17.03.png
          2017-12-28_02.17.03.png
          491 kB
        2. 2017-12-28_02.17.13.png
          2017-12-28_02.17.13.png
          550 kB
        3. 2017-12-28_02.17.18.png
          2017-12-28_02.17.18.png
          498 kB
        4. 2017-12-28_02.20.49.png
          2017-12-28_02.20.49.png
          431 kB
        5. 2017-12-28_02.21.00.png
          2017-12-28_02.21.00.png
          371 kB
        6. 2017-12-28_02.21.36.png
          2017-12-28_02.21.36.png
          474 kB
        7. 2017-12-28_02.22.07.png
          2017-12-28_02.22.07.png
          455 kB
        8. 2017-12-28_02.22.11.png
          2017-12-28_02.22.11.png
          606 kB
        9. 2017-12-28_02.22.16.png
          2017-12-28_02.22.16.png
          586 kB

          Issue Links

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                Les3awe [Mod] Les3awe
              • Votes:
                7 Vote for this issue
                Watchers:
                6 Start watching this issue

                Dates

                • Created:
                  Updated:
                  CHK: