05466e3b47
Upstream has released updates that appear to apply compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing. Bukkit Changes: d2834556 SPIGOT-4219: Event for PigZombies angering. CraftBukkit Changes: a9c796f1 SPIGOT-4184: Fix furnaces not matching Vanilla smelt or animations 195f071e SPIGOT-4219: Event for PigZombies angering. 5e3082c7 SPIGOT-4230: Improve legacy block types
26 lines
1.3 KiB
Diff
26 lines
1.3 KiB
Diff
From b9797501f8ee9331f216cf6fd44327bcef579c94 Mon Sep 17 00:00:00 2001
|
|
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
|
|
index 6fe8ce96aa..6d314a7124 100644
|
|
--- a/src/main/java/net/minecraft/server/World.java
|
|
+++ b/src/main/java/net/minecraft/server/World.java
|
|
@@ -1286,7 +1286,11 @@ public abstract class World implements GeneratorAccess, IIBlockAccess, AutoClose
|
|
this.methodProfiler.c("blockEntities");
|
|
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
|
|
this.tileEntityListUnload.clear();
|
|
}
|
|
--
|
|
2.18.0
|
|
|