mojira.dev

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.

 

Comments 2

i have the same bug

I use a command block to summon my favorite horses and I have noticed in 1.16.1 no matter what I adjust the movemvent speed to the horse is the same speed (all of them very slow).  I have a horse spawned from the previous version still in the game and its particle effects have not worn off yet and it is still very fast.  I also tried just summoning horses with a limited command, setting just the speed.  Same problem.

Here's the summon command I am using for my command block:

/summon horse ~ ~1 ~ {SaddleItem:

{id:"minecraft:saddle",Count:1b}

,Variant:768,ArmorItem:{id:"minecraft:diamond_horse_armor",Count:1b},Tame:1,Attributes:[

{Name:generic.maxHealth,Base:9999}

,

{Name:generic.movementSpeed,Base:0.4}

,

{Name:generic.followRange,Base:40}

,

{Name:generic.knockbackResistance,Base:1.0}

,

{Name:generic.armor,Base:30}

],Invulnerable:1,Health:9999.0f,ActiveEffects:[

{Id:8,Amplifier:3.4,Duration:999999,ShowParticles:0}

,

{Id:10,Amplifier:255,Duration:999999,ShowParticles:0}

]}

Also tried this command, with variations to the amplifier number and it appears that changing the speed number has no effect.  

/summon horse ~ ~1 ~ {Variant:1024,Tame:1,SaddleItem:

{id:saddle,Count:1}

,ActiveEffects:[

{Id:1,Amplifier:1,Duration:999999}

]} 

 

Update 8/18/20:

After going through the list of updates (which I should have done more thoroughly) I see that the attribute commands changed.  However, I will point out I can no longer put together attributes and variants in a single command.  I have to use 2 command blocks now.  1 to apply the variants and 1 to apply the attributes.  Once I worked that out, the horses are fast as expected again.  Will update if they lose this effect.   

Grungy

(Unassigned)

Community Consensus

(Unassigned)

1.15.2

Retrieved