When loading an "Old"-type (limited) world, the player sometimes respawns a short distance away from where they were when they saved the world. When it happens, either their X or Z coordinate, whichever is closest to a chunk boundary, is changed to put them in a block next to that boundary on its eastern or southern side. Fractional position is significant in calculating which chunk boundary is closest.
The bug may not always be triggered, but is triggered pretty consistently in the attached test world. It has not been reported in "Infinite" or "Flat"-type worlds, but that possibility cannot be eliminated.
Steps to reproduce:
Import the sample world TestworldRespawn.mcworld and load it.
The player spawns at X=60.3372, Y=94.62, Z=60.6899 (the coordinates recorded as the player position in the saved world files).
The player spawns at X=60, Y=94, Z=63.
- This issue was originally reported by Karl Maenlest in comments to
MCPE-38374. After a while, the mods concluded that it only occurred in old-type worlds and was therefore a separate issue, leading us to create this report to track it.
- Karl created the test world and made a substantial and careful effort to explore the details of the bug (many thanks, Karl!). His comments, starting here, might well contain additional important information. In particular, the image he included in this comment helps clarify how the player spawn point gets moved.
- The test world was created with Experimental Gameplay enabled. It is unknown whether this has any effect, but it should be considered as a possible trigger for the bug.