diff options
author | Thinkofdeath <thinkofdeath@spigotmc.org> | 2016-03-06 23:49:28 +0000 |
---|---|---|
committer | Thinkofdeath <thinkofdeath@spigotmc.org> | 2016-03-06 23:50:19 +0000 |
commit | 0cd671108591fd6f16696379280b235fdbb7dca8 (patch) | |
tree | ef4ee0fefcfa1dec002ab1b9e6455927f3b8379b /src | |
parent | a06e5cf8e82240893db66171331da647a3252c53 (diff) | |
download | craftbukkit-0cd671108591fd6f16696379280b235fdbb7dca8.tar craftbukkit-0cd671108591fd6f16696379280b235fdbb7dca8.tar.gz craftbukkit-0cd671108591fd6f16696379280b235fdbb7dca8.tar.lz craftbukkit-0cd671108591fd6f16696379280b235fdbb7dca8.tar.xz craftbukkit-0cd671108591fd6f16696379280b235fdbb7dca8.zip |
Fix regenerating chunks not updating visually
Diffstat (limited to 'src')
-rw-r--r-- | src/main/java/org/bukkit/craftbukkit/CraftWorld.java | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java index f22885fe..4878ef83 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -195,6 +195,21 @@ public class CraftWorld implements World { world.getChunkProviderServer().unloadQueue.remove(x, z); world.getChunkProviderServer().chunks.remove(LongHash.toLong(x, z)); + // Update neighbor counts + for (int xx = -2; xx < 3; xx++) { + for (int zz = -2; zz < 3; zz++) { + if (xx == 0 && zz == 0) { + continue; + } + + net.minecraft.server.Chunk neighbor = world.getChunkProviderServer().getChunkIfLoaded(chunk.locX + x, chunk.locZ + z); + if (neighbor != null) { + neighbor.setNeighborUnloaded(-xx, -zz); + chunk.setNeighborUnloaded(xx, zz); + } + } + } + return true; } @@ -206,6 +221,10 @@ public class CraftWorld implements World { net.minecraft.server.Chunk chunk = null; chunk = world.getChunkProviderServer().chunkGenerator.getOrCreateChunk(x, z); + PlayerChunk playerChunk = world.getPlayerChunkMap().b/*PAIL: Rename*/(x, z); + if (playerChunk != null) { + playerChunk.chunk = chunk; + } chunkLoadPostProcess(chunk, x, z); |