| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- package me.lethunderhawk.world.util;
- import me.lethunderhawk.fluxapi.FluxService;
- import me.lethunderhawk.main.Main;
- import me.lethunderhawk.world.wrapper.CustomWorld;
- import org.bukkit.Bukkit;
- import org.bukkit.World;
- import org.bukkit.WorldCreator;
- import org.bukkit.entity.Player;
- import java.io.File;
- public class WorldManager {
- private final Main plugin;
- public WorldManager() {
- this.plugin = FluxService.get(Main.class);
- }
- public CustomWorld getOrCreateIslandWorld(Player player) {
- String worldName = "island_" + player.getUniqueId().toString();
- String worldPath = "islands/" + worldName;
- World world = Bukkit.getWorld(worldPath);
- if (world == null) {
- // Überprüfen, ob Weltdateien existieren
- File worldFolder = new File(plugin.getServer().getWorldContainer(), worldPath);
- if (worldFolder.exists()) {
- // Existierende Welt laden
- world = new WorldCreator(worldPath).createWorld();
- } else {
- // Neue Welt erstellen
- world = WorldUtils.createIslandWorld(player.getUniqueId().toString());
- }
- }
- return new CustomWorld(world);
- }
- public void warpToIsland(Player player) {
- CustomWorld world = getOrCreateIslandWorld(player);
- world.warpIntoWorld(player);
- }
- public void warpBackFromIsland(Player player) {
- WorldManager manager = FluxService.get(WorldManager.class);
- CustomWorld cWorld = manager.getOrCreateIslandWorld(player);
- if(player.getWorld() != cWorld.getWorld()) {
- player.sendMessage("§cYou are not on an island!");
- }else returnPlayer(player, cWorld);
- }
- private void returnPlayer(Player player, CustomWorld cWorld) {
- cWorld.warpBack(player);
- }
- /*public List<World> getDungeonWorlds() {
- List<World> dungeons = new ArrayList<>();
- File dungeonsDir = new File(plugin.getServer().getWorldContainer(), "dungeons");
- if (dungeonsDir.exists() && dungeonsDir.isDirectory()) {
- for (File worldDir : dungeonsDir.listFiles()) {
- if (worldDir.isDirectory()) {
- String worldPath = "dungeons/" + worldDir.getName();
- World world = Bukkit.getWorld(worldPath);
- if (world == null) {
- // Welt laden, falls nicht bereits geladen
- world = new WorldCreator(worldPath).createWorld();
- }
- if (world != null) {
- dungeons.add(world);
- }
- }
- }
- }
- return dungeons;
- }*/
- }
|