mojira.dev
MC-239705

Sprinting forward while facing a certain angle pushes the player either to the left or to the right

If you sprint while going forward and with a certain horizontal angle which has to be, according to my experimentations, between 1.9 and 3.9 or between -1.9 and -3.9 degrees off of one of the 4 directions (south, east, north, west), you are slightly pushed to the left or the right, depending on which of the 8 possible configurations you're replicating.

Details :

angle 2.5 -> pushed to the right

angle 87.5 -> pushed to the left

angle 92.5 -> pushed to the right

angle 177.5 -> pushed to the left

angle -177.5 -> pushed to the right

angle -92.5 -> pushed to the left

angle -87.5 -> pushed to the right

angle -2.5 -> pushed to the left

 

Also it looks like the more your angle is near 3.9 degrees off of one of the four directions, the more you'll be pushed.

 

Video showing the bug : https://www.youtube.com/watch?v=SApAawx6fGw

This video was not recorded in vanilla Minecraft but I tested it in vanilla and it happens too.

The bug didn't seem to work in 1.8.9 but it did in 1.16.4 and 1.17.1.

Attachments

Comments 4

Hi there! I attempted to reproduce this issue but was unsuccessful. When sprinting while facing the affected angles you described, I didn't notice my character being "pushed" at all. With this being said, could you please provide a video recording of this issue occurring under complete vanilla circumstances? You mentioned that you recorded the footage with mods but the issue was still present without the use of them; could you please verify this with another video as testing that I conducted myself suggested otherwise? Additionally, some clear and concise reproduction steps on how to go about recreating the problem here would be greatly appreciated. Thanks in advance!

This issue is being temporarily closed as Awaiting Response. Once the requested information has been delivered, the report will be reopened automatically.

Quick Links:
📓 Bug Tracker Guidelines – 💬 Community Support – 📧 Mojang Support
📓 Project Summary – ✍️ Feedback and Suggestions – 📖 Game Wiki

Hi, thanks for your interest on this even though I made this ticket quite a long time ago. I'm not sure why it was put in the resolved state, I hope I don't do this for nothing...

I made another video in vanilla 1.19.2 as you suggested, showing my keybinds and my video settings, and in F3 mode :

https://www.youtube.com/watch?v=8Q1ctCdeOfk

(I have an AZERTY keyboard which is why my key binds don't match the overlay at the top right of the video)

Steps :

1) Place yourself anywhere in a 1.19.2 vanilla Minecraft world, preferably facing a particular object to be able to notice the movement flaw. In my video the referential object is a tree.

2) Face the object with one of the angles in my original post.

3) Alternatively press the backwards key and the forwards key while sprinting, around 10 times (like I do in my video). Don't move the mouse or press a strafe key.

At the end you should have deviated a little to the right or to the left from your original position, while you would expect to have stayed on the same line, since neither the mouse or any strafe key were used.

 

A few days after I made this ticket last year I asked someone who knows the Minecraft movement code very well, and he told me this :

"When you move a direction (X or Z), you normally keep a part of your speed in that direction (54.6% on ground), but only if it's over a certain threshold (|v| > 0.003).
In that video you're moving towards Z, and slightly towards X.
What's happening here is that when you sprint forward, you have enough speed to surpass the 0.003 threshold in the X axis, but not when you're walking. Therefore, over time, you move slightly to the right.
It's a bit stupid, but that's the way it works. Other games normally apply a threshold on the entire velocity, rather than just its individual components."

 

It's not particularly clear for me but if it can help...

Was able to reproduce. Thanks for the detailed explanation.

This was apparently fixed in 25w02a.

Vincent

(Unassigned)

Confirmed

Platform

Low

Player

1.17.1, 1.19.2, 1.19.3 Pre-release 2, 1.21.4

25w02a

Retrieved