Fix bug in double register fix

could accidently delay entity reg by a tick if the bug this was fixing was encountered
This commit is contained in:
Aikar 2020-03-31 03:52:30 -04:00
parent 497043e491
commit 328a6a5531
2 changed files with 4 additions and 5 deletions

View file

@ -23,15 +23,14 @@ index 8da54c68cc..eb706f8636 100644
private boolean locked = false; private boolean locked = false;
@Override @Override
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index 5ba46fca55..9cb22eef56 100644 index 5ba46fca55..23527809ce 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java --- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -0,0 +0,0 @@ public class WorldServer extends World { @@ -0,0 +0,0 @@ public class WorldServer extends World {
this.tickingEntities = false;
try (co.aikar.timings.Timing ignored = this.timings.newEntities.startTiming()) { // Paper - timings try (co.aikar.timings.Timing ignored = this.timings.newEntities.startTiming()) { // Paper - timings
- while ((entity = (Entity) this.entitiesToAdd.poll()) != null) { while ((entity = (Entity) this.entitiesToAdd.poll()) != null) {
+ while ((entity = (Entity) this.entitiesToAdd.poll()) != null && entity.isQueuedForRegister) { // Paper - ignore cancelled registers + if (!entity.isQueuedForRegister) continue; // Paper - ignore cancelled registers
this.registerEntity(entity); this.registerEntity(entity);
} }
} // Paper - timings } // Paper - timings

View file

@ -15,7 +15,7 @@ Combine that with a buggy detail of the previous implementation of
the Dupe UUID patch, then this was the likely source of the "Ghost entities" the Dupe UUID patch, then this was the likely source of the "Ghost entities"
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index 9cb22eef56..f7a9b58db3 100644 index 23527809ce..941eee838b 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java --- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -0,0 +0,0 @@ public class WorldServer extends World { @@ -0,0 +0,0 @@ public class WorldServer extends World {