diff --git a/src/main/java/net/minecraft/world/World.java b/src/main/java/net/minecraft/world/World.java index 3c3bb5d..42be661 100644 --- a/src/main/java/net/minecraft/world/World.java +++ b/src/main/java/net/minecraft/world/World.java @@ -1996,7 +1996,7 @@ //boolean isForced = getPersistentChunks().containsKey(new ChunkCoordIntPair(i >> 4, j >> 4)); //byte b0 = isForced ? (byte)0 : 32; //boolean canUpdate = !par2 || this.checkChunksExist(i - b0, 0, j - b0, i + b0, 0, j + b0); - boolean canUpdate = activeChunkSet.containsKey(ChunkHash.chunkToKey(i >> 4, j >> 4)); + boolean canUpdate = par1Entity.isEntityPlayerMP() || activeChunkSet.containsKey(ChunkHash.chunkToKey(i >> 4, j >> 4)) && this.chunkRoundExists(i >> 4, j >> 4, 3); //if (!canUpdate) //{ @@ -3979,4 +3979,12 @@ private static final int MAX_BLOCK_COORD = 500000;//524288; + + public boolean chunkRoundExists(int cx, int cz, int radius) + { + for(int x = cx - radius; x < cx + radius; x++) + for(int z = cz - radius; z < cz + radius; z++) + if(!chunkExists(x, z)) return false; + return true; + } } \ No newline at end of file