Zum Hauptinhalt springen

Bosse erstellen

webapp_banner.jpg

Benutzerdefinierte Bosse erstellen

Bevor du beginnst

Wo kommen Boss-Dateien hin?

Boss-Dateien gehören in den Konfigurationsordner ~/plugins/EliteMobs/custombosses.

Es ist möglich, Unterordner zu erstellen, wie z.B. ~/plugins/EliteMobs/custombosses/meinebosse. Dies wird empfohlen, um die Übersicht zu behalten.

Eine Datei definiert einen Boss, obwohl es möglich ist, denselben Boss mehrmals zu spawnen und sogar mehrere Spawn-Orte für dieselbe Boss-Datei festzulegen.

Es ist möglich, die WebApp zu verwenden, um schnell und einfach benutzerdefinierte Bosse und mehr zu erstellen.

Kleinstmögliche Konfiguration

Die kleinstmögliche Konfigurationsdatei für einen benutzerdefinierten Boss ist:

Beachte, dass dies nur eine leere Datei ist. Es wird trotzdem ein Zombie-Boss mit einem benutzerdefinierten Namen gespawnt, da dies die Standardwerte sind. Alles auf dieser Seite ist optional!

Beispiel-Boss

Schauen wir uns ein Beispiel an, wie eine Boss-Datei aussieht.

Beispiel
isEnabled: true
entityType: ZOMBIE
name: '&eTest-Boss'
level: dynamic
timeout: 10
isPersistent: false
healthMultiplier: 2.0
damageMultiplier: 0.5
helmet: GOLDEN_HELMET
chestplate: IRON_CHESTPLATE
leggings: LEATHER_LEGGINGS
boots: CHAINMAIL_BOOTS
mainHand: GOLDEN_AXE
offHand: SHIELD
isBaby: false
powers:
- invulnerability_knockback.yml
spawnMessage: Ein Test-Boss wurde gespawnt!
deathMessage: Ein Test-Boss wurde von $players besiegt!
escapeMessage: Ein Test-Boss ist entkommen!
locationMessage: 'Test-Entität: $location'
uniqueLootList:
- magmaguys_toothpick.yml:1
dropsEliteMobsLoot: true
dropsVanillaLoot: true
trails:
- BARRIER
onDamageMessages:
- "Ich habe dich getroffen!"
onDamagedMessages:
- "Ich wurde getroffen!"

Grundeinstellungen

isEnabled

Legt fest, ob der Boss aktiviert ist.

SchlüsselWerteStandard
isEnabledtrue / falsetrue
Beispiel
isEnabled: true

entityType

Legt den Entitätstyp des Bosses fest.

SchlüsselWerteStandard
entityTypeHier auswählen.
Der Wert muss auch im Ordner ~plugins/EliteMobs/mobproperties vorhanden sein.
ZOMBIE
Magmawürfel und Schleime

Da diese Entitätstypen Spieler nicht direkt angreifen, sondern Schaden durch Kontakt verursachen, kann dies zu großen Schadensschüben in kurzer Zeit führen. Daher empfehlen wir generell nicht, sie häufig als Elite-Mobs zu verwenden. Wenn du sie dennoch verwenden möchtest, empfehlen wir, damageMultiplier auf etwa 0.1 zu setzen.

Wir empfehlen auch die Verwendung des folgenden EliteScripts, um zu verhindern, dass Magmawürfel oder Schleime Spieler in einer Stunlock-Schleife halten:

eliteScript:
NerfDamage:
Events:
- ZoneEnterEvent
- ZoneLeaveEvent
Zone:
shape: SPHERE
radius: 1
Target:
targetType: SELF
Actions:
- action: SET_MOB_AI
Target:
targetType: SELF
bValue: false
duration: 10
Beispiel
entityType: ZOMBIE

name

Legt den Namen des Bosses fest.

SchlüsselWerteStandard
nameString, akzeptiert Farbcodes und die unten aufgeführten Platzhalter"Default Name"
Beispiel
name: "$normalLevel &cCooler Boss!"

create_boss_name_pic_no_level.jpg

Wenn du das Boss-Level im Namensfeld anzeigen möchtest, verwende einfach einen der folgenden Platzhalter.

PlatzhalterBeschreibungBeispielAusgabe (für einen Level-10-Boss)
$levelWird durch das Level ersetzt"$level Cooler Boss"10 Cooler Boss
$normalLevelWird durch das Level ersetzt, für normale Mobs"$normalLevel Cooler Boss"[10] Cooler Boss
$minibossLevelWird durch das Level ersetzt, für Minibosse"$minibossLevel Cooler Boss"〖10〗 Cooler Boss
$bossLevelWird durch das Level ersetzt, für Bosse"$bossLevel Cooler Boss"『10』 Cooler Boss
$reinforcementLevelWird durch das Level ersetzt, für Verstärkungen"$reinforcementLevel Cooler Boss"〔10〕 Cooler Boss
$eventBossLevelWird durch das Level ersetzt, für Event-Bosse"$eventBossLevel Cooler Boss"「10」 Cooler Boss
Beispiel
name: "$normalLevel &cCooler Boss!"

create_boss_name_pic.jpg


level

Legt das Level des Bosses fest.

SchlüsselWerteStandard
levelPositive Ganzzahl oder dynamicdynamic

dynamic wird für Events verwendet und passt sich dem Level nahegelegener Spieler zum Zeitpunkt des Boss-Spawns an. Es wird nicht für regionale Bosse empfohlen.

Beispiel
level: 1

scale

Legt die Skalierung (Größe) des Bosses fest.

SchlüsselWerteStandard
scaleMultiplikator1.0

Beim Skalieren steht 1.0 für die Standardgröße. Um die Entität größer zu machen, erhöhe den Wert (z.B. 1.2). Um sie kleiner zu machen, verringere den Wert (z.B. 0.8).

Beispiel
scale: 1.2

bossType

Legt den Typ des Bosses fest. Dies wird zur Anzeige von Boss-Lebensbalken und anderen Funktionen verwendet.

