Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package me.leluckyy.worldmanager.utils;
- import me.leluckyy.worldmanager.main.Config;
- import org.apache.commons.io.FileUtils;
- import org.bukkit.Bukkit;
- import org.bukkit.World;
- import org.bukkit.WorldCreator;
- import org.bukkit.WorldType;
- import org.bukkit.entity.Player;
- import org.bukkit.generator.ChunkGenerator;
- import java.io.File;
- import java.io.IOException;
- import java.util.ArrayList;
- import java.util.List;
- public class WorldManager {
- public static boolean worldExists(String worldName) {
- World world = Bukkit.getWorld(worldName);
- return(world == null ? false : true);
- }
- public void createWorld(String worldName, Long seed, World.Environment world, WorldType type, Boolean structures) {
- WorldCreator creator = new WorldCreator(worldName).environment(world).type(type);
- if (!worldExists(worldName)) {
- if (seed != null) {
- creator.seed(seed);
- }
- if (structures != null) {
- if (structures == true) {
- creator.generateStructures(true);
- } else creator.generateStructures(false);
- } else creator.generateStructures(true);
- creator.createWorld();
- Bukkit.broadcastMessage("Welt '§c" + worldName + "§r' wurde generiert!");
- Bukkit.getWorlds().add(Bukkit.getWorld(worldName));
- saveWorlds(worldName);
- }
- }
- public void generateSkyWorld(String worldName) {
- WorldCreator creator = new WorldCreator(worldName).generator(getSkyWorld());
- creator.createWorld();
- Bukkit.broadcastMessage("SkyWorld '§c" + worldName + "§r' wurde generiert!");
- World world = Bukkit.getWorld(worldName);
- world.setSpawnLocation(0, 100, 0);
- Bukkit.getWorlds().add(world);
- saveWorlds(worldName);
- }
- public void deleteWorld(String worldName) {
- if (worldExists(worldName)) {
- World world = Bukkit.getWorld(worldName);
- for (Player player : world.getPlayers()) {
- if (worldName != "world") {
- World backupWorld = Bukkit.getWorld("world");
- player.teleport(backupWorld.getSpawnLocation());
- } else player.kickPlayer("Die Welt wird momentan geändert!");
- }
- Bukkit.unloadWorld(world, false);
- try {
- FileUtils.deleteDirectory(new File(worldName));
- } catch (IOException e) { e.printStackTrace(); }
- Bukkit.broadcastMessage("Welt '§c" + worldName + "§r' wurde §cgelöscht!");
- }
- }
- private ChunkGenerator getSkyWorld() {
- return new GenerateSkyWorld();
- }
- private void saveWorlds(String worldName) {
- try {
- if (!Config.file.exists()) {
- List<String> worlds = new ArrayList<>();
- Config.file.createNewFile();
- worlds.add(worldName);
- Config.cfg.set("Worlds", worlds);
- Config.cfg.save(Config.file);
- } else {
- List<String> worlds = Config.cfg.getStringList("Worlds");
- worlds.add(worldName);
- Config.cfg.set("Worlds", worlds);
- Config.cfg.save(Config.file);
- }
- } catch (IOException e) { e.printStackTrace(); }
- }
- public void loadCustomWorld(String worldName) {
- File file = new File(worldName);
- if (file.exists()) {
- if (Bukkit.getWorld(worldName) == null) {
- try {
- if (!Config.file.exists()) {
- List<String> worlds = new ArrayList<>();
- Config.file.createNewFile();
- worlds.add(worldName);
- Config.cfg.set("Worlds", worlds);
- Config.cfg.save(Config.file);
- } else {
- List<String> worlds = Config.cfg.getStringList("Worlds");
- worlds.add(worldName);
- Config.cfg.set("Worlds", worlds);
- Config.cfg.save(Config.file);
- }
- } catch (IOException e) { e.printStackTrace(); }
- }
- }
- }
- // only for the onEnable method
- public void loadWorlds() {
- if (Config.file.exists()) {
- List<String> worlds = Config.cfg.getStringList("Worlds");
- for (String world : worlds) {
- WorldCreator creator = new WorldCreator(world);
- creator.createWorld();
- }
- }
- }
- // only for the onEnable method
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement