diff options
Diffstat (limited to 'src/main')
-rw-r--r-- | src/main/java/org/bukkit/craftbukkit/CraftServer.java | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java index 9547ae01..28264257 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -10,11 +10,14 @@ import java.util.Map; import java.util.logging.Level; import java.util.logging.Logger; import net.minecraft.server.ChunkCoordinates; +import net.minecraft.server.ConvertProgressUpdater; +import net.minecraft.server.Convertable; import net.minecraft.server.EntityPlayer; import net.minecraft.server.MinecraftServer; import net.minecraft.server.PropertyManager; import net.minecraft.server.ServerConfigurationManager; import net.minecraft.server.ServerNBTManager; +import net.minecraft.server.WorldLoaderServer; import net.minecraft.server.WorldManager; import net.minecraft.server.WorldServer; import org.bukkit.*; @@ -212,6 +215,12 @@ public final class CraftServer implements Server { throw new IllegalArgumentException("File exists with the name '" + name + "' and isn't a folder"); } + Convertable converter = new WorldLoaderServer(folder); + if (converter.a(name)) { + getLogger().info("Converting world '" + name + "'"); + converter.a(name, new ConvertProgressUpdater(console)); + } + WorldServer internal = new WorldServer(console, new ServerNBTManager(new File("."), name, true), name, environment == World.Environment.NETHER ? -1 : 0); internal.a(new WorldManager(console, internal)); |