Zum Hauptinhalt springen

EliteMobs-Inhalte erstellen

EliteMobs verwendet YAML für Bosse, Items, Quests und andere Definitionen sowie Lua für Fähigkeiten, NPC-Skripte und native Verhaltensweisen. Lege jede Datei im passenden Inhaltsordner unter plugins/EliteMobs/ ab.

Inhaltstypen​

Diese Übersicht behandelt acht Hauptinhaltstypen sowie die unten aufgeführten ergänzenden Definitionen und Skripte:

  1. Benutzerdefinierte Bosse - Erstelle einzigartige Elite-Mobs mit benutzerdefinierten Kräften, Ausrüstung und Fähigkeiten
  2. Benutzerdefinierte Gegenstände - Gestalte benutzerdefinierte Waffen, Rüstungen und Gegenstände mit Verzauberungen
  3. Benutzerdefinierte Quests - Baue Questreihen mit Zielen und Belohnungen
  4. Benutzerdefinierte Events - Richte zeitgesteuerte oder ausgelöste Boss-Events ein
  5. Benutzerdefinierte NPCs - Füge Questgeber, Shops und interaktive NPCs hinzu
  6. Schatztruhen - Platziere Beutetruhen mit benutzerdefinierten Belohnungen und Mimic-Mechaniken
  7. Arenen - Gestalte wellenbasierte Kampfherausforderungen mit Boss-Begegnungen
  8. Wurmlöcher - Erstelle Teleportationsportale zwischen Orten

Jeder Inhaltstyp hat seinen eigenen Konfigurationsordner und seine eigene Feldstruktur.

Schnellstart​

Für eine YAML-Inhaltsdefinition:

  1. Erstelle eine YAML-Datei mit der Endung .yml
  2. Benenne sie im Format kleinbuchstaben_mit_unterstrichen.yml
  3. Platziere sie im entsprechenden Ordner
  4. Konfiguriere den Inhalt mit YAML-Feldern
  5. Lade EliteMobs neu oder starte den Server neu

Dateispeicherorte​

Jeder Inhaltstyp wird in seinem eigenen Ordner gespeichert:

  • Benutzerdefinierte Bosse: ~/plugins/EliteMobs/custombosses/
  • Benutzerdefinierte Gegenstände: ~/plugins/EliteMobs/customitems/
  • Benutzerdefinierte Quests: ~/plugins/EliteMobs/customquests/
  • Benutzerdefinierte Events: ~/plugins/EliteMobs/customevents/
  • Benutzerdefinierte NPCs: ~/plugins/EliteMobs/npcs/
  • Schatztruhen: ~/plugins/EliteMobs/customtreasurechests/
  • Arenen: ~/plugins/EliteMobs/customarenas/
  • Wurmlöcher: ~/plugins/EliteMobs/wormholes/

Ergänzende Inhalte haben weitere Ordner:

  • Fähigkeiten: ~/plugins/EliteMobs/powers/
  • Benutzerdefinierte Spawns: ~/plugins/EliteMobs/customspawns/
  • NPC-Lua-Skripte: ~/plugins/EliteMobs/npc_scripts/
  • Native Lua-Verhaltensweisen: ~/plugins/EliteMobs/behaviors/
  • Transportrouten: ~/plugins/EliteMobs/transport_routes/
  • Verzauberungsdefinitionen und Lua: ~/plugins/EliteMobs/enchantments/
  • Dungeon-Pakete: ~/plugins/EliteMobs/content_packages/
  • Instanzweltvorlagen: ~/plugins/EliteMobs/world_blueprints/

Ein scripts/-Ordner auf Paketebene gehört zu FreeMinecraftModels. Er ist nicht der NPC- oder Verhaltensskriptordner von EliteMobs; siehe Zuordnung der Paketordner.

Werkzeuge zur Inhaltserstellung​

Die EliteMobs WebApp bietet eine visuelle Oberfläche zum Erstellen von Konfigurationen. Vergleiche das Ergebnis mit der aktuellen Referenz des Inhaltstyps; neuere Felder und Lua-Skripte können manuelle Bearbeitung erfordern.

Manuelle YAML-Konfiguration​

