summaryrefslogtreecommitdiffstats
path: root/src/main
diff options
context:
space:
mode:
authorMike Primm <mike@primmhome.com>2014-11-29 09:34:54 -0600
committerMike Primm <mike@primmhome.com>2014-11-29 09:34:54 -0600
commit46922049214f37fbc6369a6f1391f3963ff2d3be (patch)
treee773205ba4fb4264607b85d2536e37aa937efa1e /src/main
parentf498585eccfc5af8574c121504d482b04c960184 (diff)
downloadcraftbukkit-46922049214f37fbc6369a6f1391f3963ff2d3be.tar
craftbukkit-46922049214f37fbc6369a6f1391f3963ff2d3be.tar.gz
craftbukkit-46922049214f37fbc6369a6f1391f3963ff2d3be.tar.lz
craftbukkit-46922049214f37fbc6369a6f1391f3963ff2d3be.tar.xz
craftbukkit-46922049214f37fbc6369a6f1391f3963ff2d3be.zip
SPIGOT-30: Fix restoring of WorldData when loading worlds
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/org/bukkit/craftbukkit/CraftServer.java10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index f2a78c17..f2bbe1b7 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -114,11 +114,11 @@ import com.google.common.collect.ImmutableList;
import com.google.common.collect.Lists;
import com.google.common.collect.MapMaker;
import com.mojang.authlib.GameProfile;
+
import io.netty.buffer.ByteBuf;
import io.netty.buffer.ByteBufOutputStream;
import io.netty.buffer.Unpooled;
import io.netty.handler.codec.base64.Base64;
-
import jline.console.ConsoleReader;
public final class CraftServer implements Server {
@@ -844,8 +844,12 @@ public final class CraftServer implements Server {
} while(used);
boolean hardcore = false;
- WorldData worlddata = new WorldData(new WorldSettings(creator.seed(), EnumGamemode.getById(getDefaultGameMode().getValue()), generateStructures, hardcore, type), name);
- WorldServer internal = (WorldServer) new WorldServer(console, new ServerNBTManager(getWorldContainer(), name, true), worlddata, dimension, console.methodProfiler, creator.environment(), generator).b();
+ IDataManager sdm = new ServerNBTManager(getWorldContainer(), name, true);
+ WorldData worlddata = sdm.getWorldData();
+ if (worlddata == null) {
+ worlddata = new WorldData(new WorldSettings(creator.seed(), EnumGamemode.getById(getDefaultGameMode().getValue()), generateStructures, hardcore, type), name);
+ }
+ WorldServer internal = (WorldServer) new WorldServer(console, sdm, worlddata, dimension, console.methodProfiler, creator.environment(), generator).b();
if (!(worlds.containsKey(name.toLowerCase()))) {
return null;