XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • None
    • 1.15.2
    • None
    • Community Consensus
    • (Unassigned)

      Prior to 1.9 horses were slightly faster. A horse with the same movement speed in 1.8.9 is faster than a horse with the same movement speed in 1.9 (and all versions after to at least 1.15.2). The difference is slight which is likely why it has gone unnoticed for so long, but it is measurable.

      Steps to recreate:

      1. Use a game tick precise stopwatch to measure a horse's speed over a distance of 100m

      2. Time a horse with a movement speed of 0.3375 as you ride it across the 100m distance in a straight line in version 1.8.9

      3. Time a horse with a movement speed of 0.3375 as you ride it across the 100m distance in a straight line in version 1.15.2 (or any other version between 1.9 and 1.15.2)

      4. Compare results

      Tip: Use these commands to summon a horse with a movement speed of 0.3375

      1.8.9: /summon EntityHorse ~ ~ ~ {Tame:1,SaddleItem:{id:saddle,Count:1},Attributes:[{Name:generic.movementSpeed,Base:0.3375}]}

      1.15.2: /summon horse ~ ~ ~ {Tame:1,SaddleItem:{id:saddle,Count:1},Attributes:[{Name:generic.movementSpeed,Base:0.3375}]}

      Tip: Use these commands to check the generic.movementSpeed of a horse:

      1.8.9: /entitydata @e[type=EntityHorse,c=1,r=5] {}

      1.15.2: /data get entity @e[type=horse,limit=1,distance=..5] Attributes[2]

       
      Tip: illmango has a video in which he demonstrates how to measure the speed of a horse using his gametick precise stopwatch that works in version 1.8.9 and later, in the description he has a world download https://www.youtube.com/watch?v=7KUCvBg9-_M Alternatively, I have a stopwatch I made, but it doesn't work in 1.8.9. It can be used to verify the accuracy of illmango's stopwatch.(https://www.youtube.com/watch?v=Fyjgmr0WX9U) Command blocks might be another valid way to make a stopwatch.

       

      The following is a more in-depth explanation:

      Horses have an attribute in their nbt-data call generic.movementSpeed. A naturally spawning horse will have a random generic.movementSpeed ranging from 0.1125 to 0.3375. There is nothing wrong with this part of the game. The discrepancy between versions prior to 1.9 and current versions is that horse with a given movement speed in 1.8.9 are slightly faster than a horse with that same movement speed in versions 1.9 and later. Here is an example to clarify what is meant:

           In 1.8.9 the fastest horse in the game with a (generic.movementSpeed of .3375) can travel ~14.570m/s. In 1.15.2 the fastest horse in the game (with the same movement speed of .3375) can only travel at ~14.228m/s.

      After some testing, I have narrowed the version in which this change happened to a version between 1.8.9 and 1.9. Additional research needs to be done to determine whether or not this affects entities other than horses.

      It is simple to convert movement speed to m/s. illmango derived a constant ~43.1717 in version 1.8.2 pre-1 which I have verified is consistent with version 1.8.9. Simply multiply the movement speed by the constant to convert to m/s. I have derived a new constant for versions 1.9 and later. The conversion rate has changed from ~43.1717 in version 1.8.9 to ~42.1578 in version 1.15.2. It is likely that this change was unintended, though it is insignificant and not trivia to measure.

      I have verified this issue in multiple environments on servers and in singleplayer.

       

            Unassigned Unassigned
            Grungy Grungy
            Votes:
            4 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              CHK: