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