Saltar para o conteúdo principal

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 showCustomBossLocation está 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​

As mensagens por si só não ativam anúncios públicos

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 announcementPriority como 1 ou superior
  • Adicione opcionalmente locationMessage para personalizar o texto; se estiver ausente ou em branco, será usado $name: $distance blocks away!
  • Garanta que a configuração do servidor tem showCustomBossLocation ativado (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: true esteja 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 é:

PrioridadePara onde vai a mensagemDiscord
0Apenas jogadores no mundo do eventoNão
1Todo o servidor, a menos que announcementBroadcastWorldOnly: true no events.yml, caso em que apenas o mundo do eventoNão
2Apenas 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 eventoSim

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'