From f58a44bb268cc0e7e34f09690f8e1d919ad3eb7d Mon Sep 17 00:00:00 2001 From: shakytom 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 14f2521..59c463c 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java @@ -173,8 +173,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