Zum Hauptinhalt springen

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​

Nachrichten allein aktivieren keine öffentlichen Ankündigungen

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 announcementPriority auf 1 oder höher
  • Passe den Text optional mit locationMessage an; bei fehlendem oder leerem Text wird $name: $distance blocks away! verwendet
  • Stelle sicher, dass in der Serverkonfiguration showCustomBossLocation aktiviert 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: true ist 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ätWohin die Nachricht gehtDiscord
0Nur an Spieler in der Welt des EventsNein
1Serverweit, außer announcementBroadcastWorldOnly: true in events.yml — dann nur in der Welt des EventsNein
2Nur 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 EventsJa

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'