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:
- Benutzerdefinierte Bosse - Erstelle einzigartige Elite-Mobs mit benutzerdefinierten Kräften, Ausrüstung und Fähigkeiten
- Benutzerdefinierte Gegenstände - Gestalte benutzerdefinierte Waffen, Rüstungen und Gegenstände mit Verzauberungen
- Benutzerdefinierte Quests - Baue Questreihen mit Zielen und Belohnungen
- Benutzerdefinierte Events - Richte zeitgesteuerte oder ausgelöste Boss-Events ein
- Benutzerdefinierte NPCs - Füge Questgeber, Shops und interaktive NPCs hinzu
- Schatztruhen - Platziere Beutetruhen mit benutzerdefinierten Belohnungen und Mimic-Mechaniken
- Arenen - Gestalte wellenbasierte Kampfherausforderungen mit Boss-Begegnungen
- Wurmlöcher - Erstelle Teleportationsportale zwischen Orten
Jeder Inhaltstyp hat seinen eigenen Konfigurationsordner und seine eigene Feldstruktur.
Schnellstart
Für eine YAML-Inhaltsdefinition:
- Erstelle eine YAML-Datei mit der Endung .yml
- Benenne sie im Format kleinbuchstaben_mit_unterstrichen.yml
- Platziere sie im entsprechenden Ordner
- Konfiguriere den Inhalt mit YAML-Feldern
- 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
WebApp (empfohlen für Anfänger)
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
isEnabledsteuert, 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.ymlwird 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 inlocationMessage$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_parentsMAJOR_SKELETON:bullet_hell,skeleton_pillar,skeleton_tracking_arrowMAJOR_BLAZE:firestorm,flame_pyreMAJOR_ENDERMAN:plasma_blasterMAJOR_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 (Standardtrue); kein Hauptschalter für selbst definierte oder KlassenbeutedropsVanillaLoot- Aktiviert Vanilla-Drops (Standardtrue)dropsRandomLoot- Aktiviert zufällig generierte Beute innerhalb des normalen Beutepfads (Standardtrue)uniqueLootList- Selbst definierte Beuteeinträge, getrennt von diesen Schaltern verarbeitetclassLoot- 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