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

Unequipping horse armor shows armor equipping subtitle "Horse armor equips"

    XMLWordPrintable

    Details

    • Confirmation Status:
      Confirmed

      Description

      The bug

      Removing the armor of a horse plays the entity.horse.armor sound and shows the according subtitle "Horse armor equips", which does not fit.

      The reason

      The following is based on a decompiled version of Minecraft 1.10 using MCP 9.30.

      The reason fro this is that the method net.minecraft.entity.passive.EntityHorse.onInventoryChanged(InventoryBasic) plays this sound if the horse had no armor and now wears armor or if the armor it wears now (including NONE) is not the same it wore before. The second condition makes little sense because this condition is already included in the first one. I assume something like following is the intended behaviour:

      /**
       * Called by InventoryBasic.onInventoryChanged() on a array that is never filled.
       */
      public void onInventoryChanged(InventoryBasic invBasic)
      {       
          HorseArmorType horsearmortype = this.getHorseArmorType();
          boolean flag = this.isHorseSaddled();
          this.updateHorseSlots();
      
          if (this.ticksExisted > 20)
          {
              // Replaced this
              //      if (horsearmortype == HorseArmorType.NONE && horsearmortype != this.getHorseArmorType())
              //    {
              //        this.playSound(SoundEvents.ENTITY_HORSE_ARMOR, 0.5F, 1.0F);
              //    }
              //        else if (horsearmortype != this.getHorseArmorType())
              //    {
              //        this.playSound(SoundEvents.ENTITY_HORSE_ARMOR, 0.5F, 1.0F);
              //    }
              if (horsearmortype != this.getHorseArmorType() && this.getHorseArmorType() != HorseArmorType.NONE)
              {
                  this.playSound(SoundEvents.ENTITY_HORSE_ARMOR, 0.5F, 1.0F);
              }
      
              if (!flag && this.isHorseSaddled())
              {
                  this.playSound(SoundEvents.ENTITY_HORSE_SADDLE, 0.5F, 1.0F);
              }
          }
      }
      

      Note: Changing the armor to a different armor item of the same type does not play the sound which could be seen as a bug.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                FruBasilicum [Mojang] Agnes Larsson
                Reporter:
                marcono1234 [Mod] Marcono1234
              • Votes:
                1 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:
                  CHK: