aboutsummaryrefslogtreecommitdiffhomepage
path: root/Spigot-Server-Patches/0187-Properly-fix-item-duplication-bug.patch
blob: 2fc7b2db722404260f4d6df09f47ec65ce1a9d9a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
From b5ff4a771525c095c857990c97460b06d81f2b4e Mon Sep 17 00:00:00 2001
From: Alfie Cleveland <alfeh@me.com>
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/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
index 58d40f994..acb4469d2 100644
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
@@ -1346,7 +1346,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
 
     @Override
     protected boolean isFrozen() {
-        return super.isFrozen() || !getBukkitEntity().isOnline();
+        return super.isFrozen() || (this.playerConnection != null && this.playerConnection.isDisconnected()); // Paper
     }
 
     public void reset() {
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
index 437575003..7c2d43ac2 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -2565,6 +2565,6 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
 
     // CraftBukkit start - Add "isDisconnected" method
     public final boolean isDisconnected() {
-        return !this.player.joining && !this.networkManager.isConnected();
+        return (!this.player.joining && !this.networkManager.isConnected()) || this.processedDisconnect; // Paper
     }
 }
-- 
2.12.2