aboutsummaryrefslogtreecommitdiffhomepage
path: root/patches/server/0125-Properly-fix-item-duplication-bug.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patches/server/0125-Properly-fix-item-duplication-bug.patch')
-rw-r--r--patches/server/0125-Properly-fix-item-duplication-bug.patch33
1 files changed, 33 insertions, 0 deletions
diff --git a/patches/server/0125-Properly-fix-item-duplication-bug.patch b/patches/server/0125-Properly-fix-item-duplication-bug.patch
new file mode 100644
index 0000000000..7879e5309a
--- /dev/null
+++ b/patches/server/0125-Properly-fix-item-duplication-bug.patch
@@ -0,0 +1,33 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Alfie Cleveland <[email protected]>
+Date: Tue, 27 Dec 2016 01:57:57 +0000
+Subject: [PATCH] Properly fix item duplication bug
+
+Credit to prplz for figuring out the real issue
+
+diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
+index 532282ba4432f55596337f7a0898ecc3d5dc2148..82498ec7f0de4c1b82c7882824587ed3ba7fd5d6 100644
+--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
++++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
+@@ -2549,7 +2549,7 @@ public class ServerPlayer extends Player {
+
+ @Override
+ public boolean isImmobile() {
+- return super.isImmobile() || !this.getBukkitEntity().isOnline();
++ return super.isImmobile() || (this.connection != null && this.connection.isDisconnected()); // Paper - Fix duplication bugs
+ }
+
+ @Override
+diff --git a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java
+index 5f5d8ae29ff702eacc72341fae074a05d977e7cd..fc2fd0842e25fbe5c46ae07200c4b1a5950ae29a 100644
+--- a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java
++++ b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java
+@@ -178,7 +178,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack
+ }
+
+ public final boolean isDisconnected() {
+- return !this.player.joining && !this.connection.isConnected();
++ return (!this.player.joining && !this.connection.isConnected()) || this.processedDisconnect; // Paper - Fix duplication bugs
+ }
+ // CraftBukkit end
+