Für fortgeschrittene Benutzer: Erstelle YAML-Dateien manuell für die vollständige Kontrolle über alle verfügbaren Felder und Optionen.

YAML-Dateiformat​

Diese Regeln gelten für YAML-Inhaltsdefinitionen. Lua-Fähigkeiten, NPC-Skripte und Verhaltensweisen sind separate .lua-Dateien:

  • Verwende Leerzeichen, keine Tabs, für die Einrückung
  • Setze Texte, die mit Farbcodes beginnen, in Anführungszeichen; einfache Anführungszeichen eignen sich für wörtlichen Text
  • Listen verwenden das Bindestrich-Format oder das Klammer-Format
  • isEnabled steuert, ob eine YAML-Definition aktiviert ist. Der Standard hängt vom Inhaltstyp und der Vorlage ab; setze den Wert in neuen Dateien ausdrücklich und prüfe die jeweilige Referenz
  • Dateinamen sollten das Format kleinbuchstaben_mit_unterstrichen.yml verwenden

Detaillierte Hilfe zur YAML-Syntax findest du im Leitfaden für Konfigurationsdateien.

Überblick über die Inhaltstypen​

Benutzerdefinierte Bosse​

Benutzerdefinierte Bosse sind Elite-Mobs mit verbesserten Fähigkeiten, benutzerdefinierter Ausrüstung und besonderen Kräften. Das Boss-System unterstützt über 60 Konfigurationsfelder, darunter:

  • Entitätstyp und Level
  • Gesundheits- und Schadensmultiplikatoren
  • Ausrüstung (Rüstung und Waffen)
  • Elite-Kräfte und -Fähigkeiten
  • Loot-Tabellen und Drops
  • Spawn-/Todesnachrichten und -Befehle
  • Mehrphasen-Mechaniken
  • Benutzerdefinierte Modelle und Verkleidungen

Beispiel für einen einfachen Boss:

isEnabled: true
entityType: ZOMBIE
name: '&e Test Boss'
level: dynamic
healthMultiplier: 2.0
damageMultiplier: 0.5
helmet: GOLDEN_HELMET
chestplate: IRON_CHESTPLATE
mainHand: GOLDEN_AXE
powers:
- invulnerability_knockback.lua
spawnMessage: A test boss has been spawned!
deathMessage: A test boss has been slain by $players!

Benutzerdefinierte Gegenstände​

Benutzerdefinierte Gegenstände ermöglichen Waffen, Rüstungen und Werkzeuge mit eigenen Verzauberungen und Effekten. Das System umfasst:

  • Materialtyp
  • Anzeigename und Lore
  • Verzauberungsliste
  • Trankeffekte
  • Benutzerdefinierte Modell-IDs
  • Drop-Gewicht und Skalierung
  • Level- und Seelenbindungseinstellungen

Beispiel für einen einfachen Gegenstand:

isEnabled: true
material: DIAMOND_SWORD
name: '&4Legendary Blade'
lore:
- '&7A powerful weapon'
- '&7forged in dragon fire'
enchantments:
- DAMAGE_ALL,5
- FIRE_ASPECT,2
level: 10
soulbound: true

Benutzerdefinierte Quests​

Benutzerdefinierte Quests legen Ziele und Abschlussbelohnungen fest. Das System umfasst:

  • Quest-Ziele und -Typen
  • Belohnungen (Gegenstände, Geld, Berechtigungen)
  • Annahme-/Abschlussdialog
  • NPC-Abgabeanforderungen
  • Quest-Sperrtimer
  • Verfolgung und Sounds

Benutzerdefinierte Events​

Benutzerdefinierte Events lösen Boss-Spawns anhand von Zeit, Zufall oder anderen Bedingungen aus. Das System umfasst:

  • Event-Typ und Boss-Liste
  • Auslösechance und -gewicht
  • Start-/Endnachrichten und -Befehle
  • Cooldown-Timer (lokal und global)
  • Mindestspieleranzahl
  • Event-Dauer

Benutzerdefinierte NPCs​

