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(); } }