48 lines
1.6 KiB
Java
48 lines
1.6 KiB
Java
package wtf.beatrice.limbomanager.objects;
|
|
|
|
import org.bukkit.Bukkit;
|
|
import org.bukkit.World;
|
|
import org.bukkit.WorldCreator;
|
|
import org.bukkit.WorldType;
|
|
import wtf.beatrice.limbomanager.Cache;
|
|
import wtf.beatrice.limbomanager.LimboManager;
|
|
|
|
import java.io.File;
|
|
|
|
public class WorldGenerator
|
|
{
|
|
|
|
public void generateWorld()
|
|
{
|
|
// unload world
|
|
LimboManager.getInstance().getLogger().info("Force unloading world...");
|
|
Bukkit.getServer().unloadWorld(Cache.worldName, false);
|
|
|
|
// delete world files
|
|
LimboManager.getInstance().getLogger().info("Resetting world...");
|
|
String worldFolderPath = Bukkit.getServer().getWorldContainer().getAbsolutePath() + File.separator + Cache.worldName;
|
|
File worldFolder = new File(worldFolderPath);
|
|
deleteDirectory(worldFolder);
|
|
|
|
// create world
|
|
LimboManager.getInstance().getLogger().info("Creating world from scratch...");
|
|
WorldCreator worldCreator = new WorldCreator(Cache.worldName);
|
|
worldCreator.environment(World.Environment.THE_END);
|
|
worldCreator.generateStructures(false);
|
|
worldCreator.type(WorldType.FLAT);
|
|
worldCreator.generator("VoidGen");
|
|
Cache.limboWorld = worldCreator.createWorld();
|
|
LimboManager.getInstance().getLogger().info("World ready!");
|
|
}
|
|
|
|
boolean deleteDirectory(File directoryToBeDeleted) {
|
|
File[] allContents = directoryToBeDeleted.listFiles();
|
|
if (allContents != null) {
|
|
for (File file : allContents) {
|
|
deleteDirectory(file);
|
|
}
|
|
}
|
|
return directoryToBeDeleted.delete();
|
|
}
|
|
}
|