# 3. Management & Steuerung

<span style="white-space: pre-wrap;">Der </span>`<span class="editor-theme-code">IWorldManager</span>`<span style="white-space: pre-wrap;"> verwaltet alle Welten, während das </span>`<span class="editor-theme-code">IManageableWorld</span>`-Objekt die Kontrolle über eine spezifische Welt ermöglicht.

# Welten abrufen

```java
// Einzelne Welt holen
Optional<IManageableWorld> worldOpt = worldManager.getWorld("Lobby");

// Alle Welten auflisten
List<IManageableWorld> allWorlds = worldManager.getWorlds();
```

## Welt-Aktionen

<span style="white-space: pre-wrap;">Jedes </span>`<span class="editor-theme-code">IManageableWorld</span>`-Objekt bietet Methoden zur Steuerung:

<table id="bkmrk-methodebeschreibungl" style="margin-bottom: 32px;"><colgroup><col></col><col></col></colgroup><tbody><tr><td style="border: 1px solid;">**Methode**

</td><td style="border: 1px solid;">**Beschreibung**

</td></tr><tr><td style="border: 1px solid;">`<span class="editor-theme-code">loadMap()</span>`

</td><td style="border: 1px solid;">Lädt die Welt von der Festplatte (Bukkit World Init).

</td></tr><tr><td style="border: 1px solid;">`<span class="editor-theme-code">unloadMap()</span>`

</td><td style="border: 1px solid;">Entlädt die Welt und teleportiert Spieler zum Hauptspawn.

</td></tr><tr><td style="border: 1px solid;">`<span class="editor-theme-code">deleteMap()</span>`

</td><td style="border: 1px solid;">Löscht die Welt unwiderruflich (Dateien &amp; Datenbank-Eintrag).

</td></tr><tr><td style="border: 1px solid;">`<span class="editor-theme-code">reCreate(boolean save)</span>`

</td><td style="border: 1px solid;">Löscht die Welt und generiert sie neu (Reset). Optional mit Backup (true) oder ohne (false).

</td></tr><tr><td style="border: 1px solid;">`<span class="editor-theme-code">clone(String name)</span>`

</td><td style="border: 1px solid;">Erstellt eine Kopie der Welt unter neuem Namen.

</td></tr></tbody></table>

### Beispiel: Welt-Reset durchführen

```java
worldManager.getWorld("Farmwelt").ifPresent(world -> {
    // Welt zurücksetzen und Kopie der alten Welt behalten
    world.reCreate(true); 
});
```

### Beispiel: Welt entfernen (aus dem System)

Wenn du eine Welt aus GWorld entfernen möchtest (inklusive Löschung der Dateien):

```java
// Variante A: Direkt über das Objekt (Empfohlen)
world.deleteMap();

// Variante B: Über den Manager
worldManager.removeWorld(world);
```