30 lines
1.6 KiB
Diff
30 lines
1.6 KiB
Diff
From 58eaa4790c1875741e06017f81a32801cfc3f4ad 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-rc2
|
|
|