# 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 - Event-Katalog (alle eingebauten 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 `) - 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 ` 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 ` startet den Ingame-Custom-Builder - `/event delete ` löscht ein Custom-Event - `/event score ` vergibt Punkte im laufenden Event - `/event rotation ` 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 `) - per `/event delete ` 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` ## Event-Katalog (alle eingebauten Events) Hinweis: - Die folgende Liste beschreibt alle eingebauten Event-IDs. - Diese IDs kannst du direkt mit `/event start ` verwenden. ### Combat - `pvp_deathmatch` - Klassisches PvP: alle gegen alle bis zum Event-Ende. - `pvp_team_battle` - Teamkampf mit Fokus auf Koordination. - `pvp_free_for_all` - Freier Kampf ohne Teams. - `pvp_last_man_standing` - Gewinnt, wer als Letzter uebrig bleibt. - `pvp_one_vs_one` - Duellmodus mit 1v1-Paarungen. - `pvp_bow_only` - PvP nur mit Bogen und Distanzkampf. - `pvp_sword_only` - Nahkampf-PvP mit Schwertfokus. - `pvp_fist_fight` - PvP ohne Waffen, nur mit Faeusten. - `pvp_kit_pvp` - PvP mit vordefinierten Ausruestungen. - `pvp_capture_the_flag` - Teams erobern gegnerische Flaggen. - `pvp_king_of_the_hill` - Kontrollpunkt halten fuer Punkte. - `pvp_hunger_games` - Battle-Royale-Stil mit Survival-Elementen. - `pvp_bedwars_lite` - Kompakte Bedwars-Variante. - `pvp_skywars_lite` - Kompakte Skywars-Variante. - `pvp_uhc` - Ultra Hardcore ohne natuerliche Regeneration. - `pvp_spleef` - Gegner in die Tiefe spleefen. - `pvp_sumo` - Gegner aus der Arena schubsen. - `pvp_snowball_fight` - PvP mit Schneebaellen und Knockback-Fokus. - `pvp_elytra_pvp` - Luftkampf mit Elytra. - `pvp_arena_survival` - Arena-Kampf mit Survival-Druck. ### Survival - `survival_mob_wave` - Wellen aus Mobs ueberstehen. - `survival_zombie_siege` - Verteidigung gegen Zombie-Angriffe. - `survival_boss_rush` - Mehrere Bosskaempfe in Folge. - `survival_wither_storm` - Schweres Survival-Szenario mit Bossdruck. - `survival_dragon_fight` - Drachenkampf als Server-Event. - `survival_hardcore_round` - Survival-Runde mit hohem Risiko. - `survival_island` - Ueberleben auf begrenzter Insel. - `survival_nether_run` - Survival-Challenge in Nether-Umgebung. - `survival_endurance` - Ausdauer-Event mit laengerem Durchhalten. - `survival_raids_plus` - Verstaerkte Raid-Variante. - `survival_monster_hunt` - Gezielte Jagd auf Monster. - `survival_lava_rising` - Steigende Lava zwingt zu Bewegung. - `survival_gravity_shift` - Veraenderte Physik und Schwerkraft. - `survival_random_spawn` - Unvorhersehbare Spawnpositionen. - `survival_manhunt` - Jagen und Gejagtwerden im Survival-Modus. ### Building - `build_battle` - Bauwettbewerb zu vorgegebenem Thema. - `build_speed_build` - Bauen unter starkem Zeitdruck. - `build_theme_challenge` - Kreativ bauen nach Motto. - `build_pixel_art` - Pixel-Art-Wettbewerb. - `build_tallest_tower` - Wer baut den hoechsten Turm. - `build_bridge` - Brueckenbau-Challenge. - `build_redstone` - Technik-/Redstone-Aufgabe loesen. - `build_underground` - Bauprojekt unter der Erde. - `build_skyblock_style` - Bauen im Skyblock-Stil. - `build_blindbuild` - Bauen mit eingeschraenkter Sicht/Info. ### Racing - `race_parkour` - Parkour-Rennen auf Zeit. - `race_elytra` - Elytra-Strecke mit Checkpoints. - `race_boat` - Bootsrennen auf Wasserstrecken. - `race_horse` - Pferderennen ueber Landkurs. - `race_pig` - Schweinerennen als Fun-Race. - `race_minecart` - Lore-Rennen auf Schienennetz. - `race_swimming` - Schwimmwettkampf durch Wasserkurs. - `race_obstacle` - Hindernislauf mit mehreren Abschnitten. - `race_maze` - Rennen durch ein Labyrinth. - `race_iceboat` - Bootsrennen auf Eisbahnen. ### Collection - `collect_scavenger_hunt` - Hinweise verfolgen und Items finden. - `collect_mining_comp` - Wettbewerb um Erze und Mining-Ausbeute. - `collect_fishing_comp` - Angelwettbewerb mit Fangzielen. - `collect_farming_comp` - Farming-Wettbewerb um Erntepunkte. - `collect_mob_drops` - Moeglichst viele Mob-Drops sammeln. - `collect_treasure_hunt` - Schatzsuche mit versteckten Belohnungen. - `collect_easter_egg` - Versteckte Eier einsammeln. - `collect_speed_mine` - In kurzer Zeit maximal abbauen. - `collect_woodcutting` - Holzfaellen auf Zeit/Score. - `collect_enchant_race` - Enchanting-Ziele schneller erreichen. ### Fun - `fun_random_effects` - Regelmaessig zufaellige Effekte fuer alle. - `fun_tiny_players` - Verkleinerte Spieler fuer Chaos-Momente. - `fun_giant_players` - Vergroesserte Spieler als Fun-Modus. - `fun_invisible_players` - Unsichtbarkeit sorgt fuer Verwirrung. - `fun_chaos_mode` - Schnell wechselnde, chaotische Regeln. - `fun_lightning_storm` - Blitzereignisse in kurzer Folge. - `fun_tnt_rain` - TNT regnet vom Himmel. - `fun_item_rain` - Items fallen als Loot-Regen. - `fun_drop_party` - Spawn-Party mit massenhaft Drops. - `fun_firework_show` - Feuerwerk-Show fuer den Server. - `fun_random_teleport` - Spieler werden zufaellig teleportiert. - `fun_swap_inventories` - Inventare werden getauscht. - `fun_reverse_gravity` - Ungewoehnliches Sprung-/Fallverhalten. - `fun_speed_boost` - Temporarer Bewegungsschub fuer alle. - `fun_bouncy_blocks` - Bloecke verhalten sich federnd. ### Quiz - `quiz_minecraft_trivia` - Fragen rund um Minecraft-Wissen. - `quiz_general_knowledge` - Allgemeinwissen fuer alle. - `quiz_speed_quiz` - Schnelles Quiz mit kurzen Antwortfenstern. - `quiz_crafting_challenge` - Crafting-Aufgaben unter Zeitdruck. - `quiz_mob_quiz` - Fragen zu Mobs, Verhalten und Drops. ### Economy - `economy_auction` - Ingame-Auktion mit Geboten. - `economy_market_rush` - Handels- und Marktphase auf Zeit. - `economy_lottery` - Lotterie mit Gewinnchance fuer Teilnehmer. - `economy_trade_frenzy` - Intensiver Tausch-/Handelsmodus. - `economy_betting` - Eventbasierte Wetten mit Risiko/Belohnung. ### Team - `team_relay_race` - Team-Staffellauf mit Etappen. - `team_build_battle` - Build Battle im Team. - `team_survival` - Survival-Challenge in Gruppen. - `team_treasure_hunt` - Team-Schatzsuche mit Aufgaben. - `team_quiz` - Quiz mit Teamantworten. - `team_capture_points` - Punktezonen gemeinsam halten. - `team_resource_race` - Ressourcen als Team schneller sammeln. - `team_hide_and_seek` - Verstecken im Teammodus. - `team_murder_mystery` - Rollenmodus im Team-Kontext. - `team_color_war` - Teamkampf um Farbzonen/Farbkontrolle. ## 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 ` - `/event rotation remove ` ## 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 ` ## 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 ` 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.