Incorrect PacketPlayOutRespawn dimension ID for nether portal teleports

    • Type: Bug
    • Resolution: Fixed
    • Priority: Minor
    • None
    • Affects Version/s: None
    • CraftBukkit version git-Spigot-1eece4f-68e72f6 (MC: 1.14) (Implementing API version 1.14-R0.1-SNAPSHOT)
    • Yes

      Back in 1.13, when a player teleported to a world through a nether portal, PlayerList#moveToWorld would send the PacketPlayOutRespawn packet, which would be constructed with:

      new PacketPlayOutRespawn(worldserver.worldProvider.getDimensionManager(), ...
      

      But in 1.14, teleporting through nether portals doesn't utilize the above method anymore, instead creating PacketPlayOutRespawn in EntityPlayer#a with:

      new PacketPlayOutRespawn(dimensionmanager, ...

      This causes the packet to use the custom dimensionId for custom worlds, which causes strange client-side behavior when changing the portal event destination to a custom world.

       

      To fix this, simply change the passed constructor argument to:

      worldserver1.worldProvider.getDimensionManager()

       

          [SPIGOT-4867] Incorrect PacketPlayOutRespawn dimension ID for nether portal teleports

          There are no comments yet on this issue.

            Assignee:
            Unassigned
            Reporter:
            Ale
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: