Files
Tenet/spigot/CraftBukkit-Patches/0068-Clear-Packet-Queue-on-Disconnect.patch
2024-05-17 14:02:17 +08:00

35 lines
1.6 KiB
Diff

From 215faa21d18725181825a9315b888984eb05fc88 Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
Date: Wed, 22 Jul 2015 19:04:37 +1000
Subject: [PATCH] Clear Packet Queue on Disconnect
diff --git a/src/main/java/net/minecraft/network/NetworkManager.java b/src/main/java/net/minecraft/network/NetworkManager.java
index 0c8427a37c..ccedd91b81 100644
--- a/src/main/java/net/minecraft/network/NetworkManager.java
+++ b/src/main/java/net/minecraft/network/NetworkManager.java
@@ -662,6 +662,7 @@ public class NetworkManager extends SimpleChannelInboundHandler<Packet<?>> {
packetlistener1.onDisconnect(ichatbasecomponent);
}
+ this.pendingActions.clear(); // Free up packet queue.
}
}
diff --git a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java
index 255ed8470d..aff986ee56 100644
--- a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java
@@ -248,7 +248,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack
public void send(Packet<?> packet, @Nullable PacketSendListener packetsendlistener) {
// CraftBukkit start
- if (packet == null) {
+ if (packet == null || this.processedDisconnect) { // Spigot
return;
} else if (packet instanceof PacketPlayOutSpawnPosition) {
PacketPlayOutSpawnPosition packet6 = (PacketPlayOutSpawnPosition) packet;
--
2.43.2