From fabe552ae92949e482bc695b2e8ade74f9bc9982 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Thu, 27 Jul 2017 00:09:24 -0400
Subject: [PATCH] Resolves GH-806: Respect saving disabled before unloading all
 chunks in a world

This behavior causes a save to occur even though saving was supposed to be turned off.

It's triggered when Hell/End worlds are empty of players.
---
 ...aving-disabled-before-unloading-all-.patch | 26 +++++++++++++++++++
 1 file changed, 26 insertions(+)
 create mode 100644 Spigot-Server-Patches/0229-GH-806-Respect-saving-disabled-before-unloading-all-.patch

diff --git a/Spigot-Server-Patches/0229-GH-806-Respect-saving-disabled-before-unloading-all-.patch b/Spigot-Server-Patches/0229-GH-806-Respect-saving-disabled-before-unloading-all-.patch
new file mode 100644
index 0000000000..3de2c1678c
--- /dev/null
+++ b/Spigot-Server-Patches/0229-GH-806-Respect-saving-disabled-before-unloading-all-.patch
@@ -0,0 +1,26 @@
+From c07b65aae6f24e200c0df831408d0857ac373db9 Mon Sep 17 00:00:00 2001
+From: Aikar <aikar@aikar.co>
+Date: Thu, 27 Jul 2017 00:06:43 -0400
+Subject: [PATCH] GH-806: Respect saving disabled before unloading all chunks
+ in a world
+
+This behavior causes a save to occur even though saving was supposed to be turned off.
+
+It's triggered when Hell/End worlds are empty of players.
+
+diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java
+index 14ea89c91..08e0cdf6d 100644
+--- a/src/main/java/net/minecraft/server/PlayerChunkMap.java
++++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java
+@@ -220,7 +220,7 @@ public class PlayerChunkMap {
+             try (Timing ignored = world.timings.doChunkMapUnloadChunks.startTiming()) { // Paper
+             WorldProvider worldprovider = this.world.worldProvider;
+ 
+-            if (!worldprovider.e()) {
++            if (!worldprovider.e() && !this.world.savingDisabled) { // Paper - respect saving disabled setting
+                 this.world.getChunkProviderServer().b();
+             }
+             } // Paper timing
+-- 
+2.13.0
+