Fix tablist header and footer desync (#1103)

This commit is contained in:
VelVeV
2024-01-16 22:19:45 +09:00
committed by GitHub
parent f8cdf4fa1a
commit fe052e5163

View File

@@ -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,10 +102,10 @@ 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();
}
// The goods are in hand! We got JoinGame. Let's transition completely to the new state.
smc.setAutoReading(false);