From 63839165bc6923006d7a92b9b1fc5abc88dd9dfe Mon Sep 17 00:00:00 2001 From: Jadon Fowler Date: Sat, 18 Jun 2016 04:25:50 -0700 Subject: [PATCH] Fix infinite loop when saving chunks Running `/save-all flush` would start an infinite loop that prints: ThreadedAnvilChunkStorage (world): All chunks are saved --- nms-patches/ChunkRegionLoader.patch | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/nms-patches/ChunkRegionLoader.patch b/nms-patches/ChunkRegionLoader.patch index fc721911e2..55025dfe1e 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 @@ } }