Weltbosse erstellen
Weltbosse werden manchmal auch als regionale Bosse bezeichnet.
Was sind sie?
Weltbosse sind Custom Bosses, die so eingestellt sind, dass sie an einem bestimmten Ort mit einer bestimmten Verzögerung spawnen. Dies sind auch die Bosse, die in Dungeons verwendet werden. In diesem Abschnitt geht es jedoch speziell um das Erstellen von Weltbossen für die Verwendung außerhalb von Dungeons.
Wofür sind sie da?
Weltbosse ermöglichen es Spielern, sich einer festen Herausforderung zu stellen und dabei zu wissen, dass die Beute lohnend sein wird.
Was brauche ich, um einen Weltboss zu erstellen?
- Einen Ort. Ein Bossraum wird empfohlen, mit einem Radius von etwa 15 Blöcken (30 Blöcke Durchmesser) aufgrund der Minecraft-Aggro-Reichweite. Stelle außerdem sicher, dass das Gelände durch eine WorldGuard-Region geschützt ist (damit Spieler keine Fallen bauen können) und dass das Gelände nicht für den Kampf ausgenutzt werden kann.
- Eine Respawn-Zeit. Der Respawn-Timer ist essenziell. Ich empfehle keinen Respawn-Timer von weniger als 30 Minuten, sonst wird das Respawnen des Bosses weniger zum Ereignis. 1 Stunde ist eine recht gute Zeit, aber du möchtest den Boss vielleicht auch nur einmal pro Tag oder sogar einmal pro Woche respawnen lassen.
- Eine Fluchtzeit. Je länger der Respawn, desto länger sollte die Fluchtzeit sein. Berücksichtige auch, dass die Fluchtzeit lang genug sein sollte, damit Spieler den Boss bequem herausfordern können. Flucht-Timer sind wichtig, wenn du nicht möchtest, dass Spieler den Boss durch Kamikaze-Aktionen besiegen. Dies ist nicht zwingend erforderlich und auch nicht empfohlen, wenn du gewaltige Bosse mit wochenlangem Respawn erstellen möchtest.
- Einen Custom Boss. Weltbosse sind eigentlich nur Custom Bosses mit benutzerdefinierten Spawn-Regeln. Stelle sicher, dass du Powers mit guter Kompatibilität für Kämpfe in Raid-Größe auswählst.
- Interessante Beute. Der große Anreiz bei Weltbossen ist, abgesehen von der Herausforderung, die Beute. Stelle sicher, dass Spieler etwas daraus erhalten können, das sie schlichtweg nirgendwo anders bekommen können.
- Ein Thema. Ein guter regionaler Boss sollte ein Thema haben, mit einem thematisch passenden Ort und thematisch passender Beute.
Custom-Boss-Konfigurationsoptionen für Weltbosse
Diese Einstellungen werden zu den normalen Custom-Boss-Konfigurationsdateien hinzugefügt. Eine ausführliche Wiki-Seite dazu findest du hier.
isRegionalBoss
Legt fest, ob der Boss ein regionaler Boss ist. Regionale Bosse sind ein anderer Name für Weltbosse, du möchtest dies also auf true setzen.
| Key | Werte | Standard |
|---|---|---|
isRegionalBoss | Boolean | false |
Beispiel
isRegionalBoss: true
spawnLocations
Spawn-Orte sollten ingame über den Befehl /em place boss <filename.yml> gesetzt werden.
Führe ihn als Spieler mit elitemobs.place.admin aus, nachdem eine Bosskonfiguration mit isRegionalBoss: true geladen wurde. Jede Verwendung fügt eine weitere Platzierung desselben Bosses hinzu. Der Befehl zentriert die Position in einem Block und sucht nach oben nach einem passierbaren Ort. Prüfe, ob dort genug Platz für den Boss ist.
Es ist zwar möglich, Orte manuell über die Konfiguration hinzuzufügen, aber ich empfehle nicht, das zu versuchen, da es einfach zu leicht ist, dabei einen Fehler zu machen.
| Key | Werte | Standard |
|---|---|---|
spawnLocations | String-Liste | keine |
Beispiel
Orte in Konfigurationsdateien (für fortgeschrittene Benutzer) Die Konfigurationsdateien des regionalen Bosses speichern alle Instanzen dieses regionalen Bosses in einer einzigen Datei, indem mehrere Spawn-Orte sowie Respawn-Timer gespeichert werden.
In der Praxis bedeutet das, dass dieser Eintrag:
spawnLocations:
- elitemobs_sewer_maze,-70.17178578884845,168.2,-173.17112099568718,-271.24023,64.19999:1610710903931
- elitemobs_sewer_maze,-135.02262355317436,168.2,-153.28849346821508,-98.53906,60.750263:1609026066482
- elitemobs_sewer_maze,-70.43846307626053,168.2,-174.13499832314378,-271.24023,64.19999:1610710886530
- elitemobs_sewer_maze,-130.39762674971664,168.2,-171.67396911490718,-47.532227,51.900173:1609026066482
- elitemobs_sewer_maze,-117.12782160766056,162.2,-166.40989416757444,-71.37402,-1.4997427:1610710974882
- elitemobs_sewer_maze,-105.13138759611667,168.2,-169.85898023126538,-124.34766,41.24988:1610710945331
- elitemobs_sewer_maze,-106.21847515732084,169.2,-152.3609257554766,-170.86523,21.450315:1610537606222
7 verschiedene regionale Bosse enthält, an unterschiedlichen Orten und mit unterschiedlichen Respawn-Timern.
Schlüsseln wir die Details auf und werfen einen Blick auf den ersten regionalen Boss:
- elitemobs_sewer_maze,-70.17178578884845,168.2,-173.17112099568718,-271.24023,64.19999:1610710903931
Das Format lautet world,x,y,z,yaw,pitch:unixTimeStamp. Der Boss erscheint in elitemobs_sewer_maze bei x = -70.17178578884845, y = 168.2, z = -173.17112099568718, yaw = -271.24023, pitch = 64.19999.
Der Zeitstempel speichert den Respawn-Zeitpunkt in Millisekunden seit der Unix-Epoche. Damit bleibt er über Neustarts erhalten. Verwende zur Prüfung einen Umrechner, der Millisekunden akzeptiert.
Stoppe den Server vor der Bearbeitung und entferne das Suffix :unixTimeStamp einschließlich Doppelpunkt, um einen gespeicherten Respawn-Zeitpunkt zu löschen. Übrig bleibt world,x,y,z,yaw,pitch. Das laufende Plugin speichert Platzierungen regelmäßig und kann manuelle Änderungen überschreiben. Ohne Zeitstempel wird die Platzierung ohne Spawn-Ankündigung wiederhergestellt, sobald Welt und Chunk das Spawnen erlauben.
spawnCooldown
Legt die Verzögerung nach Tod oder Timeout bis zum nächsten Spawnversuch in Minuten fest. 0 plant einen sofortigen Versuch; ein negativer Wert deaktiviert geplante Respawns. Welt und Chunk müssen verfügbar sein, bevor eine lebende Entität erscheint. Patrouillierende Bosse benötigen zusätzlich eine Position mit aktiver Entitätsverarbeitung.
Hinweis: Für große Bosse werden längere Respawns empfohlen!.
| Key | Werte | Standard |
|---|---|---|
spawnCooldown | Integer | 0 |
Beispiel
spawnCooldown: 20
timeout
Legt die Fluchtzeit ab dem Spawn in Minuten fest, nicht ab Kampfbeginn. Werte unter 1 deaktivieren sie. Bei Wiederherstellung eines regionalen Bosses nach Laden seines Chunks oder seiner Welt oder nach einem Neustart beginnt die volle Zeit erneut. Es ist kein dauerhaft gespeicherter Endzeitpunkt. Phasenwechsel behalten den Timer der Begegnung bei.
Hinweis: Dies sollte lang genug sein, damit Spieler den Kampf bequem abschließen können.
| Key | Werte | Standard |
|---|---|---|
timeout | Integer | 0 |
Beispiel
timeout: 60
Stellt den Boss so ein, dass er nach 60 Minuten flieht, falls er nicht besiegt wird.
leashRadius
Legt die Rückkehrgrenze um den platzierten Spawnpunkt fest. Mit nativer Navigation beginnen geeignete Kreaturen bei halbem Radius eine weiche Rückkehr; die erzwungene Rückkehr verwendet den vollen Radius. Erreicht der Boss sein Ziel nicht, kann er teleportiert werden. Enderdrachen sind von diesen nativen Zielen ausgenommen. Ohne native Navigation bringt eine Prüfung alle 3 Sekunden Bosse zurück, die den vollen Radius überschreiten. Diese Alternative gilt nur für Radien ab 1. Endet eine native Leinen-Rückkehr, heilt der Boss nur dann vollständig, wenn regenerateCustomBossHealthOnCombatEnd in MobCombatSettings.yml aktiviert ist (Standard true).
Hinweis: Versuche zu vermeiden, Kampfbereiche zu erstellen, die Leinen (Leashes) kürzer als 20 Blöcke erfordern, da dies den Kampf verschlechtert.
| Key | Werte | Standard |
|---|---|---|
leashRadius | Double | 0 (deaktiviert) |
Beispiel
leashRadius: 30
escapeMessage
Legt die Nachricht für Spieler in der Welt des Bosses fest, wenn er wegen Timeout flieht. Erfordert eine nicht leere Nachricht und announcementPriority ab 1. Ab Priorität 3 wird sie auch über die konfigurierte Discord-Anbindung gesendet. Die Flucht entfernt den Boss und startet die Respawn-Verzögerung, sofern removeAfterDeath: true die Platzierung nicht dauerhaft entfernt.
| Key | Werte | Standard |
|---|---|---|
escapeMessage | String | keine |
Beispiel
escapeMessage: "&cThe World Boss has escaped!"
announcementPriority
Steuert Ankündigungen und die Möglichkeit zur Verfolgung. Nachrichten müssen konfiguriert sein. Verfolgung erfordert außerdem showCustomBossLocation in MobCombatSettings.yml; locationMessage ist optional.
| Stufe | Verhalten |
|---|---|
0 | Keine Spawn-/Flucht-Ankündigung und keine Verfolgung; konfigurierte Todesnachrichten können Angreifer erreichen |
1 | Konfigurierte Spawn-/Tod-/Flucht-Nachrichten und Verfolgung über /em, wenn aktiviert |
2 | Wie Stufe 1, ohne zusätzliches Verhalten |
3 | Stufe 1 plus Discord-Benachrichtigungen, falls konfiguriert |
Spawn-Nachrichten beachten announcementBroadcastWorldOnly in events.yml. Todesnachrichten mit positiver Priorität gelten serverweit und benötigen doCustomEliteMobsDeathMessages in MobCombatSettings.yml. Fluchtnachrichten gelten nur in der Welt des Bosses. Wiederhergestellte Bosse können ohne erneute Spawn-Ankündigung verfolgt werden. Setze die Priorität ausdrücklich; eine Nachricht hinzuzufügen ändert den Standardwert 0 nicht automatisch.
| Key | Werte | Standard |
|---|---|---|
announcementPriority | Integer | 0 |
Beispiel
announcementPriority: 3
Stellt den Boss so ein, dass er im Chat und in Discord ankündigt und es Spielern ermöglicht, ihn zu verfolgen.
isPersistent
Bewahrt den Boss zur Wiederherstellung nach dem Entladen seines Chunks auf. Die aktive Entität wird beim Entladen entfernt und beim Laden des entsprechenden Chunks wiederhergestellt. Der Chunk bleibt dadurch nicht geladen und der Boss kämpft währenddessen nicht weiter.
Platzierte regionale Bosse aktivieren Persistenz bereits über ihren eigenen Lebenszyklus, unabhängig von dieser Einstellung für gewöhnliche Custom Bosses.
Hinweis: Zu viele persistente Bosse (Hunderte) können zu Leistungsproblemen führen.
| Key | Werte | Standard |
|---|---|---|
isPersistent | Boolean | false |
Beispiel
isPersistent: true
removeAfterDeath
Bestimmt, ob der Weltboss nach seiner Niederlage dauerhaft entfernt wird. Nützlich für einmalige Event-Bosse oder besondere Begegnungen, die nicht respawnen sollen.
Bei false, dem Standard, plant Tod oder Timeout einen neuen Spawn nach spawnCooldown, sofern der Wert nicht negativ ist.
Bei true entfernt Tod oder Timeout den platzierten Boss dauerhaft aus der Liste der Spawn-Orte.
| Key | Werte | Standard |
|---|---|---|
removeAfterDeath | Boolean | false |
Beispiel
removeAfterDeath: true
Transitive Blocks
Transitive Blocks werden über onSpawnBlockStates und onRemoveBlockStates konfiguriert. Diese speichern die Blockänderungen für die unten beschriebenen Zustände ON_SPAWN und ON_REMOVE.
So kannst du Bosse Türen / Bereiche öffnen oder schließen lassen oder sogar eine Arena während des Kampfes verändern, wenn du dies mit Phasen-Bossen verwendest!
| Key | Werte | Standard |
|---|---|---|
onSpawnBlockStates | Siehe ausführliche Erklärung | keiner |
| Key | Werte | Standard |
|---|---|---|
onRemoveBlockStates | Siehe ausführliche Erklärung | keiner |
Ausführliche Erklärung
Alle Blöcke sind relativ zum Spawn-Ort. Stelle sicher, dass dein endgültiger Spawn-Ort feststeht, bevor du beginnst, Blöcke zu setzen.
Der Editor benötigt einen Spieler mit elitemobs.transitiveblocks. Platziere beim Aufzeichnen genau eine Kopie des regionalen Bosses; mehrere Platzierungen derselben Konfiguration werden abgelehnt. Phasendateien können ihren übergeordneten regionalen Boss verwenden. Gespeichert werden Blockdaten, keine Inventare oder sonstigen Inhalte von Blockentitäten. Der Yaw des Bosses dreht diese Daten nicht.
Wenn du bereits einen großen Transitive-Block-Bereich erstellt hast und nun den Boss verschieben musst, aber die Transitive Blocks nicht erneut anlegen möchtest, dann kannst du die EliteScript-Aktion Teleport verwenden, um den Boss nach dem Spawnen an den richtigen Ort zu bewegen. Beachte dabei, dass du deine Leine (Leash) entsprechend anpassen musst.
Aufgrund der Komplexität des Setzens von Blöcken wird nicht empfohlen, dies manuell zu tun. Du solltest dafür die folgenden Befehle verwenden:
- /em transitiveBlocks register
<regional_boss_file.yml><ON_SPAWN/ON_REMOVE> - /em transitiveBlocks edit
<regional_boss_file.yml><ON_SPAWN/ON_REMOVE> - /em transitiveBlocks registerArea
<regional_boss_file.yml><ON_SPAWN/ON_REMOVE> - /em transitiveBlocks editArea
<regional_boss_file.yml><ON_SPAWN/ON_REMOVE> - /em transitiveBlocks cancel
Schlüsseln wir das auf.
/em transitiveBlocks register <regional_boss_file.yml> <ON_SPAWN/ON_REMOVE>
Führe den Befehl einmal für eine neue Auswahl von ON_SPAWN oder ON_REMOVE aus und erneut zum Speichern. Eine neue Registrierung ersetzt die vorherige Liste dieses Zustands. Beende oder verwirf die Auswahl, bevor du eine andere Datei oder einen anderen Zustand beginnst. Ein weiterer gültiger Registrierungs- oder Bearbeitungsbefehl speichert die aktive Sitzung.
ON_SPAWN setzt die gespeicherten Blöcke beim Spawn oder Respawn. ON_REMOVE gilt beim Tod oder Kill-Befehl sowie beim Übergang in die nächste Phase, bevor deren Blockkonfiguration übernommen wird. Timeout, Phasenreset durch vollständige Heilung, Reload und Herunterfahren wenden den besiegten Zustand nicht an.
Rechtsklicke beim Aufzeichnen einen Block, um seinen aktuellen Zustand zu speichern. Linksklicke, um Luft an dieser Position zu speichern. Die Klicks werden abgebrochen und wählen nur den Zustand aus, ohne Blöcke zu setzen oder abzubauen. Jede Position wird nur einmal gespeichert: Ein Klick mit der anderen Maustaste auf eine gespeicherte Position entfernt sie aus der Auswahl. Klicks außerhalb der Welt des Bosses werden mit einer Meldung abgelehnt. Führe den Befehl erneut zum Speichern aus.
/em transitiveBlocks edit <regional_boss_file.yml> <ON_SPAWN/ON_REMOVE>
Wenn du bereits gesetzte Blöcke modifizieren möchtest, kannst du diesen Befehl verwenden. Funktioniert sehr ähnlich wie /em transitiveBlocks register <regional_boss_file.yml> <ON_SPAWN/ON_REMOVE>.
/em transitiveBlocks registerArea <regional_boss_file.yml> <ON_SPAWN/ON_REMOVE>
Genau wie /em transitiveBlocks register <regional_boss_file.yml> <ON_SPAWN/ON_REMOVE> ermöglicht dir dies, Blöcke zu registrieren, allerdings durch die Auswahl von zwei diametral gegenüberliegenden Ecken (wie bei der WorldEdit-/WorldGuard-Regionsauswahl), anstatt Blöcke einzeln auszuwählen.
Wähle eine Ecke per Linksklick und die gegenüberliegende per Rechtsklick. Führe den Befehl erneut zum Speichern aus. Beide Ecken müssen in der Welt des Bosses liegen, und du musst dich beim Speichern in dieser Welt befinden. Andernfalls lehnt EliteMobs das Speichern mit einer Meldung ab und behält deine Auswahl aktiv. Blöcke aus dem Bereich ersetzen jeden bereits an derselben Position ausgewählten Block.
defaultTransitiveBlockLimiter in config.yml steht standardmäßig auf 500, gibt derzeit aber nur eine Warnung aus. Auch größere Auswahlen werden gespeichert. Halte Bereiche selbst klein. Beim Anwenden werden die Zielchunks geladen und alle Blöcke in einem Tick verändert, was bei großen Bereichen Lag verursachen kann.
/em transitiveBlocks editArea <regional_boss_file.yml> <ON_SPAWN/ON_REMOVE>
Lädt vorhandene Zustände und ergänzt die aktuellen Blockzustände des ausgewählten Bereichs. Eckenauswahl und Größenwarnung entsprechen registerArea.
/em transitiveBlocks cancel
Verwirft die ungespeicherte Auswahl. Tatsächliche Bauarbeiten in der Welt und bereits gespeicherte Änderungen der Bosskonfiguration werden nicht rückgängig gemacht.
Tipps für einen guten, großen regionalen Bosskampf
-
Denk wirklich darüber nach, wie sich die Powers deines Custom Bosses gegenseitig ergänzen. Du möchtest nicht, dass dein Boss die meiste Zeit stillsteht, weil er etwas wirkt, da das den Kampf tatsächlich sehr einfach machen kann. Du möchtest auch nicht, dass der Boss nur Fernangriffe und keine Nahkampf-Powers hat oder umgekehrt, es sei denn, du entwirfst etwas sehr Spezifisches. Playtesting ist wichtig.
-
Beachte die Obergrenze der Lebenspunkte. Es gilt der aktive Serverwert
settings.attribute.maxHealth.max, normalerweise 2048. MithealthMultiplier: 10.0erreicht ein Boss diese Grenze auf Level 33. Höhere Level verändern die Kampfskalierung, ohne Lebenspunkte hinzuzufügen. Siehe healthMultiplier, bevor du einen großen Multiplikator mit hohemlevelkombinierst. -
Schaden - nicht zu viel. EliteMobs sind standardmäßig bereits extrem tödlich, und die Powers neigen dazu, exponentiell tödlicher zu sein. Anstatt den Schaden durch die Decke zu jagen, solltest du in Betracht ziehen, Powers zu nutzen, damit der Boss härter zuschlägt.
-
Exploits, überall. Stelle ganz besonders sicher, dass das Gelände nicht ausnutzbar ist. Platziere den Boss in einem geschlossenen Raum, um zu verhindern, dass Spieler versuchen, ihn aus der Ferne abzuschießen. Die Power für Pfeil-Unverwundbarkeit ist wahrscheinlich für viele Weltbosse extrem wichtig, da Minecraft-Mobs nicht damit umgehen können, aus mehreren Chunks Entfernung abgeschossen zu werden. Wenn du also Bogenangriffe zulassen möchtest, stelle sicher, dass Bögen nicht ausgenutzt werden können.
-
Kenne das Plugin. Es gibt viele kleine Tricks, um EliteMobs zu besiegen, etwa wie manche Powers durch den Einsatz von Schilden gekontert werden können, während andere durch Ausweichen oder sogar durch vorübergehendes Weglaufen vom Boss gekontert werden sollten. Je besser du weißt, wie die Powers funktionieren und wie sie gekontert werden, desto besser werden die Bosse, die du erstellst.
Vollständiges Weltboss-Beispiel
Das Beispiel kombiniert die wichtigsten Einstellungen. Ersetze Welt und Koordinaten durch deinen Standort und aktiviere die angegebenen Powers und den benutzerdefinierten Gegenstand. Zeichne Änderungen an Arenablöcken im Spiel auf; der einzelne Block zeigt nur das Format.
isEnabled: true
entityType: ZOMBIE
name: "&cThe Zombie King"
level: 30
healthMultiplier: 10.0
damageMultiplier: 2.0
# World Boss specific settings
isRegionalBoss: true
isPersistent: true
# Spawn settings
spawnLocations:
- world,100,64,100,0,0
spawnCooldown: 60
# Combat boundaries
leashRadius: 30
timeout: 20
# Messages and announcements
spawnMessage: "&cThe Zombie King has risen!"
deathMessage: "&aThe Zombie King has been defeated by $players!"
escapeMessage: "&eThe Zombie King has escaped..."
announcementPriority: 2
# Arena modification
onSpawnBlockStates:
- 0,0,0/minecraft:barrier
onRemoveBlockStates:
- 0,0,0/minecraft:air
# Boss features
powers:
- zombie_friends.lua
- ground_pound.lua
uniqueLootList:
- filename=magmaguys_toothpick.yml:chance=1.0
Dieser Boss wird:
- 60 Minuten nach Tod oder Timeout einen Spawn am angegebenen Ort planen und bei verfügbarer Welt und verfügbarem Chunk erscheinen
- 20 Minuten nach Spawn oder Wiederherstellung fliehen, falls er nicht besiegt wird
- Spawn/Tod/Flucht im Chat ankündigen und Spieler-Tracking ermöglichen
- Beim erneuten Laden seines Chunks wiederhergestellt werden
- Beim Spawnen und Sterben Arena-Blöcke modifizieren
- Bei seiner Niederlage einzigartige Beute droppen
Auf Level 30 mit healthMultiplier: 10.0 hat das Beispiel unter der Standardgrenze 1400 Lebenspunkte. Auf Level 33 erreicht es 2048. Die Basislebenspunkte werden vor dem Multiplikator begrenzt und das Ergebnis danach erneut. Ein kleinerer Multiplikator stellt deshalb kein Wachstum durch höhere Level wieder her, wenn bereits die Basislebenspunkte an der Grenze liegen. Siehe healthMultiplier.