From 29b6bb79bfc48e9b2b7df23236784685f4903214 Mon Sep 17 00:00:00 2001 From: Doc Date: Sun, 10 Mar 2024 09:20:54 +1100 Subject: [PATCH] SPIGOT-7587: Remove fixes for now-resolved MC-142590 and MC-109346 --- .../network/protocol/PlayerConnectionUtils.patch | 13 +------------ .../net/minecraft/server/MinecraftServer.patch | 9 ++------- .../minecraft/server/level/EntityTrackerEntry.patch | 11 ++--------- 3 files changed, 5 insertions(+), 28 deletions(-) diff --git a/nms-patches/net/minecraft/network/protocol/PlayerConnectionUtils.patch b/nms-patches/net/minecraft/network/protocol/PlayerConnectionUtils.patch index 3f6e230c4..467aceeaf 100644 --- a/nms-patches/net/minecraft/network/protocol/PlayerConnectionUtils.patch +++ b/nms-patches/net/minecraft/network/protocol/PlayerConnectionUtils.patch @@ -16,18 +16,7 @@ public static void ensureRunningOnSameThread(Packet packet, T t0, IAsyncTaskHandler iasynctaskhandler) throws CancelledPacketHandleException { if (!iasynctaskhandler.isSameThread()) { iasynctaskhandler.executeIfPossible(() -> { -+ if (MinecraftServer.getServer().hasStopped() || (t0 instanceof ServerCommonPacketListenerImpl && ((ServerCommonPacketListenerImpl) t0).processedDisconnect)) return; // CraftBukkit, MC-142590 ++ if (t0 instanceof ServerCommonPacketListenerImpl serverCommonPacketListener && serverCommonPacketListener.processedDisconnect) return; // CraftBukkit - Don't handle sync packets for kicked players if (t0.shouldHandleMessage(packet)) { try { packet.handle(t0); -@@ -60,6 +66,10 @@ - - }); - throw CancelledPacketHandleException.RUNNING_ON_DIFFERENT_THREAD; -+ // CraftBukkit start - SPIGOT-5477, MC-142590 -+ } else if (MinecraftServer.getServer().hasStopped() || (t0 instanceof ServerCommonPacketListenerImpl && ((ServerCommonPacketListenerImpl) t0).processedDisconnect)) { -+ throw CancelledPacketHandleException.RUNNING_ON_DIFFERENT_THREAD; -+ // CraftBukkit end - } - } - } diff --git a/nms-patches/net/minecraft/server/MinecraftServer.patch b/nms-patches/net/minecraft/server/MinecraftServer.patch index e9eb891bd..204547502 100644 --- a/nms-patches/net/minecraft/server/MinecraftServer.patch +++ b/nms-patches/net/minecraft/server/MinecraftServer.patch @@ -731,16 +731,11 @@ try { arraylist = Lists.newArrayList(NativeModuleLister.listModules()); -@@ -1903,6 +2239,22 @@ +@@ -1903,6 +2239,17 @@ } + // CraftBukkit start -+ @Override -+ public boolean isSameThread() { -+ return super.isSameThread() || this.isStopped(); // CraftBukkit - MC-142590 -+ } -+ + public boolean isDebugging() { + return false; + } @@ -754,7 +749,7 @@ private void startMetricsRecordingTick() { if (this.willStartRecordingMetrics) { this.metricsRecorder = ActiveMetricsRecorder.createStarted(new ServerMetricsSamplersProvider(SystemUtils.timeSource, this.isDedicatedServer()), SystemUtils.timeSource, SystemUtils.ioPool(), new MetricsPersister("server"), this.onMetricsRecordingStopped, (path) -> { -@@ -2029,6 +2381,11 @@ +@@ -2029,6 +2376,11 @@ } diff --git a/nms-patches/net/minecraft/server/level/EntityTrackerEntry.patch b/nms-patches/net/minecraft/server/level/EntityTrackerEntry.patch index 7f8f46b1d..cfbd28d8b 100644 --- a/nms-patches/net/minecraft/server/level/EntityTrackerEntry.patch +++ b/nms-patches/net/minecraft/server/level/EntityTrackerEntry.patch @@ -113,22 +113,15 @@ if (!collection.isEmpty()) { consumer.accept(new PacketPlayOutUpdateAttributes(this.entity.getId(), collection)); } -@@ -303,7 +342,14 @@ +@@ -303,6 +342,7 @@ if (!list.isEmpty()) { consumer.accept(new PacketPlayOutEntityEquipment(this.entity.getId(), list)); } + ((EntityLiving) this.entity).detectEquipmentUpdatesPublic(); // CraftBukkit - SPIGOT-3789: sync again immediately after sending -+ } -+ -+ // CraftBukkit start - MC-109346: Fix for nonsensical head yaw -+ if (this.entity instanceof EntityPlayer) { -+ consumer.accept(new PacketPlayOutEntityHeadRotation(this.entity, (byte) MathHelper.floor(this.entity.getYHeadRot() * 256.0F / 360.0F))); } -+ // CraftBukkit end if (!this.entity.getPassengers().isEmpty()) { - consumer.accept(new PacketPlayOutMount(this.entity)); -@@ -338,6 +384,11 @@ +@@ -338,6 +378,11 @@ Set set = ((EntityLiving) this.entity).getAttributes().getDirtyAttributes(); if (!set.isEmpty()) {