SchlüsselWerteStandard
bossTypeNORMAL, MINIBOSS, BOSS, REINFORCEMENT, EVENTNORMAL

MINIBOSS, BOSS, EVENT bewirken, dass das Plugin Lebensbalken anzeigt, wenn Spieler gegen diese Boss-Typen kämpfen.

Hinweis: REINFORCEMENT wird typischerweise automatisch beschwörten Verstärkungsmobs zugewiesen, kann aber bei Bedarf manuell gesetzt werden.

Beispiel
bossType: MINIBOSS

silent

Legt fest, ob die Boss-Geräusche stummgeschaltet werden.

SchlüsselWerteStandard
silentBooleanfalse

Wenn auf true gesetzt, werden alle Standard-Minecraft-Mob-Geräusche stummgeschaltet, sodass der Boss keine Geräusche von sich gibt.

Beispiel
silent: true

healthMultiplier

Legt die Gesundheit des Bosses fest. Der Wert dieser Einstellung bestimmt auch den Typ des angezeigten Lebensbalkens während des Kampfes. Höhere Werte zeigen einen Miniboss- oder vollständigen Boss-Lebensbalken an.

SchlüsselWerteStandard
healthMultiplierMultiplikator1.0
Beispiel
healthMultiplier: 1.5

damageMultiplier

Legt den Schadensmultiplikator des Bosses fest.

SchlüsselWerteStandard
damageMultiplierMultiplikator1.0
Beispiel
damageMultiplier: 1.5

isBaby

Legt fest, ob der Boss die Baby-Variante des Mobs verwendet. Kann nur auf Mobs mit Baby-Varianten angewendet werden. Wenn du den Boss verkleiden möchtest, er aber dabei ein Baby bleiben soll (stelle sicher, dass die Verkleidungsentität auch die Baby-Variante unterstützt), kannst du diese Einstellung verwenden:

disguise: HOGLIN:baby
SchlüsselWerteStandard
isBabytrue / falsefalse
Beispiel
isBaby: true

helmet/chestplate/leggings/boots/mainhand/offhand

Legt die Rüstung des Bosses fest. Nicht alle Minecraft-Modelle können Rüstung anzeigen. Boss-Rüstung ist rein kosmetisch und beeinflusst das Gameplay nicht.

SchlüsselWerteStandard
helmetMaterial, UUIDnone
chestplateMaterialnone
leggingsMaterialnone
bootsMaterialnone
mainHandMaterialnone
offHandMaterialnone

Hinweis: Dieses Feld erlaubt auch das Setzen benutzerdefinierter Modelle für Gegenstände. Um die benutzerdefinierte Modell-ID zu setzen, füge die ID nach dem Materialtyp im folgenden Format hinzu: ITEM_MATERIAL:ID. Beispiel: DIAMOND_SWORD:1 setzt den Boss so, dass er ein Diamantschwert mit dem benutzerdefinierten Modell #1 in deinem Texturpaket trägt.

Hinweis 2: Dieses Feld erlaubt auch das Setzen benutzerdefinierter Lederfarben im Format ITEM_MATERIAL:CODE, wobei der Code die hexadezimale Darstellung der Farbe ist. Beispiel: LEATHER_LEGGINGS:ffa500 würde orangefarbene Beinschienen erstellen. Du kannst Hex-Codes verwenden, entferne einfach das #. Hex-Codes findest du hier.

Hinweis 3: Das Helm-Feld erlaubt auch das Setzen von Spielerköpfen als Mob-Helme. Hole dir einfach die UUID des gewünschten Spielerkopfes und tippe sie in das Helm-Feld ein. Der Spieler muss online sein, damit dies funktioniert, sonst wird der Kopf zu einem generischen Minecraft-Kopf. Spieler-UUIDs findest du hier.

Beispiel
helmet: 198c4123-cafc-45df-ba79-02a421eb8ce7
chestplate: DIAMOND_CHESTPLATE:1
leggings: LEATHER_LEGGINGS:ffa500
boots: NETHERITE_BOOTS
mainHand: DIAMOND_SWORD
offHand: SHIELD

create_boss_armor.jpg


powers

Legt die Fähigkeiten des Bosses fest.

SchlüsselWerteStandard
powersSiehe Liste untennone
Beispiel
powers:
- hyper_loot.yml
- attack_arrow.yml

Hinweis: Du kannst dir diese Seite ansehen, um eine Liste vorgefertigter Fähigkeiten zu sehen, die du verwenden kannst.


Fortgeschrittene Konfiguration - Verstärkungen spawnen

Verstärkungen gehören ebenfalls zur Powers-Kategorie und verwenden die folgenden Einstellungen:

Hinweis: Verstärkungen werden innerhalb des powers-Abschnitts deiner Boss-Konfigurationsdatei konfiguriert, nicht als separater Abschnitt.

Verstärkungs-Einstellungen
SchlüsselBeschreibungWerteStandard
summonTypeWas das Spawnen der Verstärkung auslöst. Pflichtfeld.Siehe Liste untennone
filenameDateiname des als Verstärkung zu spawnenden Bosses. Pflichtfeld.Stringnone
chanceChance, dass die Verstärkung spawnt. Optional.Double1.0
amountLegt die Anzahl der zu spawnenden Verstärkungen fest. Optional.Ganzzahl1
inheritAggroLässt die Verstärkung die Aggro vom Boss erben. Optional.true / falsefalse
spawnNearbyLässt die Verstärkungen in einem 30-Block-Radius vom Boss spawnen. Optional.true / falsefalse
inheritLevelLässt die Verstärkung das Level des Bosses erben. Optional.true / falsefalse
customSpawnLässt die Verstärkung das benutzerdefinierte Spawn-System verwenden. Nur für summonType: GLOBAL verwendet.
locationSpawn-Ort. Optional.world_name,x,y,z oder x,y,z für einen relativen Ort zum Boss. Der Offset ist relativ zum Spawn-Ort für regionale Bosse. Du kannst auch same_as_boss verwenden, um Verstärkungen in der gleichen Welt wie den Boss spawnen zu lassen.none
lightningRodSpezialeinstellung für summonType: ON_COMBAT_ENTER_PLACE_CRYSTAL. Lässt Endkristalle Blitze um sich herum erzeugen. Optional.true / falsenone

