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 : Silencieux (par défaut pour les boss sans message configuré) - Seuls ceux qui infligent des dégâts voient les messages de mort
- Niveau 1 : Messages dans le chat + Suivi (si messages/locationMessage configurés)
- 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
Force le Boss Personnalisé à rester silencieux. 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
announcementPriority est silencieuxSi vous ne définissez pas du tout announcementPriority, le boss reçoit la priorité 0 — silencieux — qu'il ait ou non des messages d'apparition, de mort ou d'évasion configurés. Configurer les messages seuls ne suffit pas ; vous devez également définir announcementPriority: 1 (ou plus). Beaucoup de contenu se fait piéger par là : les messages sont présents, ils s'analysent correctement, et rien n'est jamais diffusé.
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. Vous pouvez configurer EliteMobs pour ne diffuser qu'aux joueurs présents dans le même monde que le boss en activant le paramètre 'Only broadcast event message in event worlds' dans events.yml (announcementBroadcastWorldOnly: true).
Le suivi du boss est également activé à ce niveau si un locationMessage est configuré. Les joueurs peuvent cliquer dans le chat pour le suivre lorsqu'il apparaît, ou utiliser le menu /em pour le suivre.
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 un champ
locationMessageà la configuration de votre boss personnalisé - S'assurer que la config du serveur a
showCustomBossLocationactivé (par défaut : true)
Le locationMessage peut inclure des placeholders :
$distance- Affiche la distance jusqu'au boss$location- Affiche les coordonnées du boss
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: trueest 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 un locationMessage est configuré.
Note : Le suivi nécessite à la fois une priorité d'annonce de 1 ou plus ET un champ locationMessage configuré.
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 message | Discord |
|---|---|---|
| 0 | Uniquement les joueurs présents dans le monde de l'événement | Non |
| 1 | À l'échelle du serveur, sauf si announcementBroadcastWorldOnly: true dans events.yml, auquel cas uniquement le monde de l'événement | Non |
| 2 | Uniquement 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énement | Oui |
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.
Exemple de Configuration
# Boss silencieux - seuls ceux qui infligent des dégâts voient le message de mort
announcementPriority: 0
deathMessage: '&c$name has been defeated!'
# Annonces dans le chat avec suivi
announcementPriority: 1
spawnMessage: '&4$name &chas spawned!'
deathMessage: '&a$name &2has been slain by $damager1name!'
escapeMessage: '&e$name &6has escaped!'
locationMessage: '&6$name &eis $distance blocks away at $location'
# Intégration Discord
announcementPriority: 3
spawnMessage: '&4$name &chas spawned!'
locationMessage: '&6Track $name at $location'