"Player moved wrongly!" in Game Output when eating chorus fruit
To reproduce, eat a chorus fruit and watch the game output as you are teleported.
Code analysis by Marcono1234 in this comment.
Linked Issues
Created Issue:
"Player moved wrongly!" in Game Output when eating chorus fruit
To reproduce, eat a chorus fruit and watch the game output as you are teleported.
Added Affects Versions: 15w47c
Added Affects Versions: 15w50a
Deleted Comment:
Confirmed for 15w50a
Added Affects Versions: 1.9
Added Affects Versions: 1.9.1-pre3 1.9.1-pre2 1.9.1-pre1
Added Affects Versions: 1.9.3-pre3 1.9.2
Added Affects Versions: 16w39c
Changed Description:
To reproduce, eat a chorus fruit and watch the game output as you are teleported.
Code analysis by Marcono1234 in this comment .
Added Linked Issues:
relates to
Added Affects Versions: 16w40a
Added Affects Versions: 16w42a
Added Affects Versions: 16w43a
Added Affects Versions: 16w44a
Deleted Comment:
Change needed:
Affects Versions 16w44a
Added Affects Versions: 1.11-pre1
Added Affects Versions: 1.11
Added Affects Versions: 16w50a
Added Affects Versions: 1.11.2
Added Affects Versions: 1.12
Added Linked Issues:
is duplicated by
Added Mojang Priority: Normal
Confirmed for 15w47c.
Confirmed for 1.9 stable
Still in 1.9.1-pre3
Still in 1.9.3-pre3
Confirmed in 1.10.2, 16w35a and 16w36a.
Confirmed in 16w38a
Confirmed in 16w39a
Confirmed in 16w39b
Confirmed in 16w39c
Please link to this comment in the description
The following is based on a decompiled version of Minecraft 1.10 using MCP 9.30.
The reason why this happens is very likely that the last position of the player is not updated when the player position is changed. More concrete, the server first receives packets and after that updates the player and updates its last position (method net.minecraft.network.NetHandlerPlayServer.captureCurrentPosition()):
The problem is that the method net.minecraft.network.NetHandlerPlayServer.setPlayerLocation(double, double, double, float, float, Set<EnumFlags>) which is used when the player used the chorus fruit (Update part) does not update the last player position (captureCurrentPosition()). When the client then sends the new position back, the server thinks the player teleported, because the last position was not changed in between.
Confirmed in 16w40a
Confirmed in 16w41a
Please do not mark unreleased versions as affected.
You don't have access to them yet.
Confirmed in 16w42a
Confirmed in 16w43a
Confirmed in 16w44a
Confirmed in 1.11-pre1
Confirmed in 1.11
Confirmed in 16w50a
Confirmed in 1.11.2
It would appear that this bug was fixed in 1.13.1's snapshot, 18w31a