Benutzerdefinierte NPCs bieten interaktive Charaktere für Quests, Shops und Arenen. Das System umfasst:

  • NPC-Name, -Rolle und -Beruf
  • Spawn-Orte
  • Dialog (Begrüßungen, Dialog, Abschied)
  • Interaktionstypen
  • Quest- und Arena-Referenzen
  • Benutzerdefinierte Modelle und Verkleidungen
  • NPC-Lua-Hooks und Patrouillenrouten

Schatztruhen​

Schatztruhen bieten Beute mit anpassbaren Auffüllzeiten und Mimic-Mechaniken. Das System umfasst:

  • Truhentyp und -ausrichtung
  • Standortkoordinaten
  • Loot-Tabelle
  • Auffüll-Timer
  • Mimic-Chance und Boss-Liste
  • Drop-Modi für Einzelspieler oder für Gruppen mit Beute je Spieler

Arenen​

Arenen bieten Kämpfe in Wellen mit Boss-Begegnungen. Das System umfasst:

  • Arena-Grenzen (corner1, corner2)
  • Wellenzahl und Verzögerungen
  • Boss-Liste und Spawn-Punkte
  • Belohnungen und Spielerlimits
  • Arena-Nachrichten
  • Pausen-Wellen

Wurmlöcher​

Wurmlöcher erstellen Teleportationsportale zwischen zwei Orten. Das System umfasst:

  • Zwei Standort-Endpunkte
  • Anzeigetext für jeden Standort
  • Visueller Stil und Partikelfarben
  • Münzkosten und Berechtigungen
  • Blendeffekt und Größenmultiplikator
  • Optionale Entitätsmodelle an beiden Endpunkten

Gängige Muster​

Inhalte referenzieren​

Inhaltstypen referenzieren sich gegenseitig über Dateinamen:

  • Kräfte in Bossen referenzieren: power_name.lua (ein alter Verweis power_name.yml wird automatisch zur gleichnamigen .lua-Fähigkeit aufgelöst)
  • Gegenstände in Beute referenzieren: filename: item_name.yml (siehe das Format der Loot-Tabellen für Chance, Menge und mehr)
  • Bosse in Events referenzieren: boss_filename.yml
  • Quests in NPCs referenzieren: quest_filename.yml

Definitionen wiederverwenden​

Dateien für Custom Bosses, NPCs und Transportrouten können mit extends: base_file.yml auf einer anderen Datei derselben Art aufbauen und nur die abweichenden Schlüssel überschreiben. Platzierungen und isEnabled werden nie geerbt. Die vollständigen Regeln findest du unter Eine andere Boss-Datei wiederverwenden und Eine andere NPC-Datei wiederverwenden.

Platzhalter​

Platzhalter hängen vom lesenden Feld ab; sie werden nicht pauschal in jeder Nachricht ersetzt:

  • $players - Anzeigenamen der beteiligten Angreifer in Boss-Todesankündigungen
  • $distance - Entfernung zum verfolgten Boss-Standort in locationMessage
  • $eventBossLevel - Formatiertes Level in Boss-Namen; Vorschauen können bei unbekanntem Level ? anzeigen

Farbcodes​

Verwende Minecraft-Farbcodes in Namen und Nachrichten. Beginnt ein Text mit einem Farbcode, setze den gesamten Text in Anführungszeichen. Einfache Anführungszeichen erhalten Backslashes wörtlich; doppelte YAML-Anführungszeichen sind ebenfalls gültig.

Standard-Minecraft-Farbcodes:

  • &0 - Schwarz
  • &1 - Dunkelblau
  • &2 - Dunkelgrün
  • &3 - Dunkles Türkis
  • &4 - Dunkelrot
  • &5 - Dunkelviolett
  • &6 - Gold
  • &7 - Grau
  • &8 - Dunkelgrau
  • &9 - Blau
  • &a - Grün
  • &b - Türkis
  • &c - Rot
  • &d - Hellviolett
  • &e - Gelb
  • &f - Weiß

Formatierungscodes:

  • &l - Fett
  • &m - Durchgestrichen
  • &n - Unterstrichen
  • &o - Kursiv
  • &r - Zurücksetzen

Elite-Kräfte-System​

EliteMobs liefert 71 Fähigkeiten: 68 Lua-Dateien (*.lua); nur bonus_coins.yml, custom_summon.yml und elite_script.yml verwenden weiterhin YAML. Boss-Konfigurationen referenzieren sie per Dateiname. Alte .yml-Verweise werden automatisch zur gleichnamigen .lua-Fähigkeit aufgelöst. Siehe Fähigkeiten erstellen.

