From 784f9e31a8bb21adb6b354b8c05225bbac06dbb6 Mon Sep 17 00:00:00 2001
From: EvilSeph <evilseph@gmail.com>
Date: Sun, 28 Oct 2012 01:30:09 -0400
Subject: [PATCH] Remove spawn-radius setting in bukkit.yml in favour of
 spawn-protection in server.properties. Fixes BUKKIT-2657

---
 .../java/net/minecraft/server/DedicatedServer.java    |  7 ++++---
 src/main/java/org/bukkit/craftbukkit/CraftServer.java | 11 ++++++++++-
 src/main/resources/configurations/bukkit.yml          |  1 -
 3 files changed, 14 insertions(+), 5 deletions(-)

diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java
index 5121cd61be..0c74861453 100644
--- a/src/main/java/net/minecraft/server/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/DedicatedServer.java
@@ -157,10 +157,11 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer
         }
 
         // CraftBukkit start
-        if (this.propertyManager.properties.containsKey("spawn-protection")) {
-            log.info("'spawn-protection' in server.properties has been moved to 'settings.spawn-radius' in bukkit.yml. I will move your config for you.");
-            this.server.setSpawnRadius(this.propertyManager.getInt("spawn-protection", 16));
+        if (this.server.getBukkitSpawnRadius() > -1) {
+            log.info("'settings.spawn-radius' in bukkit.yml has been moved to 'spawn-protection' in server.properties. I will move your config for you.");
             this.propertyManager.properties.remove("spawn-protection");
+            this.propertyManager.getInt("spawn-protection", this.server.getBukkitSpawnRadius());
+            this.server.removeBukkitSpawnRadius();
             this.propertyManager.savePropertiesFile();
         }
 
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 24b20f1208..2cd7d0d114 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -920,8 +920,17 @@ public final class CraftServer implements Server {
         return result;
     }
 
+    public void removeBukkitSpawnRadius() {
+        configuration.set("settings.spawn-radius", null);
+        saveConfig();
+    }
+
+    public int getBukkitSpawnRadius() {
+        return configuration.getInt("settings.spawn-radius", -1);
+    }
+
     public int getSpawnRadius() {
-        return configuration.getInt("settings.spawn-radius", 16);
+        return ((DedicatedServer) console).propertyManager.getInt("spawn-protection", 16);
     }
 
     public void setSpawnRadius(int value) {
diff --git a/src/main/resources/configurations/bukkit.yml b/src/main/resources/configurations/bukkit.yml
index b34d84f0ac..2f587dd280 100644
--- a/src/main/resources/configurations/bukkit.yml
+++ b/src/main/resources/configurations/bukkit.yml
@@ -16,7 +16,6 @@
 settings:
     allow-end: true
     warn-on-overload: true
-    spawn-radius: 16
     permissions-file: permissions.yml
     update-folder: update
     ping-packet-limit: 100