Beschwörungstypen legen die Bedingungen für das Spawnen der Verstärkungen fest. Hier ist eine Liste der gültigen Beschwörungstypen:

Beschwörungstypen
WertBeschreibung
ONCESpawnt die Verstärkungen nur einmal, wenn der Boss zum ersten Mal Schaden nimmt.
ON_HITSpawnt die Verstärkungen bei Treffer.
ON_COMBAT_ENTERSpawnt die Verstärkungen, wenn der Boss den Kampf beginnt.
ON_DEATHSpawnt Verstärkungen, wenn der Boss stirbt.
GLOBALSpawnt eine Verstärkung für jeden Online-Spieler. Erfordert, dass der customSpawn-Schlüssel einen gültigen benutzerdefinierten Spawn hat.
ON_COMBAT_ENTER_PLACE_CRYSTALPlatziert Endkristall-Verstärkungen beim Kampfbeginn, nur für benutzerdefinierte Drachenkämpfe.

Beachte, dass es auch möglich ist, Verstärkungen über Elite Scripts zu spawnen, sodass es mehr anpassbare Möglichkeiten gibt.

Beispiel
powers:
- summonType: ON_COMBAT_ENTER
filename: test_boss.yml
chance: 0.5
amount: 5
inheritAggro: true
spawnNearby: true
inheritLevel: true
customSpawn: false
location: same_as_boss,10,20,30
lightningRod: false

Experten-Konfiguration - Eigene Fähigkeiten erstellen

Es ist möglich, eigene Fähigkeiten zu erstellen, entweder in der Boss-Datei selbst oder als neue Konfigurationsdatei im Powers-Ordner. Mehr dazu erfährst du hier.

Hinweis: Du kannst Boss-Verhaltensweisen auch direkt in der Boss-Konfigurationsdatei über das eliteScript-Feld definieren. Die vollständige Dokumentation zur Verwendung von Elite Scripts findest du im Powers-Leitfaden.

Fähigkeiten basierend auf instanzierter Dungeon-Schwierigkeit einschränken

Instanzierte Dungeons können Schwierigkeitseinstellungen haben, und es ist möglich, eine bestimmte Fähigkeit nur für bestimmte Schwierigkeitsgrade zu aktivieren.

Optionen zur Einschränkung von Fähigkeiten
SchlüsselBeschreibungWerteStandard
filenameDateiname der Fähigkeit.Stringnone
difficultyIDSchwierigkeitsname, passend zum Namen der Schwierigkeit im Dungeon-Paket.Stringnone

Dies gilt nur für instanzierte Dungeons.

Beispiel
powers:
- filename: movement_speed.yml
difficultyID:
- myDifficultyName1
- myDifficultyName2
- myDifficultyName3

spawnMessage

Legt die Nachricht fest, die beim Boss-Spawn gesendet wird. Erfordert die Einrichtung von announcementPriority.

SchlüsselWerteStandard
spawnMessageStrings und Farbcodesnone
Beispiel
announcementPriority: 3
spawnMessage: Ich erhebe mich erneut!

create_boss_spawn_message.jpg


deathMessages

Legt die Liste der Nachrichten fest, die beim Tod des Bosses gesendet werden. Erfordert die Einrichtung von announcementPriority.

SchlüsselWerteStandard
deathMessagesStrings, Farbcodes und die unten aufgeführten Platzhalternone
Beispiel
announcementPriority: 3
deathMessages:
- '&e&l---------------------------------------------'
- '&4Der Test-Boss wurde getötet!'
- '&c&l 1. Schadensverursacher: $damager1name &cmit $damager1damage Schaden!'
- '&6&l 2. Schadensverursacher: $damager2name &6mit $damager2damage Schaden!'
- '&e&l 3. Schadensverursacher: $damager3name &emit $damager3damage Schaden!'
- '&4Bezwinger: $players'
- '&e&l---------------------------------------------'

create_boss_death_message.jpg

Todesnachrichten verwenden die folgenden Platzhalter:

Platzhalter
WertBeschreibung
$damager1nameDer Name des Top-Schadensverursachers
$damager2nameDer Name des zweitbesten Schadensverursachers
$damager3nameDer Name des drittbesten Schadensverursachers
$damager1damageDer Schadenswert des Top-Schadensverursachers
$damager2damageDer Schadenswert des zweitbesten Schadensverursachers
$damager3damageDer Schadenswert des drittbesten Schadensverursachers
$playersZeigt eine Liste aller Schadensverursacher

deathMessage

Legt eine einzelne Nachricht fest, die beim Tod des Bosses gesendet wird. Dies ist eine Alternative zu deathMessages, wenn nur eine Todesnachricht benötigt wird. Erfordert die Einrichtung von announcementPriority.

SchlüsselWerteStandard
deathMessageString, Farbcodes und die gleichen Platzhalter wie deathMessagesnone
Beispiel
announcementPriority: 3
deathMessage: '&4Der Test-Boss wurde von $players getötet!'

onKillMessage

Legt die Nachricht fest, die gesendet wird, wenn der Boss einen Spieler tötet. Erfordert die Einrichtung von announcementPriority.

SchlüsselWerteStandard
onKillMessageStrings und Farbcodesnone

Platzhalter:

WertBeschreibung
$playerDer Anzeigename des getöteten Spielers
$playerNameDer Benutzername des getöteten Spielers
Beispiel
announcementPriority: 3
onKillMessage: Ich gewinne, du verlierst!

create_boss_spawn_message.jpg


slimeSize

Legt die Größe des Schleim-Bosses fest, funktioniert nur bei Schleimen und Magmawürfeln.

SchlüsselWerteStandard
slimeSizeGanzzahl4
Beispiel
slimeSize: 5

neutral

