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.
This commit is contained in:
parent
afba75b6cb
commit
274a38539d
1 changed files with 30 additions and 0 deletions
|
@ -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
|
||||
|
Loading…
Reference in a new issue