Zum Hauptinhalt springen
Die Cloud API ist eine Java-Bibliothek zur programmatischen Interaktion mit deinem SimpleCloud-Netzwerk. Verwende sie zum Verwalten von Gruppen, Servern, Spielern und zur Reaktion auf Events in Echtzeit.

API-Architektur

MethodeGibt zurückBeschreibung
api.group()GroupApiGruppen erstellen, lesen, aktualisieren, löschen
api.server()ServerApiServer starten, stoppen, abfragen
api.player()PlayerApiSpielerdaten, Verbindungen, Messaging
api.event()EventApiEchtzeit-Events abonnieren

Event API Unterkategorien

MethodeBeschreibung
api.event().group()Gruppen-Lifecycle-Events
api.event().server()Server-Lifecycle-Events
api.event().persistentServer()Persistente Server-Events
api.event().blueprint()Blueprint-Lifecycle-Events

Wichtige Features

  • Async-first Design - Alle Operationen geben CompletableFuture (Java) oder Suspend-Funktionen (Kotlin) zurück
  • Typsichere Modelle - Stark typisierte Domain-Objekte für Gruppen, Server, Spieler
  • Echtzeit-Events - Änderungen über NATS-Messaging abonnieren
  • Adventure-Integration - Spieler implementieren Adventure’s Audience für Rich-Text-Messaging
  • Umgebungs-bewusst - Auto-Konfiguration aus SIMPLECLOUD_* Umgebungsvariablen

Schnellbeispiel

// API initialisieren
CloudApi api = CloudApi.create();

// Alle Server in einer Gruppe abrufen
api.server().getServersByGroup("lobby").thenAccept(servers -> {
    System.out.println("Lobby-Server: " + servers.size());
});

// Neuen Server starten
api.server().startServer(new StartServerRequest("group-id", "lobby"))
    .thenAccept(server -> System.out.println("Gestartet: " + server.getServerId()));

// Nachricht an Spieler senden (Adventure-Integration)
api.player().get(playerUUID).thenAccept(player -> {
    if (player != null) {
        player.sendMessage(Component.text("Willkommen!").color(NamedTextColor.GREEN));
    }
});

// Server-Events abonnieren
Subscription sub = api.event().server().onStarted(event -> {
    System.out.println("Server gestartet: " + event.getServerId());
});

Nächste Schritte