Upstream has released updates that appears to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing Bukkit Changes: 7361a62e SPIGOT-5641: Add Block.getDrops(ItemStack, Entity) 1dc91b15 Add specific notes about what is not API 2b05ef88 #484: Allow statistics to be accessed for offline players CraftBukkit Changes: f7d6ad53 SPIGOT-5603: Use LootContext#lootingModifier in CraftLootTable 5838285d SPIGOT-5657: BlockPlaceEvent not cancelling for tripwire hooks f325b9be SPIGOT-5641: Add Block.getDrops(ItemStack, Entity) e25a2272 Fix some formatting in CraftHumanEntity 498540e0 Add Merchant slot delegate b2de47d5 SPIGOT-5621: Add missing container types for opening InventoryView aa3a2f27 #645: Allow statistics to be accessed for offline players 2122c0b1 #649: CraftBell should implement Bell
27 lines
1.3 KiB
Diff
27 lines
1.3 KiB
Diff
From 529e676c1d75d76e73012bc1d0fd5bcd8e42c499 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 9632839598..14c97a163c 100644
|
|
--- a/src/main/java/net/minecraft/server/World.java
|
|
+++ b/src/main/java/net/minecraft/server/World.java
|
|
@@ -647,7 +647,11 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
|
|
gameprofilerfiller.enter("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.25.1
|
|
|