Skip to main content

Announcement Priority System

The Announcement Priority System manages how important EliteMobs messages are. It is used by Custom Bosses (spawn / death / escape messages and tracking) and by Custom Events (startMessage / endMessage).

The two use different code paths and behave differently at priority 2 — see Custom events use a different path at the bottom of this page.

Short-form cheat sheet:

  • Level 0: No public announcements; only damagers see configured death messages
  • Level 1: Configured chat messages + tracking when showCustomBossLocation is enabled
  • Level 2: Identical to Level 1 for Custom Bosses (no separate behavior)
  • Level 3: Level 1 features + Discord announcements (requires DiscordSRV)

How it works:

Note: You need to set your Custom Boss up with this priority system if you want to use a non-default value. Click here to learn how to do that.

Level 0​

Suppresses public Custom Boss announcements. This means:

  • No spawn messages will be sent
  • No escape messages will be sent
  • Death messages are sent ONLY to players who damaged the boss (not server-wide)
  • Boss tracking is disabled even if locationMessage is configured

Level 1​

Messages alone do not enable public broadcasts

If you omit announcementPriority, the boss uses priority 0, even when message fields are configured. Death messages can still reach its damagers privately. Set announcementPriority: 1 or higher to enable public announcements.

The Custom Boss will be able to send messages in chat if they are configured to do it. They will send spawn, death and escape messages if they are configured to have them.

By default, spawn messages broadcast to all players on the server. You can configure EliteMobs to only broadcast to players in the same world as the boss by enabling the 'Only broadcast event message in event worlds' setting in events.yml (announcementBroadcastWorldOnly: true).

Boss tracking is also enabled at this level when showCustomBossLocation is enabled. Players in the boss's world receive a clickable tracking notification when it spawns; players can also use the /em menu. locationMessage customizes the tracking text but is optional.

Tracking Requirements​

For boss tracking to work at Priority 1 or 2, the following must be configured:

  • Set announcementPriority to 1 or higher
  • Optionally add locationMessage to customize the tracking text; missing or blank text uses $name: $distance blocks away!
  • Ensure the server config has showCustomBossLocation enabled (default: true)

The locationMessage can include placeholders:

  • $name - Shows the boss name
  • $distance - Shows distance to the navigation target
  • $location - Shows navigation-target coordinates

In the same world, the navigation target is the boss. Across worlds, tracking can point to an entry of a direct wormhole connection; if none exists, it shows the configured other-world message instead.

Level 2​

For Custom Bosses, Level 2 behaves identically to Level 1 — there is no separate code path for priority 2. Each message type follows the same rules at priority 1 and priority 2:

  • Spawn messages broadcast server-wide unless announcementBroadcastWorldOnly: true is set, in which case they go only to players in the boss's world.
  • Death messages are broadcast server-wide for any priority of 1 or higher.
  • Escape messages are always sent only to players in the boss's world for any priority of 1 or higher.

Boss tracking is also enabled at this level when showCustomBossLocation is enabled.

Note: Tracking requires an announcement priority of 1 or higher and showCustomBossLocation; locationMessage is optional.

Level 3​

The Custom Boss will have the same behavior as in Level 1, and will also send messages to the Discord room configured to send notifications about EliteMobs. The page on how to set this feature up can be found here. The messages on discord will be the same as the chat messages - spawn/death/escape

Custom events use a different path​

Custom events (customevents/*.yml) also carry an announcementPriority, but their startMessage and endMessage run through a different, simpler routine. Its behavior is:

PriorityWhere the message goesDiscord
0Only players in the event's worldNo
1Server-wide, unless announcementBroadcastWorldOnly: true in events.yml, in which case only the event's worldNo
2Only players in the event's world (the server-wide branch is written for priority 1 exactly)No
3+Only players in the event's worldYes

So for events — unlike bosses — priority 2 is not the same as priority 1, and priorities of 3 or higher do not broadcast server-wide even when announcementBroadcastWorldOnly is false. announcementPriority for events defaults to 0.

Message Types​

Custom bosses can have three types of announcements:

  • Spawn messages (spawnMessage) - Sent when the boss spawns
  • Death messages (deathMessage) - Sent when the boss is killed
  • Escape messages (escapeMessage) - Sent when the boss despawns/escapes

Each message type must be configured separately in your boss file. The announcement priority level controls whether these messages are sent and who receives them.

doCustomEliteMobsDeathMessages in MobCombatSettings.yml (default true) must also be enabled for boss death messages. A nonempty deathMessages list takes precedence over the scalar deathMessage. Ranked lines whose damager does not exist are omitted.

Placeholders are specific to each field. locationMessage supports $name, $distance and $location. Spawn and escape messages do not replace $name; write the boss name directly. A single deathMessage supports $players and $playersName, while ranked $damager1name/$damager1Name placeholders belong in the deathMessages list.

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