2019-03-20 01:46:00 +00:00
|
|
|
From 41a936d8fb39da0a7b185a10d9aea73e2db7840a Mon Sep 17 00:00:00 2001
|
2017-08-09 23:11:57 +00:00
|
|
|
From: mezz <tehgeek@gmail.com>
|
|
|
|
Date: Wed, 9 Aug 2017 17:51:22 -0500
|
|
|
|
Subject: [PATCH] Fix MC-117075: TE Unload Lag Spike
|
|
|
|
|
|
|
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
2019-03-20 01:46:00 +00:00
|
|
|
index 837f875a4..5b589e76f 100644
|
2017-08-09 23:11:57 +00:00
|
|
|
--- a/src/main/java/net/minecraft/server/World.java
|
|
|
|
+++ b/src/main/java/net/minecraft/server/World.java
|
2019-02-03 15:34:04 +00:00
|
|
|
@@ -1273,7 +1273,11 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
2018-12-17 05:18:06 +00:00
|
|
|
this.methodProfiler.exitEnter("blockEntities");
|
2017-09-12 02:21:57 +00:00
|
|
|
timings.tileEntityTick.startTiming(); // Spigot
|
|
|
|
if (!this.tileEntityListUnload.isEmpty()) {
|
|
|
|
- this.tileEntityListTick.removeAll(this.tileEntityListUnload);
|
|
|
|
+ // Paper start - Use alternate implementation with faster contains
|
|
|
|
+ java.util.Set<TileEntity> toRemove = java.util.Collections.newSetFromMap(new java.util.IdentityHashMap<>());
|
|
|
|
+ toRemove.addAll(tileEntityListUnload);
|
|
|
|
+ this.tileEntityListTick.removeAll(toRemove);
|
|
|
|
+ // Paper end
|
|
|
|
//this.tileEntityList.removeAll(this.tileEntityListUnload); // Paper - remove unused list
|
2017-08-09 23:11:57 +00:00
|
|
|
this.tileEntityListUnload.clear();
|
|
|
|
}
|
|
|
|
--
|
2019-03-20 01:46:00 +00:00
|
|
|
2.21.0
|
2017-08-09 23:11:57 +00:00
|
|
|
|