Mojira Archive
MC-59061

Player is for a short moment at the wrong position when opening a world

The bug

When you open a world the player is at the wrong position for a short moment. This is most noticeable when the game loses focus and pauses just before it finishes loading (might take multiple tries).

Code analysis

Based on 1.11 decompiled using MCP 9.35 rc1

This happens because the client calls the method net.minecraft.client.Minecraft.loadWorld(WorldClient, String) when it receives a net.minecraft.network.play.server.SPacketJoinGame packet. The constructor net.minecraft.entity.player.EntityPlayer.EntityPlayer(World, GameProfile) places the player at the spawn point and the method net.minecraft.entity.player.EntityPlayer.preparePlayerToSpawn() searches a valid position near the spawn point.
The position is corrected when the first net.minecraft.network.play.server.SPacketPlayerPosLook packet is received.

Sending the player position in the SPacketJoinGame packet could solve this problem.

Cannot Reproduce

Marcono1234

2014-06-25, 10:56 PM

2020-08-14, 04:54 AM

2020-02-16, 03:35 PM

3

4

Confirmed

(Unassigned)

packet, player, spawnpoint, world

Minecraft 14w26b - Minecraft 17w06aMinecraft 14w26b, Minecraft 14w28a, Minecraft 14w29b, Minecraft 14w30c, Minecraft 14w31a, Minecraft 1.8-pre2, Minecraft 1.11, Minecraft 1.11.2, Minecraft 17w06a

Minecraft 15w37a