Ankündigungsprioritätssystem
Das Ankündigungsprioritätssystem verwaltet, wie wichtig EliteMobs-Nachrichten sind. Es wird von Custom Bosses (Spawn-/Tod-/Flucht-Nachrichten und Verfolgung) und von Custom Events (startMessage / endMessage) verwendet.
Beide nutzen unterschiedliche Code-Pfade und verhalten sich bei Priorität 2 unterschiedlich — siehe Benutzerdefinierte Events verwenden einen anderen Pfad am Ende dieser Seite.
Kurzübersicht:
- Level 0: Keine öffentlichen Ankündigungen; nur Schadensverursacher sehen konfigurierte Todesnachrichten
- Level 1: Konfigurierte Chat-Nachrichten + Verfolgung bei aktiviertem
showCustomBossLocation - Level 2: Identisch zu Level 1 für benutzerdefinierte Bosse (kein separates Verhalten)
- Level 3: Level-1-Features + Discord-Ankündigungen (erfordert DiscordSRV)
Wie es funktioniert:
Hinweis: Du musst deinen benutzerdefinierten Boss mit diesem Prioritätssystem einrichten, wenn du einen nicht-standardmäßigen Wert verwenden möchtest. Klicke hier, um zu erfahren, wie das geht.
Level 0
Unterdrückt öffentliche Ankündigungen des benutzerdefinierten Bosses. Das bedeutet:
- Keine Spawn-Nachrichten werden gesendet
- Keine Flucht-Nachrichten werden gesendet
- Todesnachrichten werden NUR an Spieler gesendet, die den Boss beschädigt haben (nicht serverweit)
- Boss-Verfolgung ist deaktiviert, selbst wenn locationMessage konfiguriert ist
Level 1
Wenn du announcementPriority weglässt, verwendet der Boss Priorität 0, auch wenn Nachrichtenfelder konfiguriert sind. Todesnachrichten können seine Schadensverursacher weiterhin privat erreichen. Setze announcementPriority: 1 oder höher, um öffentliche Ankündigungen zu aktivieren.
Der benutzerdefinierte Boss kann Nachrichten im Chat senden, wenn er dafür konfiguriert ist. Er sendet Spawn-, Tod- und Flucht-Nachrichten, wenn er dafür konfiguriert ist.
Standardmäßig werden Spawn-Nachrichten an alle Spieler auf dem Server gesendet. Mit der Einstellung für Ankündigungen nur in der Event-Welt in events.yml (announcementBroadcastWorldOnly: true) beschränkst du sie auf Spieler in der Welt des Bosses.
Die Boss-Verfolgung ist auf dieser Stufe ebenfalls aktiviert, wenn showCustomBossLocation eingeschaltet ist. Spieler in der Welt des Bosses erhalten beim Spawn einen anklickbaren Verfolgungshinweis; außerdem steht das /em-Menü zur Verfügung. locationMessage passt den Verfolgungstext an, ist aber optional.
Voraussetzungen für die Verfolgung
Damit die Boss-Verfolgung bei Priorität 1 oder 2 funktioniert, muss Folgendes konfiguriert sein:
- Setze
announcementPriorityauf 1 oder höher - Passe den Text optional mit
locationMessagean; bei fehlendem oder leerem Text wird$name: $distance blocks away!verwendet - Stelle sicher, dass in der Serverkonfiguration
showCustomBossLocationaktiviert ist (Standard: true)
Die locationMessage kann Platzhalter enthalten:
$name- Zeigt den Bossnamen$distance- Zeigt die Entfernung zum Navigationsziel$location- Zeigt die Koordinaten des Navigationsziels
In derselben Welt ist der Boss das Navigationsziel. Zwischen Welten kann die Verfolgung auf den Eingang einer direkten Wurmlochverbindung zeigen. Existiert keine solche Verbindung, erscheint stattdessen die konfigurierte Nachricht für eine andere Welt.
Level 2
Für benutzerdefinierte Bosse verhält sich Level 2 identisch zu Level 1 — es gibt keinen separaten Code-Pfad für Priorität 2. Jeder Nachrichtentyp folgt bei Priorität 1 und Priorität 2 denselben Regeln:
- Spawn-Nachrichten werden serverweit gesendet, es sei denn,
announcementBroadcastWorldOnly: trueist gesetzt, in welchem Fall sie nur an Spieler in der Welt des Bosses gehen. - Todesnachrichten werden bei jeder Priorität von 1 oder höher serverweit gesendet.
- Flucht-Nachrichten werden bei jeder Priorität von 1 oder höher immer nur an Spieler in der Welt des Bosses gesendet.
Die Boss-Verfolgung ist auf dieser Stufe ebenfalls aktiviert, wenn showCustomBossLocation eingeschaltet ist.
Hinweis: Die Verfolgung benötigt eine Ankündigungspriorität von mindestens 1 und showCustomBossLocation; locationMessage ist optional.
Level 3
Der benutzerdefinierte Boss hat dasselbe Verhalten wie in Level 1 und sendet zusätzlich Nachrichten an den Discord-Raum, der für Benachrichtigungen über EliteMobs konfiguriert ist. Die Seite, wie man dieses Feature einrichtet, findest du hier. Die Nachrichten auf Discord sind dieselben wie die Chat-Nachrichten - Spawn/Tod/Flucht
Benutzerdefinierte Events verwenden einen anderen Pfad
Benutzerdefinierte Events (customevents/*.yml) tragen ebenfalls eine announcementPriority, aber ihre startMessage und endMessage laufen durch eine andere, einfachere Routine. Ihr Verhalten ist:
| Priorität | Wohin die Nachricht geht | Discord |
|---|---|---|
| 0 | Nur an Spieler in der Welt des Events | Nein |
| 1 | Serverweit, außer announcementBroadcastWorldOnly: true in events.yml — dann nur in der Welt des Events | Nein |
| 2 | Nur an Spieler in der Welt des Events (der serverweite Zweig ist exakt für Priorität 1 geschrieben) | Nein |
| 3+ | Nur an Spieler in der Welt des Events | Ja |
Bei Events ist Priorität 2 also — anders als bei Bossen — nicht dasselbe wie Priorität 1, und Prioritäten ab 3 senden auch dann nicht serverweit, wenn announcementBroadcastWorldOnly auf false steht. Die announcementPriority für Events ist standardmäßig 0.
Nachrichtentypen
Benutzerdefinierte Bosse können drei Arten von Ankündigungen haben:
- Spawn-Nachrichten (
spawnMessage) - Gesendet, wenn der Boss spawnt - Todesnachrichten (
deathMessage) - Gesendet, wenn der Boss getötet wird - Flucht-Nachrichten (
escapeMessage) - Gesendet, wenn der Boss despawnt/entkommt
Jeder Nachrichtentyp muss separat in deiner Boss-Datei konfiguriert werden. Die Ankündigungsprioritätsstufe steuert, ob diese Nachrichten gesendet werden und wer sie erhält.
Für Todesnachrichten von Bossen muss außerdem doCustomEliteMobsDeathMessages in MobCombatSettings.yml (Standard true) aktiviert sein. Eine nicht leere Liste deathMessages hat Vorrang vor dem einzelnen Wert deathMessage. Ranglisten-Zeilen ohne entsprechenden Schadensverursacher werden ausgelassen.
Platzhalter gelten jeweils für bestimmte Felder. locationMessage unterstützt $name, $distance und $location. Spawn- und Fluchtnachrichten ersetzen $name nicht; schreibe den Bossnamen direkt hinein. Eine einzelne deathMessage unterstützt $players und $playersName, während Ranglisten-Platzhalter wie $damager1name/$damager1Name in die Liste deathMessages gehören.
Beispielkonfiguration
# Silent boss - only damagers see death message
announcementPriority: 0
deathMessage: '&cThe Sentinel has been defeated!'
# Chat announcements with tracking
announcementPriority: 1
spawnMessage: '&4The Sentinel &chas spawned!'
deathMessages:
- '&aThe Sentinel &2has been slain by $damager1Name!'
escapeMessage: '&eThe Sentinel &6has escaped!'
locationMessage: '&6$name &eis $distance blocks away at $location'
# Discord integration
announcementPriority: 3
spawnMessage: '&4The Sentinel &chas spawned!'
locationMessage: '&6Track $name at $location'