README.md aktualisiert

This commit is contained in:
2026-04-06 19:45:04 +00:00
parent e8551d2354
commit 8d281c2784

225
README.md
View File

@@ -1,2 +1,227 @@
# EventEngine # EventEngine
EventEngine ist ein Minecraft-Plugin für Paper 1.21+, mit dem du automatisch oder manuell Server-Events starten, verwalten und rotieren lassen kannst.
Der Fokus liegt auf:
- vielen eingebauten Event-Typen (100+)
- planbaren Events über Uhrzeit/Wochentage
- zufälliger Event-Rotation mit Gewichtung
- Custom-Events per Ingame-Builder
- schneller Admin-Steuerung per Befehl und GUI
## Inhalt
- Features
- Voraussetzungen
- Installation
- Schnellstart
- Befehle
- Berechtigungen
- Konfiguration
- Zeitplan konfigurieren
- Event-Overrides (eingebaute Events anpassen)
- Custom Events
- Rotation und RANDOM
- Typische Abläufe
- Fehlerbehebung
## Features
- Event-System mit eingebauten Kategorien (PvP, Survival, Build, Fun, Quiz, Economy, Team uvm.)
- GUI und Commands für schnelle Steuerung
- Zeitplan in `config.yml` mit Tagesfilter und Uhrzeit
- Intervall-Modus (alle X Minuten)
- Event-Rotation mit Gewichtung (`weight`)
- Ingame-Custom-Event-Builder (`/event create <id>`)
- Laufende Events verwalten (join/leave, stop, score)
- Konfigurations-Reload ohne Server-Neustart
## Voraussetzungen
- Paper-Server 1.21.x
- Zugriff auf den `plugins`-Ordner
## Installation
1. Plugin-JAR in den `plugins`-Ordner kopieren.
2. Server starten oder neu starten.
3. Es werden automatisch Konfigurationsdateien erzeugt:
- `plugins/EventEngine/config.yml`
- `plugins/EventEngine/custom_events.yml` (bzw. anhand des Beispiels)
## Schnellstart
1. Liste aller Events anzeigen:
- `/event list`
2. Ein Event sofort starten:
- `/event start random`
3. Aktives Event anzeigen:
- `/event info`
4. Event beenden:
- `/event stop`
5. Änderungen an der Config übernehmen:
- `/event reload`
## Befehle
Hauptbefehl:
- `/event` (Aliases: `/ee`, `/events`)
Verfügbare Subcommands:
- `/event gui` öffnet die Event-GUI
- `/event start <id|random>` startet ein Event
- `/event stop [grund]` beendet das laufende Event
- `/event join` nimmt am aktiven Event teil
- `/event leave` verlässt das aktive Event
- `/event info [id]` zeigt Info zum aktiven Event oder zu einer Event-ID
- `/event list [seite]` listet registrierte Events
- `/event schedule` zeigt den aktuellen Zeitplan
- `/event create <id>` startet den Ingame-Custom-Builder
- `/event delete <id>` löscht ein Custom-Event
- `/event score <spieler> <punkte>` vergibt Punkte im laufenden Event
- `/event rotation <add|remove> <id>` aktiviert/deaktiviert Rotation für ein Event
- `/event reload` lädt Config, Registry und Scheduler neu
## Berechtigungen
- `eventengine.admin`
- `eventengine.participate`
- `eventengine.notify`
Empfehlung:
- Admin-Befehle nur an Team-Ränge vergeben.
- Teilnahme/Benachrichtigung an Standard-Spielerrollen vergeben.
## Konfiguration
Datei: `plugins/EventEngine/config.yml`
Wichtige Bereiche:
- `settings.prefix`
- `settings.log-events`
- `settings.announce-before-seconds`
- `settings.use-interval`
- `settings.interval-minutes`
- `settings.default-event`
- `settings.random-on-interval`
- `schedule`
- `event-overrides`
### Beispiel: Intervall-Modus aktivieren
```yml
settings:
use-interval: true
interval-minutes: 60
default-event: "RANDOM"
random-on-interval: true
```
## Zeitplan konfigurieren
Jeder Zeitplan-Eintrag hat:
- `days`: Liste von Wochentagen (`MONDAY` bis `SUNDAY`), leer = täglich
- `time`: Uhrzeit im 24h-Format `HH:MM`
- `event`: Event-ID oder `RANDOM`
Beispiel:
```yml
schedule:
- days: []
time: "12:00"
event: "RANDOM"
- days: [FRIDAY, SATURDAY]
time: "20:00"
event: "pvp_hunger_games"
```
## Event-Overrides (eingebaute Events anpassen)
Mit `event-overrides` kannst du Werte einzelner Builtin-Events überschreiben.
Beispiel:
```yml
event-overrides:
pvp_deathmatch:
duration-seconds: 600
min-players: 4
rewards:
- "eco give %player% 500"
- "give %player% diamond 3"
```
## Custom Events
Custom Events liegen in `custom_events.yml` unter `events:`.
Du kannst sie:
- per Ingame-Builder erstellen (`/event create <id>`)
- per `/event delete <id>` entfernen
- manuell in der Datei pflegen
Wichtige Felder pro Event:
- `display-name`
- `description`
- `category`
- `duration-seconds`
- `min-players`
- `max-players`
- `announcement`
- `in-rotation`
- `weight`
- `start-commands`
- `end-commands`
- `rewards`
- `settings`
## Rotation und RANDOM
`RANDOM` wählt aus allen Events mit `in-rotation: true`.
Die Häufigkeit wird über `weight` gesteuert:
- höheres `weight` = höhere Chance
- `weight: 1` ist Standard
Rotation verwalten:
- `/event rotation add <id>`
- `/event rotation remove <id>`
## Typische Abläufe
Custom Event anlegen:
1. `/event create parkour_night`
2. Builder durchlaufen
3. Mit `/event list` prüfen
4. Optional in Rotation aufnehmen: `/event rotation add parkour_night`
Geplantes Event testen:
1. Eintrag in `config.yml` anlegen
2. `/event reload`
3. Mit `/event schedule` prüfen
4. Teststart mit `/event start <id>`
## Fehlerbehebung
Event startet nicht:
- Mit `/event info` prüfen, ob bereits ein Event läuft.
- Mit `/event list` prüfen, ob die ID korrekt ist.
- Prüfen, ob Mindestspielerzahl erreicht ist.
Zeitplan greift nicht:
- Zeitformat prüfen (`HH:MM`).
- Wochentage prüfen (`MONDAY` ... `SUNDAY`).
- Nach Änderungen immer `/event reload` ausführen.
RANDOM findet nichts:
- Mindestens ein Event muss in der Rotation aktiv sein (`in-rotation: true`).
- Mit `/event rotation add <id>` Events hinzufügen.
## Hinweis
Die Event-Liste kann je nach Plugin-Version variieren. Verwende `/event list`, um alle aktuell registrierten IDs auf deinem Server zu sehen.