Legt fest, ob der Boss als neutral spawnt. Dies gilt nur für Entitätstypen, die neutral sein können, wie Wölfe oder Eisengolems.

SchlüsselWerteStandard
neutralBooleanfalse
Beispiel
neutral: true

Erweiterte Einstellungen

timeout

Legt die Zeit in Minuten fest, bevor der benutzerdefinierte Boss despawnt.

SchlüsselWerteStandard
timeoutZeit (in Minuten) Ganzzahl0
Beispiel
timeout: 20

Lässt den Boss nach 20 Minuten entkommen.


isPersistent

Legt fest, ob der Boss ein Chunk-Entladen überlebt. Nur für Event-Bosse empfohlen, da persistentes Chunk-Laden und Entitätsverfolgung über Server-Neustarts hinweg die Leistung beeinträchtigen können.

SchlüsselWerteStandard
isPersistenttrue / falsefalse
Beispiel

Beispiel:

isPersistent: true

damageModifiers

Legt Waffen fest, gegen die der Boss stark oder schwach sein kann.

SchlüsselWerteStandard
damageModifiersMaterialnone
Beispiel
damageModifiers:
- material:DIAMOND_SWORD,multiplier:0.8
- material:TRIDENT,multiplier:2.0

In diesem Beispiel nimmt der Boss nur 80% Schaden von Diamantschwertern (oder 20% weniger), aber 200% Schaden von Dreizacken (oder das Doppelte).


normalizedCombat

Passt den Schaden und die maximale Gesundheit des Bosses an die Werte der normalisierten Entität in ~/plugins/EliteMobs/mobproperties an. Dies ist der Standard für regionale Bosse, um eine gleichmäßige Schwierigkeitskurve zu gewährleisten.

SchlüsselWerteStandard
normalizedCombattrue / falsefalse
Beispiel

Beispiel:

normalizedCombat: true

scaledCombat

Legt fest, ob der Boss das skalierte Kampfsystem verwendet. Wenn aktiviert, simuliert der Boss, auf dem gleichen Level wie der kämpfende Spieler zu sein -- Schaden, Gesundheitsskalierung und Beute passen sich dem Fortschrittslevel des Spielers an. Dies macht die Begegnung für alle Spieler gleich fair, unabhängig von ihrem Fortschritt.

Skalierter Kampf ist hauptsächlich für Überwelt-Event-Bosse und benutzerdefinierte Bosse gedacht, die für Spieler auf jedem Level zugänglich sein sollen. Für Dungeon-Inhalte mit fester vorgesehener Schwierigkeit verwende stattdessen normalizedCombat.

Wenn scaledCombat: true gesetzt ist, hat es Vorrang, selbst wenn der Boss sonst normalisierten Kampf verwenden würde. Natürlich gespawnte Elite-Mobs verwenden standardmäßig skalierten Kampf (gesteuert durch die useScaledCombatForNaturalElites-Konfiguration in MobCombatSettings.yml).

Siehe die Schadenssystem-Seite für vollständige Details zur Funktionsweise des skalierten Kampfes.

SchlüsselWerteStandard
scaledCombattrue / falsefalse
Beispiel
scaledCombat: true

escapeMessage

Legt die Nachricht fest, die an Spieler gesendet wird, wenn der Boss durch den Timeout-Mechanismus entkommen ist. Erfordert, dass announcementPriority konfiguriert ist.

SchlüsselWerteStandard
escapeMessageStringnone
Beispiel
announcementPriority: 3
timeout: 60
escapeMessage: "Sayonara!"

create_boss_escape_message.jpg


locationMessage

Legt die Nachricht fest, die in der Boss-Leiste angezeigt wird. Dies wird verwendet, um sowohl die Gesundheit des Bosses als auch seinen Standort auf dem Server zu verfolgen. Erfordert, dass announcementPriority konfiguriert ist.

SchlüsselWerteStandard
locationMessageString, Farbcodes und die unten aufgeführten Platzhalternone

Platzhalter:

WertBeschreibung
$distanceWird durch die Entfernung des Spielers zum benutzerdefinierten Boss ersetzt. Dies ist die bevorzugte Option.
$locationWird durch die x y z Standortkoordinaten des Bosses ersetzt
Beispiel
announcementPriority: 3
locationMessage: "&4Cooler Boss: Bei $location nur $distance Blöcke entfernt!"

create_boss_location_message.jpg

Dies würde etwas wie Cooler Boss: Bei 414,55,347 nur 10 Blöcke entfernt! anzeigen.


uniqueLootList

Legt die benutzerdefinierten Gegenstände fest, die vom Boss fallen.

SchlüsselWerteStandard
uniqueLootListListenone

Beute-Einträge in der benutzerdefinierten Beute folgen dem Beutetabellen-Format. Infos dazu hier! Beachte, dass einige ältere Dateien möglicherweise veraltete Beutetabellen verwenden, die anders aussehen als das Beispiel.

Beispiel
uniqueLootList:
- filename: magmaguys_toothpick.yml
chance: 0.02
- minecraft:type=DIAMOND:amount=1:chance=0.9
- magmaguys_toothpick.yml:0.5:elitemobs.*

dropsEliteMobsLoot

Legt fest, ob der Boss EliteMobs-Beute fallen lässt, ausgenommen Gegenstände in uniqueLootList. Beinhaltet Münzen.

SchlüsselWerteStandard
dropsEliteMobsLoottrue / falsetrue

Empfohlen, für Verstärkungsmobs auf false zu setzen.

Beispiel
dropsEliteMobsLoot: true

dropsVanillaLoot

Legt fest, ob der benutzerdefinierte Boss die Vanilla-Beute seines Mob-Typs fallen lässt.

SchlüsselWerteStandard
dropsVanillaLoottrue / falsetrue
Beispiel
dropsVanillaLoot: true

dropsRandomLoot

Legt fest, ob der benutzerdefinierte Boss prozedural generierte Beute von EliteMobs fallen lässt. Beinhaltet keine Elite-Münzen.

SchlüsselWerteStandard
dropsRandomLoottrue / falsetrue
Beispiel
dropsRandomLoot: true

