From 0114eb89e930c48b5ba26e1b9dbdff3f7d6f7f32 Mon Sep 17 00:00:00 2001 From: CraftBukkit/Spigot Date: Thu, 24 Feb 2011 12:07:33 +0000 Subject: [PATCH] Attempt to convert multiworld worlds... world. By: Dinnerbone --- .../main/java/org/bukkit/craftbukkit/CraftServer.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/paper-server/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/paper-server/src/main/java/org/bukkit/craftbukkit/CraftServer.java index 9547ae0132..282642578e 100644 --- a/paper-server/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/paper-server/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));