shadow-player-reconnect-fix (#1686)
* if a bot is kill()ed for a duplicate login, handle the disconnect immediately, Fixes #1468
This commit is contained in:
1 parent
aeb68e9ba0
commit
9ca4e9538f
1 file changed
+8
-2
@@ -5,6 +5,7 @@ import com.mojang.authlib.GameProfile;
|
|||||||
import net.minecraft.core.BlockPos;
|
import net.minecraft.core.BlockPos;
|
||||||
import net.minecraft.core.UUIDUtil;
|
import net.minecraft.core.UUIDUtil;
|
||||||
import net.minecraft.network.chat.Component;
|
import net.minecraft.network.chat.Component;
|
||||||
|
import net.minecraft.network.chat.contents.TranslatableContents;
|
||||||
import net.minecraft.network.protocol.PacketFlow;
|
import net.minecraft.network.protocol.PacketFlow;
|
||||||
import net.minecraft.network.protocol.game.ClientboundPlayerInfoUpdatePacket;
|
import net.minecraft.network.protocol.game.ClientboundPlayerInfoUpdatePacket;
|
||||||
import net.minecraft.network.protocol.game.ClientboundRotateHeadPacket;
|
import net.minecraft.network.protocol.game.ClientboundRotateHeadPacket;
|
||||||
@@ -132,9 +133,14 @@ public class EntityPlayerMPFake extends ServerPlayer
|
|||||||
public void kill(Component reason)
|
public void kill(Component reason)
|
||||||
{
|
{
|
||||||
shakeOff();
|
shakeOff();
|
||||||
this.server.tell(new TickTask(this.server.getTickCount(), () -> {
|
|
||||||
|
if (reason.getContents() instanceof TranslatableContents text && text.getKey().equals("multiplayer.disconnect.duplicate_login")) {
|
||||||
this.connection.onDisconnect(reason);
|
this.connection.onDisconnect(reason);
|
||||||
}));
|
} else {
|
||||||
|
this.server.tell(new TickTask(this.server.getTickCount(), () -> {
|
||||||
|
this.connection.onDisconnect(reason);
|
||||||
|
}));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
Reference in new issue
Block a user