2013-03-16 05:35:56 +08:00
From 2d728b9be20e44900ccb1854bcebaafc2af49a48 Mon Sep 17 00:00:00 2001
2013-02-21 12:16:49 +08:00
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
2013-03-16 05:35:56 +08:00
index 52fd561..b3c7790 100644
2013-02-21 12:16:49 +08:00
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
2013-03-16 05:35:56 +08:00
@@ -172,8 +172,9 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
2013-02-21 12:16:49 +08:00
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
}
}
--
2013-02-22 16:30:23 +08:00
1.8.1-rc2
2013-02-21 12:16:49 +08:00