d231cef8cd
Take same approach we did for chunks, and only save player if its been X time since last save, instead of doing it all in 1 tick. This is even more helpful considering Player Saving is done sync for File IO.
35 lines
1.6 KiB
Diff
35 lines
1.6 KiB
Diff
From 25b62826b3a8d49c0f3aa9fbc1b5e93d541288c4 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 fa09ef111..c70390463 100644
|
|
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
|
|
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
|
|
@@ -1329,7 +1329,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 441f761b9..9f721d88c 100644
|
|
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
|
|
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
|
|
@@ -2542,6 +2542,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.11.0
|
|
|