papermc/CraftBukkit-Patches/0123-Fix-TileEntities-getting-ticked-after-being-queued-f.patch

39 lines
1.4 KiB
Diff
Raw Normal View History

From ace02f9bfa21be458e0bc3da7c77d36ae2bf8fa9 Mon Sep 17 00:00:00 2001
2014-04-12 04:18:37 +00:00
From: FrozenBrain <carstenbamsti@googlemail.com>
Date: Sun, 23 Mar 2014 01:49:13 +0100
Subject: [PATCH] Fix TileEntities getting ticked after being queued for
removal
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index ca8d029..e576397 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -1359,6 +1359,12 @@ public abstract class World implements IBlockAccess {
timings.entityTick.stopTiming(); // Spigot
this.methodProfiler.c("blockEntities");
timings.tileEntityTick.startTiming(); // Spigot
+ // Spigot start - brought up from below
+ if (!this.b.isEmpty()) {
+ this.tileEntityList.removeAll(this.b);
+ this.b.clear();
+ }
+ // Spigot End
this.M = true;
Iterator iterator = this.tileEntityList.iterator();
@@ -1407,10 +1413,6 @@ public abstract class World implements IBlockAccess {
timings.tileEntityTick.stopTiming(); // Spigot
timings.tileEntityPending.startTiming(); // Spigot
this.M = false;
- if (!this.b.isEmpty()) {
- this.tileEntityList.removeAll(this.b);
- this.b.clear();
- }
this.methodProfiler.c("pendingBlockEntities");
if (!this.a.isEmpty()) {
--
1.8.3.2