dropsSkillXP

Legt fest, ob der Boss beim Töten Fähigkeits-XP fallen lässt. Fähigkeits-XP wird für das Waffenfähigkeits-Bonussystem verwendet.

SchlüsselWerteStandard
dropsSkillXPtrue / falsetrue

Empfohlen, für Verstärkungsmobs oder Bosse, die nicht zum Fähigkeitsfortschritt beitragen sollen, auf false zu setzen.

Beispiel
dropsSkillXP: false

trails

Legt die Spur fest, die der Boss beim Bewegen hinterlässt.

SchlüsselWerteStandard
trailsPartikel oder Gegenstandsmaterialiennone
Beispiel
trails:
- CLOUD

onDamageMessages

Legt die Nachricht fest, die der Boss-Mob anzeigt, wenn er einen Spieler trifft. Dies ist eine Liste, und die verwendete wird zufällig ausgewählt.

SchlüsselWerteStandard
onDamageMessagesListenone
Beispiel
onDamageMessages:
- "Ich habe dich getroffen!"
- "Haha, erwischt!"

create_boss_damage_message.jpg


onDamagedMessages

Legt die Nachricht fest, die der Boss-Mob anzeigt, wenn er von einem Spieler getroffen wird. Dies ist eine Liste, und die verwendete wird zufällig ausgewählt.

SchlüsselWerteStandard
onDamagedMessagesListenone
Beispiel
onDamagedMessages:
- "Du hast mich getroffen!"
- "Ich wurde getroffen!"

create_boss_damaged_message.jpg


mountedEntity

Legt die Entität fest, die der Boss reitet.

SchlüsselWerteStandard
mountedEntityDateiname des zu reitenden Bosses oder Entitätstypnone

Versuche nicht, den Boss sich selbst reiten zu lassen.

Beispiel
mountedEntity: wild_wolf.yml

create_boss_mounted.jpg

Hinweis: Regionale Bosse teilen ihre Leine mit der Entität, die sie reiten, d.h. beide werden zum Spawn-Ort zurückgezogen, wenn sie die erlaubte Leinendistanz überschreiten.


announcementPriority

Legt die Prioritätsstufe für Ankündigungen fest. Niedrigere Prioritäten bedeuten keine Ankündigungen, höhere Prioritäten können nicht nur im Chat, sondern auch auf Discord ankündigen, wenn konfiguriert.

SchlüsselWerteStandard
announcementPriorityGanzzahl0

Hier ist eine Liste, was die Prioritäten bewirken:

WertBeschreibung
0Standardwert. Der Boss ist vollständig stumm, keine Ankündigungsnachrichten.
1Bosse können Chat-Nachrichten senden: Spawn-, Todes- und Fluchtnachrichten.
2Zusätzlich zu 1 wird der Boss so eingestellt, dass er von Spielern über das /em-Menü verfolgbar ist.
3Zusätzlich zu 2 werden Broadcast-Nachrichten auf Discord gespiegelt, wenn konfiguriert. Discord-Konfigurationsinfo hier.

Hier ist ein Beispiel eines Bosses, der verfolgbar ist und Spawn-/Todes-/Fluchtnachrichten im Chat und auf Discord senden kann:

Beispiel
announcementPriority: 3

Hinweis: Du musst spawnMessage, deathMessage/deathMessages, escapeMessage für Chat- und Discord-Ankündigungen und locationMessage für die Verfolgungsfunktion konfigurieren, wenn du die entsprechende Ankündigungsprioritätsstufe verwenden möchtest.

Hinweis: Wenn irgendein Ankündigungsinhalt vorhanden ist (spawnMessage, deathMessage, deathMessages, escapeMessage usw.), wird announcementPriority automatisch auf 1 gesetzt, wenn nicht explizit festgelegt.


followDistance

Legt die Entfernung fest, ab der Bosse aggro werden und den Kampf beginnen. Gemessen vom Mob selbst.

SchlüsselWerteStandard
followDistanceGanzzahl0

Hinweis 1: Regionale Bosse haben die halbe followDistance außerhalb des Kampfes. So werden sie nicht aus zu großer Entfernung aggro, was wegen Leineneinschränkungen zu lästigen Kampfproblemen führen kann.

Hinweis 2: Je höher die followDistance, desto intensiver wird der Boss für die Server-CPU. Verwende dies vorsichtig und verantwortungsbewusst!

Beispiel
followDistance: 30

Setzt einen Bereich von 30 Blöcken, in dem der Boss beginnt, einen Spieler zu verfolgen/anzugreifen, wenn sich dieser innerhalb dieser Distanz nähert.


onDeathCommands

Legt die Liste der Befehle fest, die beim Tod des benutzerdefinierten Bosses ausgeführt werden.

SchlüsselWerteStandard
onDeathCommandsListenone

Die Liste unterstützt die folgenden Platzhalter:

WertBeschreibung
$levelPlatzhalter für das Boss-Level.
$namePlatzhalter für den Boss-Namen.
$chance=x$Gibt einem Befehl eine Chance, ausgeführt zu werden.
$playersFührt den Befehl einmal für jeden Spieler in der Schadensverursacher-Liste aus und ersetzt jedes Mal den Benutzernamen eines anderen Spielers.
$locationXX-Koordinate des Bosses zum Zeitpunkt des Todes.
$locationYY-Koordinate des Bosses zum Zeitpunkt des Todes.
$locationZZ-Koordinate des Bosses zum Zeitpunkt des Todes.
$damager1nameBenutzername des Top-Schadensverursachers
$damager2nameBenutzername des zweitbesten Schadensverursachers
$damager3nameBenutzername des drittbesten Schadensverursachers

Schau dir das folgende Beispiel an, um besser zu verstehen, wie diese funktionieren.

Beispiel
onDeathCommands:
- "say $players hat $name getötet! Das war Level $level!"
- "$chance=0.5$ say Was für ein Kill!"

create_boss_mounted.jpg

