3
0
Mirror von https://github.com/PaperMC/Paper.git synchronisiert 2024-12-15 11:00:06 +01:00

Improved tile entity lookup for chunk sending

We already have direct access to the chunks tile entities, there is no reason to look them up again.
Dieser Commit ist enthalten in:
shakytom 2013-02-20 23:16:49 -05:00 committet von Mike Primm
Ursprung afba75b6cb
Commit 274a38539d

Datei anzeigen

@ -0,0 +1,30 @@
From 18c3488b099973cb0c3b6acefe23baecf4acf9bd Mon Sep 17 00:00:00 2001
From: shakytom <tom.roberts00@gmail.com>
Date: Wed, 20 Feb 2013 22:34:38 -0500
Subject: [PATCH] Improved tile entity lookup for chunk sending
Instead of scanning the entire worlds tile entities to find out what tile entities are in the chunk... just use the arraylist of tile entities we already have.
This results in a good reduction of time spent in player ticking.
---
src/main/java/net/minecraft/server/EntityPlayer.java | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
index 8d61ca6..28f462b 100644
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
@@ -163,8 +163,9 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
iterator1.remove();
if (chunkcoordintpair != null && this.world.isLoaded(chunkcoordintpair.x << 4, 0, chunkcoordintpair.z << 4)) {
- arraylist.add(this.world.getChunkAt(chunkcoordintpair.x, chunkcoordintpair.z));
- arraylist1.addAll(((WorldServer) this.world).getTileEntities(chunkcoordintpair.x * 16, 0, chunkcoordintpair.z * 16, chunkcoordintpair.x * 16 + 16, 256, chunkcoordintpair.z * 16 + 16));
+ Chunk chunk = this.world.getChunkAt(chunkcoordintpair.x, chunkcoordintpair.z); // Spigot
+ arraylist.add(chunk); // Spigot
+ arraylist1.addAll(chunk.tileEntities.values()); // Spigot
}
}
--
1.8.1.1