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

Upgrading a world with horses wearing leather horse armor makes the horse immune to freezing forever


    • Confirmed
    • Datafixer
    • Important
    • 1223850
    • Expansion A

      Relates to MC-270767. In 24w05a the way that horse armor is stored on horses was changed to use body_armor_item instead of ArmorItems[2]. However when upgrading a world, the horse armor is not removed from ArmorItems[2] but it is added to body_armor_item as expected. This causes duplicated horse armor storage. This means that the horse will behave as if it is still wearing the horse armor even when you remove it, causing enchantments to be applied when they shouldn't and allowing you to not experience MC-268934, MC-270539, MC-270301. While the issue for enchantments doesn't affect survival gameplay, this issue causes the horse to still be immune to freezing even if it is no longer wearing leather horse armor.

      Steps to reproduce:
      You can use the world download MC-270871.zip to skip to step 5.

      1. Start version 1.20.4.
      2. Tame a horse.
      3. Saddle it and equip it with leather horse armor.
      4. Upgrade the world to the latest version.
      5. Unequip the leather horse armor from the horse.
      6. Ride the horse into powder snow.
      7. /execute on vehicle run data get entity @s

      Observed results:
      The horse won't freeze in the powder snow even though it is no longer wearing the leather horse armor.

      Expected results:
      The horse should freeze, since it is not wearing leather horse armor anymore

      Note: Fixing this by removing the ArmorItems array from horses entirely wouldn't be a good idea, since that will break things made by map makers. All mobs seem to have an ArmorItems array. The best way to fix this is probably by removing items from ArmorItems[2] on horses when upgrading the world to prevent duplicated horse armor storage.


            gnembon [Mojang] Gnembon
            1 Vote for this issue
            2 Start watching this issue