Mirror von
https://github.com/PaperMC/Paper.git
synchronisiert 2024-11-15 12:30:06 +01:00
57dd397155
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: b999860d SPIGOT-2304: Add LootGenerateEvent CraftBukkit Changes:77fd87e4
SPIGOT-2304: Implement LootGenerateEventa1a705ee
SPIGOT-5566: Doused campfires & fires should call EntityChangeBlockEvent41712edd
SPIGOT-5707: PersistentDataHolder not Persistent on API dropped Item
94 Zeilen
5.1 KiB
Diff
94 Zeilen
5.1 KiB
Diff
From a97b7b1b9b1c5929aaffda2925dcc329b4526c18 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 aaedbaf4d7..0e8d31babd 100644
|
|
--- a/src/main/java/net/minecraft/server/World.java
|
|
+++ b/src/main/java/net/minecraft/server/World.java
|
|
@@ -36,7 +36,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
|
|
|
|
protected static final Logger LOGGER = LogManager.getLogger();
|
|
private static final EnumDirection[] a = EnumDirection.values();
|
|
- 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();
|
|
protected final List<TileEntity> tileEntityListPending = Lists.newArrayList();
|
|
protected final java.util.Set<TileEntity> tileEntityListUnload = com.google.common.collect.Sets.newHashSet();
|
|
@@ -604,9 +604,9 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
|
|
}, tileentity::getPosition});
|
|
}
|
|
|
|
- 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);
|
|
}
|
|
|
|
@@ -642,7 +642,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
|
|
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();
|
|
}
|
|
|
|
@@ -703,7 +703,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
|
|
tilesThisCycle--;
|
|
this.tileEntityListTick.remove(tileTickPosition--);
|
|
// Spigot end
|
|
- this.tileEntityList.remove(tileentity);
|
|
+ //this.tileEntityList.remove(tileentity); // Paper - remove unused list
|
|
if (this.isLoaded(tileentity.getPosition())) {
|
|
this.getChunkAtWorldCoords(tileentity.getPosition()).removeTileEntity(tileentity.getPosition());
|
|
}
|
|
@@ -733,7 +733,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
|
|
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
|
|
@@ -999,7 +999,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
|
|
} else {
|
|
if (tileentity != null) {
|
|
this.tileEntityListPending.remove(tileentity);
|
|
- this.tileEntityList.remove(tileentity);
|
|
+ //this.tileEntityList.remove(tileentity); // Paper - remove unused list
|
|
this.tileEntityListTick.remove(tileentity);
|
|
}
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
|
index fd42f34004..6f66c38650 100644
|
|
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
|
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
|
@@ -1633,7 +1633,7 @@ public class WorldServer extends World {
|
|
}
|
|
|
|
bufferedwriter.write(String.format("entities: %d\n", this.entitiesById.size()));
|
|
- bufferedwriter.write(String.format("block_entities: %d\n", this.tileEntityList.size()));
|
|
+ bufferedwriter.write(String.format("block_entities: %d\n", this.tileEntityListTick.size())); // Paper - remove unused list
|
|
bufferedwriter.write(String.format("block_ticks: %d\n", this.getBlockTickList().a()));
|
|
bufferedwriter.write(String.format("fluid_ticks: %d\n", this.getFluidTickList().a()));
|
|
bufferedwriter.write("distance_manager: " + playerchunkmap.e().c() + "\n");
|
|
@@ -1796,7 +1796,7 @@ public class WorldServer extends World {
|
|
|
|
private void a(Writer writer) throws IOException {
|
|
CSVWriter csvwriter = CSVWriter.a().a("x").a("y").a("z").a("type").a(writer);
|
|
- Iterator iterator = this.tileEntityList.iterator();
|
|
+ Iterator iterator = this.tileEntityListTick.iterator(); // Paper - remove unused list
|
|
|
|
while (iterator.hasNext()) {
|
|
TileEntity tileentity = (TileEntity) iterator.next();
|
|
--
|
|
2.26.2
|
|
|