Kraftkategorien​

Die Kategorie entspricht powerType und bestimmt auch, ob natürliche Elites die Fähigkeit erhalten können.

Offensiv: arrow_fireworks, arrow_rain, attack_arrow, attack_fire, attack_fireball, attack_freeze, attack_gravity, attack_lightning, attack_poison, attack_push, attack_vacuum, attack_wither, fireworks_barrage, lightning_bolts, taze

Defensiv: invulnerability_arrow, invulnerability_fall_damage, invulnerability_fire, invulnerability_fireworks, invulnerability_knockback, shield_wall

Verschiedenes: attack_blinding, attack_confusing, attack_weakness, attack_web, bonus_loot, channel_healing, corpse, frost_walker, ground_pound, implosion, invisibility, moonwalk, movement_speed, taunt

Große Fähigkeiten (an Entitätstypen gebunden):

  • MAJOR_ZOMBIE: zombie_bloat, zombie_friends, zombie_necronomicon, zombie_parents
  • MAJOR_SKELETON: bullet_hell, skeleton_pillar, skeleton_tracking_arrow
  • MAJOR_BLAZE: firestorm, flame_pyre
  • MAJOR_ENDERMAN: plasma_blaster
  • MAJOR_GHAST: tracking_fireball

Einzigartig (nur bei ausdrücklicher Angabe im Boss): death_slice, flamethrower, frost_cone, gold_explosion, gold_shotgun, hyper_loot, meteor_shower, photon_ray, spirit_walk, summon_embers, summon_the_returned, thunderstorm, dazu die zehn Enderdrachen-Fähigkeiten: ender_dragon_aimed_fireball, ender_dragon_arrow_bombardment, ender_dragon_disco_fireballs, ender_dragon_empowered_lightning, ender_dragon_ender_fireball_bombardment, ender_dragon_endermite_bombardment, ender_dragon_fireball_bombardment, ender_dragon_potion_bombardment, ender_dragon_shockwave, ender_dragon_tornado

Weiterhin YAML: bonus_coins.yml, custom_summon.yml (das Verstärkungssystem), elite_script.yml

Kräfte werden Bossen über das Listenfeld powers hinzugefügt:

powers:
- invulnerability_knockback.lua
- flame_pyre.lua
- spirit_walk.lua

Erweiterte Features​

Mehrphasen-Bosse​

Bosse können mehrere Phasen mit separaten Konfigurationsdateien haben. Verwende das Feld phases, um Phasen-Boss-Dateien zu referenzieren, und phaseSpawnLocation, um festzulegen, wo Phasenübergänge stattfinden.

Elite-Skripte​

Elite-Skripte bieten ereignisgesteuerte Aktionen, Bedingungen und Cooldowns. YAML-EliteScript verwendet das Feld eliteScript im Boss. Lua-Fähigkeiten sind separate .lua-Dateien, die unter powers referenziert werden; siehe Fähigkeiten erstellen.

Benutzerdefinierte Modelle​

Bosse und NPCs verwenden customModel für Entitätsmodelle. Items haben eigene Felder, darunter customModelV2, equipmentModelID und fmmItemModel; siehe Benutzerdefinierte Gegenstände. Entitäts- und Item-Modelle werden getrennt eingerichtet.

Boss-Ausrüstung​

Boss-Ausrüstungsfelder akzeptieren Minecraft-Materialnamen. Sie laden keine benutzerdefinierten Item-Dateien oder deren EliteMobs-Werte:

helmet: DIAMOND_HELMET
chestplate: IRON_CHESTPLATE
leggings: LEATHER_LEGGINGS
boots: CHAINMAIL_BOOTS
mainHand: GOLDEN_AXE
offHand: SHIELD

Befehlsausführung​

Bosse können bei bestimmten Ereignissen Befehle ausführen:

  • onSpawnCommands - Werden ausgeführt, wenn der Boss spawnt
  • onDeathCommands - Werden ausgeführt, wenn der Boss besiegt wird
  • onCombatEnterCommands - Werden ausgeführt, wenn der Kampf beginnt
  • onCombatLeaveCommands - Werden ausgeführt, wenn der Kampf endet

