Sistema de Prioridade de Anúncios
O Sistema de Prioridade de Anúncios gere a importância das mensagens do EliteMobs. É usado pelos Bosses Personalizados (mensagens de spawn / morte / fuga e rastreio) e pelos Eventos Personalizados (startMessage / endMessage).
Os dois usam caminhos de código diferentes e comportam-se de forma diferente na prioridade 2 — consulte Os eventos personalizados usam um caminho diferente no final desta página.
Resumo rápido:
- Nível 0: Sem anúncios públicos; apenas quem causa dano vê as mensagens de morte configuradas
- Nível 1: Mensagens de chat configuradas + rastreio quando
showCustomBossLocationestá ativado - Nível 2: Idêntico ao Nível 1 para Bosses Personalizados (sem comportamento separado)
- Nível 3: Recursos do Nível 1 + anúncios no Discord (requer DiscordSRV)
Como funciona:
Nota: Tem de configurar o seu Boss Personalizado com este sistema de prioridade se quiser usar um valor diferente do predefinido. Clique aqui para saber como o fazer.
Nível 0
Suprime os anúncios públicos do boss personalizado. Isto significa que:
- Nenhuma mensagem de spawn será enviada
- Nenhuma mensagem de fuga será enviada
- As mensagens de morte são enviadas APENAS para os jogadores que causaram dano ao boss (não para todo o servidor)
- O rastreio do boss é desativado mesmo que o locationMessage esteja configurado
Nível 1
Se omitir announcementPriority, o boss usa prioridade 0, mesmo com mensagens configuradas. As mensagens de morte ainda podem chegar em privado a quem o atacou. Defina announcementPriority: 1 ou superior para ativar anúncios públicos.
O Boss Personalizado poderá enviar mensagens no chat se estiver configurado para isso. Enviará mensagens de spawn, morte e fuga se estiver configurado para as ter.
Por predefinição, as mensagens de spawn são transmitidas para todos os jogadores do servidor. Para limitar a transmissão aos jogadores no mundo do boss, ative a opção de anúncios apenas no mundo do evento em events.yml (announcementBroadcastWorldOnly: true).
O rastreio também é ativado neste nível quando showCustomBossLocation está ativo. Os jogadores no mundo do boss recebem um aviso clicável de rastreio quando ele aparece; também podem usar o menu /em. locationMessage personaliza o texto, mas é opcional.
Requisitos de Rastreio
Para que o rastreio de boss funcione na Prioridade 1 ou 2, o seguinte tem de estar configurado:
- Defina
announcementPrioritycomo 1 ou superior - Adicione opcionalmente
locationMessagepara personalizar o texto; se estiver ausente ou em branco, será usado$name: $distance blocks away! - Garanta que a configuração do servidor tem
showCustomBossLocationativado (predefinição: true)
O locationMessage pode incluir placeholders:
$name- Mostra o nome do boss$distance- Mostra a distância até ao destino de navegação$location- Mostra as coordenadas do destino de navegação
No mesmo mundo, o destino é o boss. Entre mundos, o rastreio pode apontar para a entrada de uma ligação direta por buraco de minhoca; se não existir uma, mostra a mensagem configurada para outro mundo.
Nível 2
Para Bosses Personalizados, o Nível 2 comporta-se de forma idêntica ao Nível 1 — não existe um caminho de código separado para a prioridade 2. Cada tipo de mensagem segue as mesmas regras nas prioridades 1 e 2:
- As mensagens de spawn são transmitidas para todo o servidor, a menos que
announcementBroadcastWorldOnly: trueesteja definido, caso em que vão apenas para os jogadores no mundo do boss. - As mensagens de morte são transmitidas para todo o servidor para qualquer prioridade de 1 ou superior.
- As mensagens de fuga são sempre enviadas apenas para os jogadores no mundo do boss para qualquer prioridade de 1 ou superior.
O rastreio também é ativado neste nível quando showCustomBossLocation está ativo.
Nota: O rastreio requer prioridade de anúncio de 1 ou superior e showCustomBossLocation; locationMessage é opcional.
Nível 3
O Boss Personalizado terá o mesmo comportamento do Nível 1 e também enviará mensagens para o canal do Discord configurado para receber notificações sobre o EliteMobs. A página sobre como configurar este recurso pode ser encontrada aqui. As mensagens no Discord serão as mesmas que as mensagens do chat - spawn/morte/fuga
Eventos personalizados usam um caminho diferente
Os eventos personalizados (customevents/*.yml) também têm um announcementPriority, mas as suas startMessage e endMessage passam por uma rotina diferente e mais simples. O seu comportamento é:
| Prioridade | Para onde vai a mensagem | Discord |
|---|---|---|
| 0 | Apenas jogadores no mundo do evento | Não |
| 1 | Todo o servidor, a menos que announcementBroadcastWorldOnly: true no events.yml, caso em que apenas o mundo do evento | Não |
| 2 | Apenas jogadores no mundo do evento (o ramo de transmissão para todo o servidor está escrito para a prioridade 1 exatamente) | Não |
| 3+ | Apenas jogadores no mundo do evento | Sim |
Portanto, para eventos — ao contrário dos bosses — a prioridade 2 não é a mesma que a prioridade 1, e prioridades de 3 ou superiores não transmitem para todo o servidor mesmo quando announcementBroadcastWorldOnly é false. O announcementPriority para eventos tem como predefinição o valor 0.
Tipos de Mensagem
Os bosses personalizados podem ter três tipos de anúncios:
- Mensagens de spawn (
spawnMessage) - Enviadas quando o boss faz spawn - Mensagens de morte (
deathMessage) - Enviadas quando o boss é morto - Mensagens de fuga (
escapeMessage) - Enviadas quando o boss desaparece/foge
Cada tipo de mensagem deve ser configurado separadamente no ficheiro do seu boss. O nível de prioridade de anúncio controla se estas mensagens são enviadas e quem as recebe.
doCustomEliteMobsDeathMessages em MobCombatSettings.yml (predefinição true) também tem de estar ativado para as mensagens de morte dos bosses. Uma lista deathMessages não vazia tem prioridade sobre o campo simples deathMessage. As linhas de classificação sem o atacante correspondente são omitidas.
Os placeholders são específicos de cada campo. locationMessage aceita $name, $distance e $location. As mensagens de spawn e fuga não substituem $name; escreva o nome do boss diretamente. Um deathMessage simples aceita $players e $playersName, enquanto os placeholders de classificação como $damager1name/$damager1Name pertencem à lista deathMessages.
Exemplo de Configuração
# 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'