summaryrefslogtreecommitdiffstats
path: root/src/main/java/net/minecraft/server/ChunkProviderServer.java
diff options
context:
space:
mode:
authorMike Primm <mike@primmhome.com>2012-08-12 18:40:49 -0500
committerEvilSeph <evilseph@gmail.com>2012-08-19 08:36:47 -0400
commit5254993510a208c0f3cc34b329a9ac037bde7073 (patch)
treebf395d76713ccfdfba320b2402d7bb301c577ce9 /src/main/java/net/minecraft/server/ChunkProviderServer.java
parentcacfc71b46d30dc35f30848a9ce9d0fcfaae7b01 (diff)
downloadcraftbukkit-5254993510a208c0f3cc34b329a9ac037bde7073.tar
craftbukkit-5254993510a208c0f3cc34b329a9ac037bde7073.tar.gz
craftbukkit-5254993510a208c0f3cc34b329a9ac037bde7073.tar.lz
craftbukkit-5254993510a208c0f3cc34b329a9ac037bde7073.tar.xz
craftbukkit-5254993510a208c0f3cc34b329a9ac037bde7073.zip
Fix issues with chunk saving. Fixes BUKKIT-2158, BUKKIT-2018 and BUKKIT-2229
Diffstat (limited to 'src/main/java/net/minecraft/server/ChunkProviderServer.java')
-rw-r--r--src/main/java/net/minecraft/server/ChunkProviderServer.java22
1 files changed, 18 insertions, 4 deletions
diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java
index 7b76b4cd..3242f440 100644
--- a/src/main/java/net/minecraft/server/ChunkProviderServer.java
+++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java
@@ -37,7 +37,7 @@ public class ChunkProviderServer implements IChunkProvider {
}
public boolean isChunkLoaded(int i, int j) {
- return !this.unloadQueue.containsKey(i, j) && this.chunks.containsKey(i, j); // CraftBukkit
+ return this.chunks.containsKey(i, j); // CraftBukkit
}
public void queueUnload(int i, int j) {
@@ -47,11 +47,25 @@ public class ChunkProviderServer implements IChunkProvider {
int l = j * 16 + 8 - chunkcoordinates.z;
short short1 = 128;
- if (k < -short1 || k > short1 || l < -short1 || l > short1 || !(this.world.keepSpawnInMemory)) { // CraftBukkit - added 'this.world.keepSpawnInMemory'
- this.unloadQueue.add(i, j); // CraftBukkit
+ // CraftBukkit start
+ if (k < -short1 || k > short1 || l < -short1 || l > short1 || !(this.world.keepSpawnInMemory)) { // Added 'this.world.keepSpawnInMemory'
+ this.unloadQueue.add(i, j);
+
+ Chunk c = this.chunks.get(i, j);
+ if (c != null) {
+ c.mustSave = true;
+ }
}
+ // CraftBukkit end
} else {
- this.unloadQueue.add(i, j); // CraftBukkit
+ // CraftBukkit start
+ this.unloadQueue.add(i, j);
+
+ Chunk c = this.chunks.get(i, j);
+ if (c != null) {
+ c.mustSave = true;
+ }
+ // CraftBukkit end
}
}