Fix coding error that caused players to time out if moving to another server fails

Thanks to @Gabik21 for noticing this bug.
This commit is contained in:
Andrew Steinborn 2020-08-30 20:59:04 -04:00
parent b26c9026d3
commit 60eef09fdd

View File

@ -430,17 +430,20 @@ public class ConnectedPlayer implements MinecraftConnectionAssociation, Player {
}
KickedFromServerEvent originalEvent = new KickedFromServerEvent(this, rs, kickReason,
!kickedFromCurrent, result);
handleKickEvent(originalEvent, friendlyReason);
handleKickEvent(originalEvent, friendlyReason, kickedFromCurrent);
}
}
private void handleKickEvent(KickedFromServerEvent originalEvent, Component friendlyReason) {
private void handleKickEvent(KickedFromServerEvent originalEvent, Component friendlyReason,
boolean kickedFromCurrent) {
server.getEventManager().fire(originalEvent)
.thenAcceptAsync(event -> {
// There can't be any connection in flight now.
connectionInFlight = null;
// Make sure we clear the current connected server as the connection is invalid.
connectedServer = null;
if (kickedFromCurrent) {
connectedServer = null;
}
if (event.getResult() instanceof DisconnectPlayer) {
DisconnectPlayer res = (DisconnectPlayer) event.getResult();