Wenn Spieler1, Spieler2 und Spieler3 alle den Boss vor dem Töten beschädigt haben, sieht die Befehlsausgabe der Konsole so aus:

say Spieler1 hat CustomBossName getötet! Das war Level X!
say Spieler2 hat CustomBossName getötet! Das war Level X!
say Spieler3 hat CustomBossName getötet! Das war Level X!

Zusätzlich besteht eine 50%ige Chance, dass auch Folgendes ausgegeben wird:

say Was für ein Kill!

onSpawnCommands

Legt die Liste der Befehle fest, die beim Boss-Spawn ausgeführt werden.

SchlüsselWerteStandard
onSpawnCommandsListenone

Dies verwendet die gleichen Platzhalter wie onDeathCommands! Schadensverursacher-Platzhalter sind nicht anwendbar, da zu diesem Zeitpunkt keine vorhanden sind.

Beispiel
onSpawnCommands:
- say Boss wurde gespawnt!

create_boss_mounted.jpg


onCombatEnterCommands

Legt die Liste der Befehle fest, die ausgeführt werden, wenn der Boss den Kampf beginnt.

SchlüsselWerteStandard
onCombatEnterCommandsListenone

Dies verwendet die gleichen Platzhalter wie onDeathCommands! Schadensverursacher-Platzhalter sind nicht anwendbar, da zu diesem Zeitpunkt keine vorhanden sind.

Beispiel
onCombatEnterCommands:
- say Boss hat den Kampf begonnen!

create_boss_mounted.jpg


onCombatLeaveCommands

Legt die Liste der Befehle fest, die ausgeführt werden, wenn der Boss den Kampf verlässt.

SchlüsselWerteStandard
onCombatLeaveCommandsListenone

Dies verwendet die gleichen Platzhalter wie onDeathCommands!

Beispiel
onCombatLeaveCommands:
- say Boss hat den Kampf verlassen!

create_boss_mounted.jpg


disguise

Legt die LibsDisguises-Verkleidung fest, wenn dieses Plugin aktiviert ist. Mehr Infos hier.

SchlüsselWerteStandard
disguiseStringnone
customDisguiseDataStringnone
Beispiel Verkleidung
disguise: CHICKEN

create_boss_mounted.jpg

Beispiel benutzerdefinierte Verkleidung
disguise: custom:the_beast_sanctuary_beast
customDisguiseData: player the_beast_sanctuary_beast setskin {"id":"44e6d42b-bd8d-4e48-873b-fae7afed36e4","name":"Unknown","properties":[{"name":"textures","value":"ewogICJ0aW1lc3RhbXAiIDogMTY2NjcwNjYwODA1MCwKICAicHJvZmlsZUlkIiA6ICI3MmY5MTdjNWQyNDU0OTk0YjlmYzQ1YjVhM2YyMjIzMCIsCiAgInByb2ZpbGVOYW1lIiA6ICJUaGF0X0d1eV9Jc19NZSIsCiAgInNpZ25hdHVyZVJlcXVpcmVkIiA6IHRydWUsCiAgInRleHR1cmVzIiA6IHsKICAgICJTS0lOIiA6IHsKICAgICAgInVybCIgOiAiaHR0cDovL3RleHR1cmVzLm1pbmVjcmFmdC5uZXQvdGV4dHVyZS82YmYyMTY4NmM1MGQ1ODhmZmExMDZhZDdjNmViZTk1ZWZiMjE2NDU5ODRjZDFjZWYwODkzNDc4NzMzNmI2YTI3IiwKICAgICAgIm1ldGFkYXRhIiA6IHsKICAgICAgICAibW9kZWwiIDogInNsaW0iCiAgICAgIH0KICAgIH0KICB9Cn0=","signature":"jSsQvpUeWVtyqjtnydPadormkrZLVihetiX4dFQb3+BF/1x6wOgsNKRnnwj6J1mfu2im79LYEJbL+fQ9p1SJIW1uZ6hV7vPSAGUopyXGHNibNXorfV/dGjM77S0t86Jls50XWgJAnLn5RdhQcHahDAHHZ8to6K0HW5gvKKSalR5X/myaiV0E5ujJ+LUFWIiuDmtsmyxTX1zsohyYrVMo/4sD0DpBN+as95wO476gLb5fDTDV569QwExlDOt60W8qSzPw6ncYsOKJIiRE3EddspUm3/NrfDiKApUh8UbzVtwu1XlVAxWNgYN3PkqhWKuE4kvORQuoSJzOgSHkiqdXsQOED2HXfOKdfsnpZUwjepIU5A+/mu0gc3mPQPToKSss2bC1nXn//0bOZZSuQRgTS6PkKDHIQ1nClSZQZlJIsiLmaaN2k1tIHTIlDquKN6G1Ta9c3t6G5kugjqRo78ebbt7l3e0Z3BcdOkuO2WbvBjIg5Uiqyf+cYDZedJ+OEOqL/U6VVlsmbw0rd5deHrbnPn9cRzmWGjrXnxIlAszl+0Uqabj/BrkWcbBCwZJEPaV1hHpC4nJX1m5xvKZHB2Bw0AYWaQ3f3tRBbCA/xqwCS0Px1QohzV0nvtiMbjB38ziT1M5DgLtAVLcHPio7THZMxXAi4IjEIMac9ODbh5OxthA="}],"legacy":false}

create_boss_mounted.jpg

Setzt eine benutzerdefinierte Verkleidung von Skindex. Siehe diese Seite, um zu erfahren, wie diese Daten korrekt formatiert werden.


customModel

Legt das benutzerdefinierte Modell fest, wenn du ein benutzerdefiniertes Modell und die FreeMinecraftModels- oder ModelEngine-Plugins hast. Mehr Infos zum Erstellen und Verwenden benutzerdefinierter Modelle hier.

SchlüsselWerteStandard
customModelStringnone
Beispiel
customModel: your_model

customModelMountPointID

Legt die Befestigungspunkt-ID für benutzerdefinierte Modelle fest, wenn der Boss eine andere Entität reitet oder von ihr geritten wird.

