geforkt von Mirrors/Paper
6d1a918378
This work is 100% unfinished. I am pushing it up so that we as a team can work on this update. Do not try to use this branch. You will fail.
69 Zeilen
3.6 KiB
Diff
69 Zeilen
3.6 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Aikar <aikar@aikar.co>
|
|
Date: Wed, 13 Apr 2016 00:25:28 -0400
|
|
Subject: [PATCH] Remove unused World Tile Entity List
|
|
|
|
Massive hit to performance and it is completely unnecessary.
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
|
index 3bf2cb8d0..3b3cc69de 100644
|
|
--- a/src/main/java/net/minecraft/server/World.java
|
|
+++ b/src/main/java/net/minecraft/server/World.java
|
|
@@ -0,0 +0,0 @@ public abstract class World implements GeneratorAccess, IIBlockAccess, AutoClose
|
|
};
|
|
// Spigot end
|
|
protected final Set<Entity> g = Sets.newHashSet(); // Paper
|
|
- public final List<TileEntity> tileEntityList = Lists.newArrayList();
|
|
+ //public final List<TileEntity> tileEntityList = Lists.newArrayList(); // Paper - remove unused list
|
|
public final List<TileEntity> tileEntityListTick = Lists.newArrayList();
|
|
private final List<TileEntity> c = Lists.newArrayList();
|
|
private final Set<TileEntity> tileEntityListUnload = Sets.newHashSet(); // Paper
|
|
@@ -0,0 +0,0 @@ public abstract class World implements GeneratorAccess, IIBlockAccess, AutoClose
|
|
timings.tileEntityTick.startTiming(); // Spigot
|
|
if (!this.tileEntityListUnload.isEmpty()) {
|
|
this.tileEntityListTick.removeAll(this.tileEntityListUnload);
|
|
- this.tileEntityList.removeAll(this.tileEntityListUnload);
|
|
+ //this.tileEntityList.removeAll(this.tileEntityListUnload); // Paper - remove unused list
|
|
this.tileEntityListUnload.clear();
|
|
}
|
|
|
|
@@ -0,0 +0,0 @@ public abstract class World implements GeneratorAccess, IIBlockAccess, AutoClose
|
|
if (tileentity.x()) {
|
|
tilesThisCycle--;
|
|
this.tileEntityListTick.remove(tileTickPosition--);
|
|
- this.tileEntityList.remove(tileentity);
|
|
+ //this.tileEntityList.remove(tileentity); // Paper - remove unused list
|
|
if (this.isLoaded(tileentity.getPosition())) {
|
|
this.getChunkAtWorldCoords(tileentity.getPosition()).d(tileentity.getPosition());
|
|
}
|
|
@@ -0,0 +0,0 @@ public abstract class World implements GeneratorAccess, IIBlockAccess, AutoClose
|
|
this.notify(tileentity1.getPosition(), iblockdata, iblockdata, 3);
|
|
// CraftBukkit start
|
|
// From above, don't screw this up - SPIGOT-1746
|
|
- if (!this.tileEntityList.contains(tileentity1)) {
|
|
+ if (true) { // Paper - remove unused list
|
|
this.a(tileentity1);
|
|
}
|
|
// CraftBukkit end
|
|
@@ -0,0 +0,0 @@ public abstract class World implements GeneratorAccess, IIBlockAccess, AutoClose
|
|
protected void p_() {}
|
|
|
|
public boolean a(TileEntity tileentity) {
|
|
- boolean flag = this.tileEntityList.add(tileentity);
|
|
+ boolean flag = true; // Paper - remove unused list
|
|
|
|
- if (flag && tileentity instanceof ITickable) {
|
|
+ if (flag && tileentity instanceof ITickable && !this.tileEntityListTick.contains(tileentity)) { // Paper
|
|
this.tileEntityListTick.add(tileentity);
|
|
}
|
|
|
|
@@ -0,0 +0,0 @@ public abstract class World implements GeneratorAccess, IIBlockAccess, AutoClose
|
|
} else {
|
|
if (tileentity != null) {
|
|
this.c.remove(tileentity);
|
|
- this.tileEntityList.remove(tileentity);
|
|
+ //this.tileEntityList.remove(tileentity); // Paper - remove unused list
|
|
this.tileEntityListTick.remove(tileentity);
|
|
}
|
|
|
|
--
|