diff --git a/src/main/java/net/minecraft/world/chunk/Chunk.java b/src/main/java/net/minecraft/world/chunk/Chunk.java index 03017db..8399282 100644 --- a/src/main/java/net/minecraft/world/chunk/Chunk.java +++ b/src/main/java/net/minecraft/world/chunk/Chunk.java @@ -942,6 +942,7 @@ } MinecraftForge.EVENT_BUS.post(new ChunkEvent.Load(this)); + convertTileEntityMap(); loadTime = unbindTime = MinecraftServer.getServer().getTickCounter(); lastsavePendingCount = pendingUpdatesSet == null ? 0 : pendingUpdatesSet.size(); } @@ -1551,6 +1552,18 @@ private short entityItemCount; private short entityXPOrbCount; + private void convertTileEntityMap() + { + fastTileEntityMap.clear(); + @SuppressWarnings("unchecked") + Set> set = (Set>)chunkTileEntityMap.entrySet(); + for(Map.Entry ent : set) + { + ChunkPosition coord = ent.getKey(); + fastTileEntityMap.put(ChunkHash.chunkCoordToHash(coord.chunkPosX, coord.chunkPosY, coord.chunkPosZ), ent.getValue()); + } + } + public PendingBlockUpdate pollPending(long time) { if(pendingUpdatesQueue == null || pendingUpdatesQueue.size() == 0) return null;