SchlüsselWerteStandard
customModelMountPointIDStringnone
Beispiel
customModelMountPointID: your_mount_point_id


frozen

Legt fest, ob sich der Boss bewegen kann. Eingefrorene Bosse können trotzdem angreifen.
Hinweis: Dies funktioniert möglicherweise nicht bei allen Entitäten.

SchlüsselWerteStandard
frozentrue / falsefalse
Beispiel
frozen: true

ai

Legt fest, ob der Boss KI aktiviert hat. Wenn auf false gesetzt, bewegt sich der Boss nicht und greift nicht selbstständig an. Nützlich für Bosse, die vollständig durch Elite Scripts gesteuert werden.

SchlüsselWerteStandard
aitrue / falsetrue
Beispiel
ai: false

alwaysShowName

Legt fest, ob der Boss sein Namensschild immer über seinem Kopf anzeigt. Standardmäßig werden Boss-Namensschilder nur im Kampf angezeigt. Diese Einstellung überschreibt dieses Verhalten für diesen Boss und macht das Namensschild immer sichtbar.

SchlüsselWerteStandard
alwaysShowNametrue / falsefalse
Beispiel
alwaysShowName: true

reinforcement

Legt fest, ob der Boss eine Verstärkung ist. Verstärkungsbosse werden beim Start nicht als regionale Bosse initialisiert und sind nur dafür gedacht, als Verstärkungen von anderen Bossen gespawnt zu werden.

SchlüsselWerteStandard
reinforcementtrue / falsefalse
Beispiel
reinforcement: true

song

Legt die Musik fest, die ein Boss beim Spawn abspielt. Erfordert die .ogg-Datei im Ressourcenpaket.

SchlüsselWerteStandard
songStringnone

Hinweis: Die song-Einstellung erfordert, dass followDistance gesetzt ist, da followDistance die Reichweite bestimmt, ab der der Song abgespielt wird. Siehe das Beispiel, wie die length (Millisekunden) des song eingestellt wird.

Beispiel

Es gibt zwei Möglichkeiten, Songs einzurichten. Hier die erste:

song: name=elitemobs:ice_queen.idle length=76370

Dies spielt den Song ice_queen.idle für 76370 Millisekunden ab und wiederholt ihn dann. Beachte, dass der Speicherort des Songs durch das Ressourcenpaket bestimmt wird.

Hier die zweite Möglichkeit:

song: name=elitemobs:ice_queen.end_transition length=14328->name=elitemobs:ice_queen.end_loop length=28657

Dies spielt ice_queen.end_transition für 14328 Millisekunden und wechselt dann zu ice_queen.end_loop für 28657 Millisekunden, wobei end_loop wiederholt wird.

Dies ermöglicht Bossen einen "Intro"- oder "Übergangs"-Song und dann einen sich wiederholenden Haupttrack.


cullReinforcements

Legt fest, ob die Verstärkungen des Bosses beim Tod entfernt werden.

SchlüsselWerteStandard
cullReinforcementstrue / falsetrue
Beispiel
cullReinforcements: true

movementSpeedAttribute

Legt die Bewegungsgeschwindigkeit des Bosses fest.
Hinweis: Werte über 0.36 könnten zu schnell sein.

SchlüsselWerteStandard
movementSpeedAttributeDoublenone
Beispiel
movementSpeedAttribute: 0.3

Boss-Phasen

Bosse können Phasen haben, die sich ändern, wenn der Boss einen bestimmten Gesundheitsprozentsatz erreicht. Der Boss beginnt dann, eine andere Konfigurationsdatei zu verwenden, was bedeutet, dass sich alles am Boss ändern kann, einschließlich des Entitätstyps.
Um mehr über Boss-Phasen zu erfahren, klicke hier.

SchlüsselBeschreibungWerteStandard
phasesLegt die Phasen des Bosses fest. PflichtfeldListenone
phaseSpawnLocationLegt fest, wo der Phasenboss spawnt. OptionalStringnone
Beispiel

Für dieses Beispiel zeigen wir drei verschiedene Konfigurationsdateien.

Erste Boss-Konfigurationsdatei: phase_1_boss.yml

name: "Phase 1"
entityType: ZOMBIE
phases:
- phase_2_boss.yml:0.60
- phase_3_boss.yml:0.30

Zweite Boss-Konfigurationsdatei: phase_2_boss.yml

name: "Phase 2"
entityType: SKELETON

Dritte Boss-Konfigurationsdatei: phase_3_boss.yml

name: "Phase 3"
phaseSpawnLocation: same_as_boss,10,64,100,0,0
entityType: RAVAGER

Dieser Boss würde bei 60% Gesundheit zur Konfigurationsdatei phase_2_boss.yml und bei 30% Gesundheit zur Konfigurationsdatei phase_3_boss.yml in der gleichen Welt wie Phase 2 bei den Koordinaten x=10, y=64 und z=100 wechseln. Der Entitätstyp und Name des Bosses würden sich ebenfalls ändern.

Das Format eines Eintrags ist dateiname:gesundheitsprozentsatz.

phaseSpawnLocation ist optional; wenn nicht gesetzt, ändert der Boss die Phase an seiner aktuellen Position.

Folgende Dinge sind beim Entwerfen eines Phasenbosses wichtig:

  • Die Konfigurationsdatei für die erste Phase legt alle Phasen des Bosses fest.
  • Die Bedrohungs-/Schadenstabelle bleibt zwischen den Phasen für Spieler erhalten.
  • Der Phasenwechsel basiert auf dem Prozentsatz der verlorenen Gesundheit, der beim Wechsel erhalten bleibt. Das Erhöhen oder Verringern des healthMultiplier zwischen Phasen heilt oder beschädigt den Boss nicht; er wechselt beim gleichen Prozentsatz, hat aber mehr oder weniger Gesundheit in der Phase.
  • Phasenbosse kehren zu Phase 1 zurück, wenn sie den Kampf verlassen.
  • Phasenbosse, die auch regionale Bosse sind, teilen den gleichen Leinenradius und Timeout-Mechanismus über alle Phasen und respawnen als Phase-1-Boss nach Ablauf des Timers.
  • Die Konfigurationsdatei der letzten Phase legt die Beute des Bosses fest.
  • Phasen können nicht übersprungen werden -- Overkill-Schaden lässt den Boss trotzdem beim definierten Prozentsatz die Phase wechseln.
  • Phasenbosse mit Reittieren hören beim Phasenwechsel auf, geritten zu werden.

