summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJadon Fowler <ph4seaber@gmail.com>2016-06-18 04:25:50 -0700
committerJadon Fowler <ph4sesaber@gmail.com>2016-06-18 04:31:44 -0700
commit63839165bc6923006d7a92b9b1fc5abc88dd9dfe (patch)
tree6b213837633ee2759d9f37d0395c48ccfd0cc7ea
parent9856d8a18395617ffa0ecc05dcbf9255e6a66d12 (diff)
downloadcraftbukkit-63839165bc6923006d7a92b9b1fc5abc88dd9dfe.tar
craftbukkit-63839165bc6923006d7a92b9b1fc5abc88dd9dfe.tar.gz
craftbukkit-63839165bc6923006d7a92b9b1fc5abc88dd9dfe.tar.lz
craftbukkit-63839165bc6923006d7a92b9b1fc5abc88dd9dfe.tar.xz
craftbukkit-63839165bc6923006d7a92b9b1fc5abc88dd9dfe.zip
Fix infinite loop when saving chunks
Running `/save-all flush` would start an infinite loop that prints: ThreadedAnvilChunkStorage (world): All chunks are saved
-rw-r--r--nms-patches/ChunkRegionLoader.patch16
1 files changed, 12 insertions, 4 deletions
diff --git a/nms-patches/ChunkRegionLoader.patch b/nms-patches/ChunkRegionLoader.patch
index fc721911..55025dfe 100644
--- a/nms-patches/ChunkRegionLoader.patch
+++ b/nms-patches/ChunkRegionLoader.patch
@@ -106,7 +106,15 @@
}
public void b(World world, Chunk chunk) throws IOException {}
-@@ -326,6 +378,13 @@
+@@ -149,6 +201,7 @@
+ if (this.c()) {
+ continue;
+ }
++ break; // CraftBukkit - Fix infinite loop when saving chunks
+ }
+ } finally {
+ this.f = false;
+@@ -326,6 +379,13 @@
chunk.a(nbttagcompound.getByteArray("Biomes"));
}
@@ -120,7 +128,7 @@
NBTTagList nbttaglist1 = nbttagcompound.getList("Entities", 10);
if (nbttaglist1 != null) {
-@@ -369,7 +428,7 @@
+@@ -369,7 +429,7 @@
}
}
@@ -129,7 +137,7 @@
}
@Nullable
-@@ -397,14 +456,20 @@
+@@ -397,14 +457,20 @@
}
@Nullable
@@ -151,7 +159,7 @@
return null;
} else {
if (nbttagcompound.hasKeyOfType("Passengers", 9)) {
-@@ -433,8 +498,14 @@
+@@ -433,8 +499,14 @@
}
}