2. Welten erstellen (Builder)
In GWorld v2 werden neue Welten über das Builder-Pattern erstellt. Dies trennt die Konfiguration (Registrierung) von der Generierung (Last).
Schritt 1: Der Builder (Registrierung)
Mit dem WorldCreationBuilder legst du alle Eigenschaften der Welt fest. Der Aufruf von .build() registriert die Welt in der Datenbank, erstellt sie aber noch nicht physikalisch.
import de.gilljan.gworld.api.IManageableWorld;
import de.gilljan.gworld.enums.WorldTypeMapping;
// Startet den Builder
IManageableWorld newWorld = worldManager.createBuilder("MeineEventWelt")
.worldType(WorldTypeMapping.NORMAL) // Umgebung: Normal, Nether, End, Large Biomes, Amplified, Flat
.generator("PlotSquared") // Optional: Custom Generator Name
.seed(987654321L) // Optional: Seed festlegen
.build(); // -> Speichert die Welt in die Config/DB
Hinweis: Die Methode .build() ruft intern addWorldFromBuilder auf. Die Welt ist danach bekannt (registered), aber noch unloaded.
Schritt 2: Laden (Generierung)
if (newWorld != null) {
// Erstellt die Bukkit-Welt und lädt Chunks
boolean success = newWorld.createMap();
if (success) {
getLogger().info("Welt ist bereit!");
}
}
Für einen Import gilt dies analog. Den Ordnernamen der Welt verwenden und anstatt createMap() die Methode importMap() verwenden.
Warum zwei Schritte?
- Performance: Du kannst Welten beim Serverstart registrieren, aber erst laden, wenn ein Spieler ein Minigame startet.
- Sicherheit: Du kannst Flags (z. B. PvP aus) setzen, bevor der erste Spieler die Welt betritt.