Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public DimensionChunkCache(World world/*, int par2, int par3, int par4, int par5, int par6, int par7*/)
- {
- int minX = 0;
- int minZ = 0;
- int maxX = 0;
- int maxZ = 0;
- byte playerRadius = 8;
- for (int i = 0; i < world.playerEntities.size(); ++i)
- {
- EntityPlayer var5 = (EntityPlayer)world.playerEntities.get(i);
- if ((int)var5.posX < minX) minX = (int)var5.posX;
- if ((int)var5.posZ < minZ) minZ = (int)var5.posZ;
- if ((int)var5.posX > maxX) maxX = (int)var5.posX;
- if ((int)var5.posZ > maxZ) maxZ = (int)var5.posZ;
- }
- minX -= (playerRadius * 16);
- minZ -= (playerRadius * 16);
- maxX += (playerRadius * 16);
- maxZ += (playerRadius * 16);
- this.worldObj = world;
- this.chunkX = minX >> 4;
- this.chunkZ = minZ >> 4;
- int var8 = maxX >> 4;
- int var9 = maxZ >> 4;
- this.chunkArray = new Chunk[var8 - this.chunkX + 1][var9 - this.chunkZ + 1];
- this.hasExtendedLevels = true;
- int chunkCount = 0;
- for (int i = 0; i < world.playerEntities.size(); ++i)
- {
- EntityPlayer var5 = (EntityPlayer)world.playerEntities.get(i);
- int pChunkX = MathHelper.floor_double(var5.posX / 16.0D);
- int pChunkZ = MathHelper.floor_double(var5.posZ / 16.0D);
- for (int xx = -playerRadius; xx <= playerRadius; ++xx)
- {
- for (int zz = -playerRadius; zz <= playerRadius; ++zz)
- {
- if (this.chunkArray[pChunkX + xx - this.chunkX][pChunkZ + zz - this.chunkZ] == null) {
- Chunk var12 = world.getChunkFromChunkCoords(pChunkX + xx, pChunkZ + zz);
- if (var12 != null)
- {
- //System.out.println("adding to array!");
- chunkCount++;
- this.chunkArray[pChunkX + xx - this.chunkX][pChunkZ + zz - this.chunkZ] = var12;
- }
- }
- }
- }
- }
- //System.out.println("Total Cached Chunks: " + chunkCount);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement