Documentation Index
Fetch the complete documentation index at: https://new-docs.simplecloud.app/llms.txt
Use this file to discover all available pages before exploring further.
Die Events API ermöglicht das Reagieren auf Änderungen in deinem Netzwerk in Echtzeit. Zugriff über api.event().
Event-Kategorien
| Methode | Events |
|---|
api.event().group() | Gruppe erstellt, aktualisiert, gelöscht |
api.event().server() | Server gestartet, gestoppt, Status geändert |
api.event().persistentServer() | Persistente Server Events |
api.event().blueprint() | Blueprint erstellt, aktualisiert, gelöscht |
Server Events
Server Events werden sowohl für gruppenbasierte Server als auch für persistente Server ausgelöst. Bei einem persistenten Server ist persistentServerId gesetzt und groupName leer. Bei einem Gruppen-Server ist groupName gesetzt und persistentServerId leer.
Server gestartet
Subscription sub = api.event().server().onStarted(event -> {
System.out.println("Server gestartet: " + event.getServerId());
// Prüfen ob es ein Gruppen- oder persistenter Server ist
if (event.getPersistentServerId() != null && !event.getPersistentServerId().isEmpty()) {
System.out.println("Persistenter Server: " + event.getPersistentServerId());
} else {
System.out.println("Gruppe: " + event.getGroupName());
}
});
Server gestoppt
api.event().server().onStopped(event -> {
System.out.println("Server gestoppt: " + event.getServerId());
});
Server-Status geändert
api.event().server().onStateChanged(event -> {
System.out.println(event.getServerId() + ": " +
event.getOldState() + " → " + event.getNewState());
});
Gruppen Events
// Erstellt
api.event().group().onCreated(event -> {
System.out.println("Gruppe erstellt: " + event.getServerGroupId());
});
// Aktualisiert
api.event().group().onUpdated(event -> { ... });
// Gelöscht
api.event().group().onDeleted(event -> { ... });
Subscriptions verwalten
Subscriptions implementieren AutoCloseable. Immer aufräumen wenn fertig:
Manuelles Aufräumen
Subscription sub = api.event().server().onStarted(event -> { ... });
// Später, beim Herunterfahren
sub.close();
Plugin-Lebenszyklus
public class MeinPlugin extends JavaPlugin {
private final List<Subscription> subscriptions = new ArrayList<>();
private CloudApi api;
@Override
public void onEnable() {
api = CloudApi.create();
subscriptions.add(api.event().server().onStarted(this::handleServerStart));
subscriptions.add(api.event().server().onStopped(this::handleServerStop));
}
@Override
public void onDisable() {
subscriptions.forEach(Subscription::close);
}
private void handleServerStart(ServerStartedEvent event) {
getLogger().info("Server gestartet: " + event.getServerId());
}
private void handleServerStop(ServerStoppedEvent event) {
getLogger().info("Server gestoppt: " + event.getServerId());
}
}
Event-Referenz
Server Events
| Event | Properties |
|---|
ServerStartedEvent | serverId, groupName, persistentServerId |
ServerStoppedEvent | serverId, groupName, persistentServerId |
ServerStateChangedEvent | serverId, oldState, newState |
ServerUpdatedEvent | serverId |
ServerDeletedEvent | serverId |
ServerStartedEvent und ServerStoppedEvent werden sowohl für Gruppen-Server als auch für persistente Server ausgelöst. Bei persistenten Servern ist persistentServerId gesetzt und groupName leer. Bei Gruppen-Servern ist groupName gesetzt und persistentServerId leer.
Gruppen Events
| Event | Properties |
|---|
GroupCreatedEvent | serverGroupId |
GroupUpdatedEvent | serverGroupId |
GroupDeletedEvent | serverGroupId |