Benutzerdefinierte Verstärkungen erstellen
Wenn du daran interessiert bist, während des Kampfes Elites zu beschwören, um einen Boss zu verstärken, behandelt diese Anleitung dies im Detail.
Schritte, um einen Custom Boss zu erstellen:
- Erstelle deinen Haupt-Custom-Boss, der deinen Custom Boss beschwören wird
- Erstelle einen Custom Boss für Verstärkungen. Bedenke, dass Custom Bosses stärker als gewöhnliche Mobs sein können, aber auch schwächer sein können.
- Füge die richtige Verstärkungszeile zur Konfigurationsdatei hinzu
Die Verstärkungszeile erstellen
Nehmen wir an, du hast einen Custom Boss mit diesem Format:
isEnabled: true
entityType: ENDER_DRAGON
name: $eventBossLevel &eBinder of Worlds
level: 200
powers:
- ender_dragon_arrow_bombardment.yml
Und du möchtest ihm Verstärkungen hinzufügen. So könnte eine solche Verstärkung aussehen:
- summonType:ON_COMBAT_ENTER
filename: binder_of_worlds_phase_1_parkour_reinforcement.yml
Und um sie gültig zu machen, füge sie der powers-Liste hinzu:
isEnabled: true
entityType: ENDER_DRAGON
name: $eventBossLevel &eBinder of Worlds
level: 200
powers:
- ender_dragon_arrow_bombardment.yml
- summonType: ON_COMBAT_ENTER
filename: binder_of_worlds_phase_1_parkour_reinforcement.yml
Die Verstärkung ist nun der Boss-Entität hinzugefügt. Wie du jedoch sehen kannst, gibt es hier mehrere Optionen, die du anpassen kannst. Gehen wir sie durch.
Alle Optionen für benutzerdefinierte Verstärkungen
Tipp: Du kannst auch EliteScript verwenden, um Verstärkungen zu beschwören, mehr dazu hier.
summonType
Dies ist ein Pflichtfeld. Es legt fest, wann die Verstärkung spawnen soll.
| Key | Werte | Standard |
|---|---|---|
summonType | Speziell [1] | keiner (Pflicht) |
Beispiel
summonType: ON_HIT
Speziell [1]
| Key | Beschreibung |
|---|---|
ONCE | Spawnt die Verstärkung einmalig, beim ersten Treffer des Bosses. (kann von einer %-Chance abhängen) |
ON_HIT | Spawnt die Verstärkung jedes Mal, wenn der Boss getroffen wird (kann von einer %-Chance abhängen) |
ON_COMBAT_ENTER | Spawnt die Verstärkung, wenn der Boss in den Kampf eintritt (1) |
ON_COMBAT_ENTER_PLACE_CRYSTAL | Speziell: Dies dient speziell dazu, Enderkristalle für Drachenkämpfe zu platzieren, wenn der Boss in den Kampf eintritt (1) |
ON_DEATH | Spawnt die Verstärkung, wenn der Boss stirbt |
GLOBAL | Spawnt Verstärkungen für jeden Spieler in derselben Welt wie der Boss. Die Verstärkungen spawnen in der Nähe der Spieler, egal wie weit sie vom Boss entfernt sind. Das System erzwingt eine Bevölkerungsobergrenze von 30 Verstärkungen pro Online-Spieler, um eine Überlastung des Servers zu verhindern. Verstärkungen spawnen alle 10 Sekunden (200 Ticks), solange der Boss im Kampf ist und die Obergrenze nicht erreicht wurde. Damit dies funktioniert, muss das Feld customSpawn gesetzt sein! |
(1) Bosse treten in den Kampf ein, entweder wenn sie von Spielern getroffen werden oder wenn sie einen Spieler in Reichweite erkennen.
filename
Dies ist ein Pflichtfeld, da es festlegt, welche Verstärkung spawnen soll. Die einzige Ausnahme, die dieses Feld nicht zur Pflicht macht, ist die Verwendung der Einstellung summonType: ON_COMBAT_ENTER_PLACE_CRYSTAL, da Enderkristalle keine Elites sind.
| Key | Werte | Standard |
|---|---|---|
filename | Dateiname | keiner |
Beispiel
filename: test_boss.yml
Wichtig: Der Dateiname muss auf eine vorhandene Boss-Konfigurationsdatei verweisen. Wenn die Datei nicht existiert, wird die Verstärkung beim Spawnen des Bosses stillschweigend ignoriert. Stelle immer sicher, dass deine Verstärkungs-Boss-Dateien korrekt erstellt wurden und sich im Ordner custombosses befinden.
Mindestanforderung
summonType: SUMMON_TYPE und filename: filename.yml reichen für sich allein aus, um eine benutzerdefinierte Verstärkung zu erstellen. Das folgende Beispiel veranschaulicht dies.
Hinweis: Konfigurations-Keys unterscheiden nicht zwischen Groß- und Kleinschreibung. Sowohl summonType als auch SUMMONTYPE (oder jede andere Schreibweise) funktionieren korrekt.
Beispiel
isEnabled: true
entityType: ENDER_DRAGON
name: $eventBossLevel &eBinder of Worlds
level: 200
powers:
- ender_dragon_arrow_bombardment.yml
- summonType: ON_COMBAT_ENTER
filename: binder_of_worlds_phase_1_parkour_reinforcement.yml
Wenn du jedoch etwas Komplexeres möchtest oder benötigst, lies unten weiter, um zu sehen, was du sonst noch mit diesen Optionen anstellen kannst.
chance
Dies ist ein optionales Konfigurationsfeld, das die Optionen summonType ONCE und ON_HIT ergänzt. Es stellt die Chance dar, dass die benutzerdefinierte Verstärkung spawnt, wenn ein Boss getroffen wird.
| Key | Werte | Standard |
|---|---|---|
chance | Double | 1.0 |
Beispiel
chance: 0.5
Stellt eine Chance von 50 % dar, eine benutzerdefinierte Verstärkung zu spawnen.
location
location: x,y,z ist ein optionales Konfigurationsfeld, das es Admins ermöglicht, den Standort der Verstärkung um eine bestimmte Anzahl von Blöcken zu versetzen. Hier sind die wichtigsten Konzepte, die du zu dieser Option kennen musst:
Der versetzte Standort ist relativ. Das bedeutet, dass location: 0,10,0 einen Boss genau 10 Blöcke über dem Boss spawnt und nicht auf den Weltkoordinaten 0,10,0.
Der relative Standort ist für regionale Bosse anders. Regionale Bosse verwenden immer ihren Spawnpunkt als Ursprung für den relativen Standort. Das bedeutet, wenn du weißt, wo sich der Spawnpunkt des Bosses befindet, und die Blöcke abzählst, kannst du Verstärkungs-Bosse an bestimmten Standorten spawnen lassen. Das Versteck des Binder of Worlds nutzt dies, um die Bosse des Herausforderungsturms an extrem genauen Blockpositionen zu spawnen, unabhängig davon, wo sich der Drachen-Boss befindet.
Bosse spawnen innerhalb von Blöcken, wenn du dich beim Abmessen der Entfernungen vertust.
| Key | Werte | Standard |
|---|---|---|
location | String | keiner |
Beispiel
location: 0,10,0
Spawnt für einen nicht-regionalen Custom Boss die Verstärkung genau 10 Blöcke über dem Boss, unabhängig davon, wo er sich befindet.
Spawnt für einen regionalen Custom Boss die Verstärkung genau 10 Blöcke über dem Spawnpunkt des regionalen Bosses, unabhängig davon, wo sich der Boss befindet.
Wichtiger Hinweis: Dies ist speziell für summonType: ON_COMBAT_ENTER_PLACE_CRYSTAL ein Pflichtfeld!
lightningRod
Ist eine spezielle Einstellung, die nur für summonType: ON_COMBAT_ENTER_PLACE_CRYSTAL nützlich ist. Sie gibt Enderkristallen die Fähigkeit, den Boden um sie herum mit einer Verzögerung mit Blitzen zu treffen. Der Kristall wird als „Elite-Kristall“ markiert und übernimmt das aktuelle Kampfziel des Bosses. Der Kristall selbst ist nicht persistent und wird entfernt, wenn der Boss stirbt oder den Kampf verlässt.
Sie kann nicht mit den anderen benutzerdefinierten Verstärkungen verwendet werden, da diese für solche Fähigkeiten auf Powers zurückgreifen sollten.
| Key | Werte | Standard |
|---|---|---|
lightningRod | Boolean | false |
Beispiel
lightningRod: false
inheritAggro
Ist ein optionales Konfigurationsfeld, das benutzerdefinierte Verstärkungen die Bedrohungsstufen des Bosses übernehmen lässt.
Dies ist besonders nützlich, wenn du möchtest, dass die spawnenden Verstärkungen die Person angreifen, die den größten Schaden verursacht.
| Key | Werte | Standard |
|---|---|---|
inheritAggro | Boolean | false |
Beispiel
inheritAggro: false
amount
Ist ein optionales Konfigurationsfeld, das die Anzahl der Verstärkungen festlegt, die spawnen.
| Key | Werte | Standard |
|---|---|---|
amount | Integer | 1 |
Beispiel
amount: 1
spawnNearby
Ist ein optionales Konfigurationsfeld, das festlegt, ob die benutzerdefinierte Verstärkung in der Nähe spawnen soll, anstatt direkt auf dem Boss oder an einem bestimmten relativen Standort.
Spawnt innerhalb eines Bereichs von 30x30 Blöcken (±15 Blöcke auf der X- und Z-Achse vom Boss aus). Das System versucht bis zu 30 Mal, einen gültigen Spawn-Ort auf Bodenhöhe zu finden, wobei Geländevariationen berücksichtigt werden. Wird nach 30 Versuchen kein gültiger Ort gefunden, spawnt die Verstärkung am exakten Standort des Bosses.
| Key | Werte | Standard |
|---|---|---|
spawnNearby | Boolean | false |
Beispiel
spawnNearby: false
inheritLevel
Ist ein optionales Konfigurationsfeld, das festlegt, ob die benutzerdefinierte Verstärkung das Level des Custom Bosses übernehmen soll, den sie verstärkt.
| Key | Werte | Standard |
|---|---|---|
inheritLevel | Boolean | false |
Beispiel
inheritLevel: false
customSpawn
Ist ein Konfigurationsfeld, das nur für globale Verstärkungen verwendet wird. Es nutzt die benutzerdefinierten Spawn-Einstellungen, um festzulegen, wo die Verstärkungen spawnen können.
Damit lässt sich erreichen, dass Verstärkungen an der Oberfläche, an beleuchteten Orten, in bestimmten Biomen und so weiter spawnen können. Weitere Details findest du auf der Wiki-Seite zu Benutzerdefinierten Spawns.
| Key | Werte | Standard |
|---|---|---|
customSpawn | Dateiname | keiner |
Beispiel
customSpawn: normal_surface_spawn.yml
Eine große Verstärkung zusammenstellen
Erstellen wir eine Beispiel-Verstärkung unter Verwendung der meisten der vorherigen Felder:
- summonType: ON_COMBAT_ENTER
filename: test_boss.yml
spawnNearby: true
inheritAggro: true
inheritLevel: true
Dies bewirkt Folgendes:
- Erstellt eine benutzerdefinierte Verstärkung
- Die benutzerdefinierte Verstärkung spawnt, wenn der Custom Boss in den Kampf eintritt (
summonType: ON_COMBAT_ENTER) - Die beschworene benutzerdefinierte Verstärkung ist die aus
test_boss.yml(filename: test_boss.yml) - Die benutzerdefinierte Verstärkung spawnt innerhalb von 30 Blöcken vom aktuellen Standort des Custom Bosses (
spawnNearby: true) - Die benutzerdefinierte Verstärkung übernimmt das Aggro des Custom Bosses, den sie verstärkt, was bedeutet, dass sie den Spieler angreift, der den meisten Schaden verursacht hat (
inheritAggro: true) - Unabhängig von der Einstellung in
test_boss.ymlhat die benutzerdefinierte Verstärkung dasselbe Level wie der Custom Boss, den sie verstärkt (inheritLevel: true)
- summonType: ON_COMBAT_ENTER_PLACE_CRYSTAL
location: -80,10,0
lightningRod: true
Dies bewirkt Folgendes:
- Erstellt eine benutzerdefinierte Verstärkung
- Die benutzerdefinierte Verstärkung ist ein Enderkristall, der platziert wird, wenn der Kampf beginnt (
summonType: ON_COMBAT_ENTER_PLACE_CRYSTAL) - Der Enderkristall trifft den umliegenden Boden mit einer Verzögerung mit Blitzen (
lightningRod: true)
# Beispiel: Boss, der beim Tod Rache-Schergen spawnt
- summonType: ON_DEATH
filename: revenge_minion.yml
amount: 3
spawnNearby: true
Dies bewirkt Folgendes:
- Erstellt eine benutzerdefinierte Verstärkung
- Die benutzerdefinierte Verstärkung spawnt, wenn der Boss stirbt (
summonType: ON_DEATH) - Die beschworene benutzerdefinierte Verstärkung ist die aus
revenge_minion.yml(filename: revenge_minion.yml) - Drei Verstärkungen spawnen (
amount: 3) - Die Verstärkungen spawnen innerhalb von 30 Blöcken von dem Ort, an dem der Boss gestorben ist (
spawnNearby: true)
Nun wenden wir dies auf den Custom Boss an:
isEnabled: true
entityType: ENDER_DRAGON
name: $eventBossLevel &eBinder of Worlds
level: 200
powers:
- ender_dragon_arrow_bombardment.yml
- summonType: ON_COMBAT_ENTER
filename: test_boss.yml
spawnNearby: true
inheritAggro: true
inheritLevel: true
- summonType: ON_COMBAT_ENTER_PLACE_CRYSTAL
location: -80,10,0
lightningRod: true
Und fertig! Hier sind noch ein paar Tipps:
- Die Felder können in beliebiger Reihenfolge gesetzt werden, es wird jedoch empfohlen,
summonTypeimmer an erster Stelle zu haben! - Dies ist eine große Verbesserung gegenüber dem alten Verstärkungssystem, das nicht mehr aufgeführt ist. Es wird nicht empfohlen, sich zum jetzigen Zeitpunkt darauf zu verlassen, da es in Zukunft möglicherweise nicht mehr funktioniert.