Regionale Bosse

Regionale Bosse sind ein spezifischer Typ benutzerdefinierter Bosse, die an einem bestimmten konfigurierten Ort spawnen und nach einer Verzögerung dort respawnen können. Zusätzlich können sie Leinen haben, die sie in einer bestimmten Zone halten, neben anderen Funktionen.

Diese werden für alle Dungeon-Inhalte verwendet. Um mehr über regionale Bosse zu erfahren, klicke hier.

SchlüsselBeschreibungWerteStandard
isRegionalBossLegt fest, ob der Boss regional ist. Sollte true sein für einen regionalen Boss.true / falsefalse
spawnLocationLegt die Spawn-Orte des Bosses fest.Über den Befehl /em addSpawnLocation [dateiname.yml] hinzufügen!none
spawnCooldownLegt den Respawn-Cooldown des Bosses in Minuten fest.Ganzzahl0
leashRadiusLegt die Entfernung fest, die der Boss von seinem Spawn-Punkt gehen kann, bevor er zurückgezogen wird. Gemessen vom Spawn.Doublenone
onSpawnBlockStatesLegt die Blöcke fest, die der Boss beim Spawnen modifiziert.Siehe Befehle untennone
onRemoveBlockStatesLegt die Blöcke fest, die der Boss beim Despawnen modifiziert.Siehe Befehle untennone

Wie angegeben können regionale Bosse onSpawnBlockStates und onRemoveBlockStates haben.

Dies ist eine sehr nützliche Funktion zum Modifizieren von Kampfarenen während des Kampfes, besonders in Kombination mit Phasenwechseln, da Kampfarenen durch Ändern von Blockzuständen geöffnet und geschlossen werden können.

Das Format ist zu komplex für manuelle Eingabe, daher helfen folgende Befehle beim Einrichten:

BefehlBeschreibung
/em registerblocks [regional_boss_datei.yml] [on_spawn/on_remove]Startet die Registrierung manueller Blockauswahlen für Spawn- oder Entfernungs-Blockzustände.
/em registerblocksedit [regional_boss_datei.yml] [on_spawn/on_remove]Bearbeitet die Spawn- oder Entfernungs-Blockzustände.
/em registerblocksarea [regional_boss_datei.yml] [on_spawn/on_remove]Ermöglicht Admins, große Blockbereiche als Zustände zu speichern.
/em registerblocksareaedit [regional_boss_datei.yml] [on_spawn/on_remove]Ermöglicht Admins, große Blockbereiche zu bearbeiten.
Beispiel Verwendung:

Angenommen, du möchtest einen Kampf erstellen, bei dem ein Boss in einer Arena mit offener Tür spawnt, und du möchtest, dass die Tür sich beim Kampfbeginn schließt und sich wieder öffnet, wenn der Kampf vorbei ist.

Dafür brauchst du zwei Boss-Phasen und musst drei verschiedene Sätze von Blockzuständen registrieren. Für dieses Beispiel nenne ich die Phasen phase_1_boss.yml und phase_2_boss.yml.

  1. Verwende /em registerblocks phase_1_boss.yml on_spawn oder /em registerblocksedit phase_1_boss.yml on_spawn, um die Türblöcke im offenen Zustand zu registrieren.

Das bedeutet, die Luftblöcke zu registrieren. Bereichsauswahl wird hier empfohlen.

Dies stellt sicher, dass die Tür beim Boss-Spawn offen ist und Spieler einen Weg hinein haben.

  1. Verwende /em registerblocks phase_2_boss.yml on_spawn oder /em registerblocksedit phase_2_boss.yml on_spawn, um die Türblöcke im geschlossenen Zustand zu registrieren.

Das bedeutet, die festen Türblöcke zu registrieren, die Spieler am Verlassen hindern.

Dies ändert die Tür zu einem festen Block, wenn der Boss Phase 2 betritt, und hindert Spieler am Verlassen.

  1. Verwende /em registerblocks phase_2_boss.yml on_remove oder /em registerblocksedit phase_2_boss.yml on_remove, um die Türblöcke im offenen Zustand zu registrieren.

Das bedeutet, die gleichen Blöcke aus dem ersten Schritt erneut zu registrieren (die Luftblöcke).

Dies öffnet die Tür, wenn der Boss stirbt, damit Spieler die Arena verlassen können.


alert

Legt fest, ob der Boss wachsam ist. Standardmäßig sind regionale Bosse verlangsamt und haben eine kürzere Aggro-Distanz außerhalb des Kampfes. Diese Einstellung verhindert die Verlangsamung und kürzere Aggro-Distanz, sodass sich der Boss im und außerhalb des Kampfes gleich verhält.

SchlüsselWerteStandard
alertBooleanfalse
Beispiel
alert: true

removeAfterDeath

Legt fest, ob der regionale Boss nach dem Töten dauerhaft gelöscht wird. Dies wird von BetterStructures für Schreine verwendet, wo der regionale Boss nur einmal bekämpft werden soll.

SchlüsselWerteStandard
removeAfterDeathBooleanfalse
Beispiel
removeAfterDeath: true

Instanzierte Bosse

Instanzierte Bosse sind ein Untertyp regionaler Bosse, die in instanzierten Dungeons verwendet werden.

SchlüsselBeschreibungWerteStandard
instancedMacht den benutzerdefinierten Boss instanziert. Pflichtfeld.true / falsefalse

Das Setzen von Bossen als instanziert ist für instanzierte Dungeons zwingend erforderlich. Wir empfehlen auch, Leinen für alle instanzierten Bosse zu entfernen.

Beispiel
instanced: true