diff --git a/proxy/src/main/java/com/velocitypowered/proxy/connection/backend/TransitionSessionHandler.java b/proxy/src/main/java/com/velocitypowered/proxy/connection/backend/TransitionSessionHandler.java index 0f32fbef..02203478 100644 --- a/proxy/src/main/java/com/velocitypowered/proxy/connection/backend/TransitionSessionHandler.java +++ b/proxy/src/main/java/com/velocitypowered/proxy/connection/backend/TransitionSessionHandler.java @@ -91,10 +91,9 @@ public class TransitionSessionHandler implements MinecraftSessionHandler { @Override public boolean handle(JoinGame packet) { MinecraftConnection smc = serverConn.ensureConnected(); - RegisteredServer previousServer = serverConn.getPreviousServer().orElse(null); - VelocityServerConnection existingConnection = serverConn.getPlayer().getConnectedServer(); - + final RegisteredServer previousServer = serverConn.getPreviousServer().orElse(null); final ConnectedPlayer player = serverConn.getPlayer(); + final VelocityServerConnection existingConnection = player.getConnectedServer(); if (existingConnection != null) { // Shut down the existing server connection. @@ -103,11 +102,11 @@ public class TransitionSessionHandler implements MinecraftSessionHandler { // Send keep alive to try to avoid timeouts player.sendKeepAlive(); - - // Reset Tablist header and footer to prevent desync - player.clearPlayerListHeaderAndFooter(); } + // Reset Tablist header and footer to prevent desync + player.clearPlayerListHeaderAndFooter(); + // The goods are in hand! We got JoinGame. Let's transition completely to the new state. smc.setAutoReading(false); server.getEventManager()