DaFuqs / GlobalSpawn

GlobalSpawn allows you to change spawn dimension and position via command or config file.
GNU Lesser General Public License v3.0
4 stars 3 forks source link

Invalidating beds/respawn anchors break the global spawn point #2

Closed amnotbananaama closed 3 years ago

amnotbananaama commented 3 years ago

Bug 2

I think this is related to a vanilla bug or quirk. When players a player's bed or respawn anchor is removed (destroyed, burned, etc.), their spawn coordinates are not removed. Invalid spawn coordinates are only removed when the game actually attempts to respawn the player. This means that after a player's bed is broken, they respawn in the wrong dimension.

Reproduction Steps

  1. Create a normal world with cheats enabled, or make yourself OP in Multiplayer.
  2. Set your spawn point in the End. (/execute in minecraft:the_end run tp @s 0 63 0 then /globalspawnpoint set).
  3. Teleport to the Overworld and die. (/execute in minecraft:overworld run tp @s 100 90 100 then /kill). -> ✔️ You respawn at 0 63 0 in minecraft:the_end.
  4. Use a respawn anchor to set your spawn point anywhere in the Nether and die (/kill). -> ✔️ You respawn at your respawn anchor.
  5. Destroy, drain, or otherwise invalidate the respawn anchor, so that you are unable to respawn at it.
  6. Teleport to the Overworld and die. (/execute in minecraft:overworld run tp @s 100 90 100 then /kill). -> :x: You respawn at 0 63 0 in the Nether (Right coordinates wrong dimension).
DaFuqs commented 3 years ago

Thank you for the very detailed reports! I could reproduce both issues and am going to get them fixed.

DaFuqs commented 3 years ago

Fixed in 1.0.1