Boss-Nachrichten​

Passe Boss-Ankündigungen an:

  • spawnMessage - Wird gesendet, wenn der Boss spawnt
  • deathMessage - Wird gesendet, wenn der Boss besiegt wird (unterstützt den Platzhalter $players)
  • escapeMessage - Wird gesendet, wenn der Boss entkommt
  • locationMessage - Zeigt die Entfernung zum Boss (unterstützt den Platzhalter $distance)
  • deathMessages - Geordnete Zeilen beim Boss-Tod, sofern Angreifer erfasst wurden; eine nicht leere Liste hat Vorrang vor deathMessage. Keine zufällige Auswahl

announcementPriority (0–3) steuert Ankündigungszustellung, Verfolgung und DiscordSRV-Weiterleitung. Todesankündigungen mit 0 gehen an erfasste Angreifer; positive Prioritäten senden serverweit, und 3 leitet zusätzlich über die konfigurierte DiscordSRV-Integration weiter. Spawn-Ankündigungen und Verfolgung haben eigene Regeln.

Regionale Bosse​

Regionale Bosse verwenden das Feld isRegionalBoss und können einen Leinenradius, Spawn-Beschränkungen und Blockzustandsänderungen haben:

  • leashRadius - Maximale Entfernung vom Spawn-Punkt
  • onSpawnBlockStates - Blockänderungen, wenn der Boss spawnt
  • onRemoveBlockStates - Blockänderungen beim Besiegen des Bosses; gewöhnliches Entladen, Despawnen und Zurücksetzen wenden den Besiegt-Zustand nicht an

Automatische Klassenbeute​

Die Klassenbeute liefert levelabhängige Belohnungen passend zur Spielerklasse. Begegnungsränge und Schwierigkeitsbudgets regeln die Qualität unabhängig von Boss-Gesundheit und -Schaden. Benutzerdefinierte Item-Familien können eigene Namen, Materialien, Beschreibungen und Modelle liefern.

Loot-Konfiguration​

Steuere Boss-Drops:

  • dropsEliteMobsLoot - Aktiviert den normalen Pfad für generierte Beute und Münzen (Standard true); kein Hauptschalter für selbst definierte oder Klassenbeute
  • dropsVanillaLoot - Aktiviert Vanilla-Drops (Standard true)
  • dropsRandomLoot - Aktiviert zufällig generierte Beute innerhalb des normalen Beutepfads (Standard true)
  • uniqueLootList - Selbst definierte Beuteeinträge, getrennt von diesen Schaltern verarbeitet
  • classLoot - Steuert automatische Klassenbeute separat; globale Einstellungen und Voraussetzungen gelten weiterhin

Beispiel:

uniqueLootList:
- filename=custom_sword.yml:chance=1.0
- filename=rare_helmet.yml:chance=0.05:amount=1

Die alte Kurzform custom_sword.yml:1 wird weiterhin gelesen, aber die Zahl nach dem Doppelpunkt ist die Drop-Chance (1 = 100 %), nicht die Menge. Verwende amount= für die Menge. Alle Optionen stehen unter Loot-Tabellen.

Vorgefertigter Inhalt​

EliteMobs liefert vorgefertigte Konfigurationen für die meisten Inhaltstypen und schreibt sie beim ersten Start direkt in die normalen Inhaltsordner. Es gibt keinen separaten /premade/-Ordner auf der Festplatte. Die erzeugten Dateien (Bosse in custombosses/, Items in customitems/, NPCs in npcs/ usw.) sind gewöhnliche YAML-Dateien und Beispiele für eigene Inhalte.

Auch vorgefertigte Paketdefinitionen werden mitgeliefert; ihre Dungeon-Welten und zusätzlichen Inhalte werden über /em setup heruntergeladen und installiert. Siehe Dungeon-Packager.

Hilfe erhalten​

  • Sieh in der Seitenleiste nach spezifischen Anleitungen zur Inhaltserstellung
  • Besuche den EliteMobs Discord für Community-Support
  • Sieh dir das GitHub-Repository für Quellcode-Beispiele an