README.md aktualisiert
This commit is contained in:
225
README.md
225
README.md
@@ -1,2 +1,227 @@
|
||||
# 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.
|
||||
|
||||
Reference in New Issue
Block a user