craftbukkit/nms-patches/PlayerConnectionUtils.patch

22 lines
1.1 KiB
Diff
Raw Normal View History

--- a/net/minecraft/server/PlayerConnectionUtils.java
+++ b/net/minecraft/server/PlayerConnectionUtils.java
2019-07-20 09:00:00 +10:00
@@ -14,6 +14,7 @@
2019-04-23 12:00:00 +10:00
public static <T extends PacketListener> void ensureMainThread(Packet<T> packet, T t0, IAsyncTaskHandler<?> iasynctaskhandler) throws CancelledPacketHandleException {
if (!iasynctaskhandler.isMainThread()) {
2019-04-23 12:00:00 +10:00
iasynctaskhandler.execute(() -> {
+ if (MinecraftServer.getServer().hasStopped() || (t0 instanceof PlayerConnection && ((PlayerConnection) t0).processedDisconnect)) return; // CraftBukkit, MC-142590
2019-07-20 09:00:00 +10:00
if (t0.a().isConnected()) {
packet.a(t0);
} else {
2021-01-31 10:08:41 +11:00
@@ -22,6 +23,10 @@
2020-01-12 10:50:22 +11:00
});
throw CancelledPacketHandleException.INSTANCE;
2021-01-31 10:08:41 +11:00
+ // CraftBukkit start - SPIGOT-5477, MC-142590
+ } else if (MinecraftServer.getServer().hasStopped() || (t0 instanceof PlayerConnection && ((PlayerConnection) t0).processedDisconnect)) {
2020-01-12 10:50:22 +11:00
+ throw CancelledPacketHandleException.INSTANCE;
2021-01-31 10:08:41 +11:00
+ // CraftBukkit end
}
2020-01-12 10:50:22 +11:00
}
}