274a38539d
We already have direct access to the chunks tile entities, there is no reason to look them up again.
31 lines
1.6 KiB
Diff
31 lines
1.6 KiB
Diff
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
|
|
|