Aller au contenu principal

Système de Priorité d'Annonce

Le Système de Priorité d'Annonce gère l'importance des messages d'EliteMobs. Il est utilisé par les Boss Personnalisés (messages d'apparition / de mort / d'évasion et suivi) et par les Événements Personnalisés (startMessage / endMessage).

Les deux empruntent des chemins de code différents et se comportent différemment en priorité 2 — voir Les événements personnalisés empruntent un chemin différent en bas de cette page.

Aide-mémoire abrégé :

  • Niveau 0 : Aucune annonce publique ; seuls les attaquants voient les messages de mort configurés
  • Niveau 1 : Messages de chat configurés + suivi si showCustomBossLocation est activé
  • Niveau 2 : Identique au Niveau 1 pour les Boss Personnalisés (aucun comportement distinct)
  • Niveau 3 : Fonctionnalités du Niveau 1 + Annonces Discord (nécessite DiscordSRV)

Comment ça marche :

Note : Vous devez configurer votre Boss Personnalisé avec ce système de priorité si vous souhaitez utiliser une valeur autre que celle par défaut. Cliquez ici pour apprendre comment faire.

Niveau 0​

Empêche les annonces publiques du Boss Personnalisé. Cela signifie :

  • Aucun message d'apparition ne sera envoyé
  • Aucun message d'évasion ne sera envoyé
  • Les messages de mort sont envoyés UNIQUEMENT aux joueurs qui ont infligé des dégâts au boss (pas à l'échelle du serveur)
  • Le suivi du boss est désactivé même si locationMessage est configuré

Niveau 1​

Les messages seuls n'activent pas les annonces publiques

Si vous omettez announcementPriority, le boss utilise la priorité 0, même si des champs de message sont configurés. Les messages de mort peuvent toujours parvenir en privé à ses attaquants. Définissez announcementPriority: 1 ou plus pour activer les annonces publiques.

Le Boss Personnalisé pourra envoyer des messages dans le chat s'il est configuré pour le faire. Il enverra des messages d'apparition, de mort et d'évasion s'il est configuré pour les avoir.

Par défaut, les messages d'apparition sont diffusés à tous les joueurs du serveur. Pour les limiter aux joueurs du monde du boss, activez le réglage de diffusion uniquement dans le monde de l'événement dans events.yml (announcementBroadcastWorldOnly: true).

Le suivi du boss est également activé à ce niveau si showCustomBossLocation est activé. Les joueurs du monde du boss reçoivent une notification de suivi cliquable à son apparition ; ils peuvent aussi utiliser le menu /em. locationMessage personnalise le texte de suivi, mais reste facultatif.

Conditions requises pour le suivi​

Pour que le suivi du boss fonctionne en Priorité 1 ou 2, les éléments suivants doivent être configurés :

  • Définir announcementPriority à 1 ou plus
  • Ajouter éventuellement locationMessage pour personnaliser le texte ; un texte absent ou vide utilise $name: $distance blocks away!
  • S'assurer que la config du serveur a showCustomBossLocation activé (par défaut : true)

Le locationMessage peut inclure des placeholders :

  • $name - Affiche le nom du boss
  • $distance - Affiche la distance jusqu'à la destination de navigation
  • $location - Affiche les coordonnées de la destination de navigation

Dans le même monde, la destination est le boss. Entre mondes, le suivi peut pointer vers l'entrée d'une liaison directe par trou de ver ; si aucune liaison n'existe, il affiche le message configuré pour un autre monde.

Niveau 2​

Pour les Boss Personnalisés, le Niveau 2 se comporte de manière identique au Niveau 1 — il n'existe pas de chemin de code distinct pour la priorité 2. Chaque type de message suit les mêmes règles en priorité 1 et en priorité 2 :

  • Les messages d'apparition sont diffusés à l'échelle du serveur, sauf si announcementBroadcastWorldOnly: true est défini, auquel cas ils ne sont envoyés qu'aux joueurs présents dans le monde du boss.
  • Les messages de mort sont diffusés à l'échelle du serveur pour toute priorité de 1 ou plus.
  • Les messages d'évasion sont toujours envoyés uniquement aux joueurs présents dans le monde du boss pour toute priorité de 1 ou plus.

Le suivi du boss est également activé à ce niveau si showCustomBossLocation est activé.

Note : Le suivi nécessite une priorité d'annonce de 1 ou plus et showCustomBossLocation ; locationMessage est facultatif.

Niveau 3​

Le Boss Personnalisé aura le même comportement qu'au Niveau 1, et enverra également des messages dans le salon Discord configuré pour recevoir les notifications d'EliteMobs. La page expliquant comment configurer cette fonctionnalité se trouve ici. Les messages sur Discord seront identiques aux messages du chat - apparition/mort/évasion

Les événements personnalisés empruntent un chemin différent​

Les événements personnalisés (customevents/*.yml) possèdent également une announcementPriority, mais leurs startMessage et endMessage passent par une routine différente et plus simple. Son comportement est le suivant :

PrioritéDestinataires du messageDiscord
0Uniquement les joueurs présents dans le monde de l'événementNon
1À l'échelle du serveur, sauf si announcementBroadcastWorldOnly: true dans events.yml, auquel cas uniquement le monde de l'événementNon
2Uniquement les joueurs présents dans le monde de l'événement (la branche à l'échelle du serveur est écrite pour la priorité 1 exactement)Non
3+Uniquement les joueurs présents dans le monde de l'événementOui

Ainsi, pour les événements — contrairement aux boss — la priorité 2 n'est pas équivalente à la priorité 1, et les priorités de 3 ou plus ne diffusent pas à l'échelle du serveur, même lorsque announcementBroadcastWorldOnly vaut false. Pour les événements, announcementPriority vaut 0 par défaut.

Types de messages​

Les boss personnalisés peuvent avoir trois types d'annonces :

  • Messages d'apparition (spawnMessage) - Envoyés lorsque le boss apparaît
  • Messages de mort (deathMessage) - Envoyés lorsque le boss est tué
  • Messages d'évasion (escapeMessage) - Envoyés lorsque le boss disparaît/s'échappe

Chaque type de message doit être configuré séparément dans votre fichier de boss. Le niveau de priorité d'annonce contrôle si ces messages sont envoyés et qui les reçoit.

doCustomEliteMobsDeathMessages dans MobCombatSettings.yml (par défaut true) doit aussi être activé pour les messages de mort des boss. Une liste deathMessages non vide est prioritaire sur le champ simple deathMessage. Les lignes classées dont l'attaquant n'existe pas sont omises.

Les placeholders sont propres à chaque champ. locationMessage prend en charge $name, $distance et $location. Les messages d'apparition et de fuite ne remplacent pas $name : écrivez directement le nom du boss. Un deathMessage simple prend en charge $players et $playersName, tandis que les placeholders classés $damager1name/$damager1Name doivent figurer dans la liste deathMessages.

Exemple de configuration​

# 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'