Criar Bosses
Criar bosses personalizados
Antes de começares
Onde ficam os ficheiros dos bosses?
Os ficheiros dos bosses vão para a pasta de configuração ~/plugins/EliteMobs/custombosses.
É possível criar subpastas, como ~/plugins/EliteMobs/custombosses/mybosses. Isto é recomendado para manter tudo organizado.
Um ficheiro define um boss, embora seja possível spawnar o mesmo boss várias vezes e até definir vários locais de spawn para o mesmo ficheiro de boss.
Podes usar a webapp para criar bosses personalizados (e muito mais) de forma rápida e simples.
A configuração mais pequena possível
O ficheiro de configuração mais pequeno possível para um Custom Boss é:
Repara que isto é apenas um ficheiro vazio. Mesmo assim, vai spawnar um custom boss zombie com um nome personalizado, porque esses são os valores predefinidos. Tudo o que está nesta página é opcional!
Boss de exemplo
Vamos ver um exemplo do aspeto de um ficheiro de boss.
Exemplo
isEnabled: true
entityType: ZOMBIE
name: '&eTest boss'
level: dynamic
timeout: 10
isPersistent: false
healthMultiplier: 2.0
damageMultiplier: 0.5
helmet: GOLDEN_HELMET
chestplate: IRON_CHESTPLATE
leggings: LEATHER_LEGGINGS
boots: CHAINMAIL_BOOTS
mainHand: GOLDEN_AXE
offHand: SHIELD
isBaby: false
powers:
- invulnerability_knockback.lua
spawnMessage: A test boss has been spawned!
deathMessage: A test boss has been slain by $players!
escapeMessage: A test boss entity has escaped!
locationMessage: 'Test entity: $location'
uniqueLootList:
- magmaguys_toothpick.yml:1
dropsEliteMobsLoot: true
dropsVanillaLoot: true
trails:
- BARRIER
onDamageMessages:
- "I've hit you!"
onDamagedMessages:
- "I've been hit!"
Definições básicas
isEnabled
Define se o boss está ativado.
| Chave | Valores | Predefinição |
|---|---|---|
isEnabled | true / false | true |
Exemplo
isEnabled: true
entityType
Define o tipo de entidade do boss.
| Chave | Valores | Predefinição |
|---|---|---|
entityType | Escolhe daqui. O valor também tem de existir na pasta ~plugins/EliteMobs/mobproperties. | ZOMBIE |
Magma Cubes e Slimes
Como estes tipos de entidade não atacam os jogadores diretamente, mas causam dano por contacto, podem provocar picos grandes de dano em pouco tempo. Por causa disso, normalmente não recomendamos usá-los como Elite mobs com frequência. Ainda assim, se quiseres usá-los, sugerimos definir o damageMultiplier para cerca de 0.1.
Também recomendamos usar o seguinte EliteScript para impedir que Magma Cubes ou Slimes deixem os jogadores presos em stun-lock:
eliteScript:
NerfDamage:
Events:
- ZoneEnterEvent
- ZoneLeaveEvent
Zone:
shape: SPHERE
radius: 1
Target:
targetType: SELF
Actions:
- action: SET_MOB_AI
Target:
targetType: SELF
bValue: false
duration: 10
Exemplo
entityType: ZOMBIE
name
Define o nome do boss.
| Chave | Valores | Predefinição |
|---|---|---|
name | String, aceita color codes e os placeholders listados abaixo | "Default Name" |
Exemplo
name: "$normalLevel &cCool boss!"

Se quiseres incluir o nível do boss no campo do nome, basta usar um dos placeholders seguintes.
| Placeholder | Descrição | Exemplo | Resultado (para um boss de nível 10) |
|---|---|---|---|
$level | É substituído pelo nível | "$level Cool boss" | 10 Cool boss |
$normalLevel | É substituído pelo nível, feito para mobs normais | "$normalLevel Cool boss" | [10] Cool boss |
$minibossLevel | É substituído pelo nível, feito para minibosses | "$minibossLevel Cool boss" | 〖10〗 Cool boss |
$bossLevel | É substituído pelo nível, feito para bosses | "$bossLevel Cool boss" | 『10』 Cool boss |
$reinforcementLevel | É substituído pelo nível, feito para reforços | "$reinforcementLevel Cool boss" | 〔10〕 Cool Boss |
$eventBossLevel | É substituído pelo nível, feito para bosses de evento | "$eventBossLevel Cool boss" | 「10」 Cool boss |
Exemplo
name: "$normalLevel &cCool boss!"

level
Define o nível do boss.
| Chave | Valores | Predefinição |
|---|---|---|
level | Números Inteiros positivos ou dynamic | dynamic |
O dynamic é usado para eventos e ajusta-se ao nível dos jogadores próximos no momento do spawn do boss.
Não é recomendado para bosses regionais.
Exemplo
level: 1
scale
Define a escala (tamanho) do boss.
| Chave | Valores | Predefinição |
|---|---|---|
scale | Multiplicador | 1.0 |
Na escala, 1.0 representa o tamanho predefinido. Para tornar a entidade maior, aumenta o valor (ex.: 1.2). Para a tornar mais pequena, diminui o valor (ex.: 0.8).
Exemplo
scale: 1.2
bossType
Define o tipo do boss. Isto é usado para mostrar barras de vida do boss e outras funcionalidades.
| Chave | Valores | Predefinição |
|---|---|---|
bossType | NORMAL, MINIBOSS, BOSS, REINFORCEMENT, EVENT | NORMAL |
MINIBOSS, BOSS e EVENT fazem com que o plugin mostre barras de vida quando os jogadores estão a lutar contra esses tipos de boss.
Nota: o REINFORCEMENT é normalmente atribuído automaticamente aos mobs invocados como reforço, mas pode ser definido manualmente se for necessário.
Exemplo
bossType: MINIBOSS
silent
Define se os sons do boss devem ser silenciados.
| Chave | Valores | Predefinição |
|---|---|---|
silent | Booleano | false |
Quando definido como true, esta opção silencia todos os sons predefinidos de mob do Minecraft, fazendo com que o boss não produza som nenhum.
Exemplo
silent: true
healthMultiplier
Define a vida do boss. O valor desta definição também determina o tipo de barra de vida mostrada durante o combate. Valores mais altos mostram uma barra de mini-boss ou de boss completo.
| Chave | Valores | Predefinição |
|---|---|---|
healthMultiplier | Multiplicador | 1.0 |
A vida final é baseHealth × healthMultiplier, e esse produto é limitado ao settings.attribute.maxHealth.max do servidor, definido no spigot.yml. O EliteMobs eleva esse valor para 2048 no arranque se ele for menor, mas nunca acima disso, por isso 2048 é o teto efetivo num servidor predefinido.
A vida base segue 2.1875 × 2^(level / 5), ou seja, duplica a cada 5 níveis. Combinado com o limite, cada healthMultiplier tem um nível a partir do qual o boss deixa completamente de ganhar vida enquanto o seu dano continua a escalar:
healthMultiplier | A vida deixa de crescer ao nível |
|---|---|
1.0 | 50 |
2.0 | 45 |
5.0 | 38 |
7.0 | 36 |
10.0 | 33 |
20.0 | 28 |
40.0 | 23 |
Acima desse nível o boss fica mais frágil em relação ao seu próprio dano quanto mais o empurrares: o jogador mata-o no mesmo número de golpes, mas morre mais depressa. Quando o limite é acionado, o EliteMobs regista um aviso a nomear o boss, o seu nível e o multiplicador — vigia a consola ao afinar bosses de nível alto.
Se precisares genuinamente de mais de 2048 HP, aumenta tu mesmo o settings.attribute.maxHealth.max no spigot.yml; o limite lê o valor ativo do servidor, não uma constante fixa.
Exemplo
healthMultiplier: 1.5
damageMultiplier
Define o multiplicador de dano do boss.
| Chave | Valores | Predefinição |
|---|---|---|
damageMultiplier | Multiplicador | 1.0 |
Exemplo
damageMultiplier: 1.5
isBaby
Define se o boss usa a variante bebé do mob. Só pode ser aplicado a mobs que tenham variantes bebé. Se quiseres disfarçar o boss e ao mesmo tempo mantê-lo bebé enquanto está disfarçado (garante que a entidade do disfarce também suporta a variante bebé), podes usar esta definição:
disguise: HOGLIN:baby
| Chave | Valores | Predefinição |
|---|---|---|
isBaby | true / false | false |
Exemplo
isBaby: true
helmet/chestplate/leggings/boots/mainHand/offHand
Define a armadura do boss. Nem todos os modelos do Minecraft conseguem mostrar armadura. A armadura do boss é puramente cosmética e não afeta a jogabilidade.
| Chave | Valores | Predefinição |
|---|---|---|
helmet | Material, UUID | nenhum |
chestplate | Material | nenhum |
leggings | Material | nenhum |
boots | Material | nenhum |
mainHand | Material | nenhum |
offHand | Material | nenhum |
Nota: este campo também permite definir modelos personalizados para itens. Para definir o ID do modelo personalizado, acrescenta o ID depois do tipo de material com este formato: ITEM_MATERIAL:ID. Exemplo: DIAMOND_SWORD:1 faz o boss usar uma espada de diamante com o modelo personalizado #1 do teu texture pack.
Nota 2: este campo também permite definir cores personalizadas de cabedal com o formato ITEM_MATERIAL:CODE, em que o código é a representação hexadecimal da cor. Exemplo: LEATHER_LEGGINGS:ffa500 cria calças laranja. Podes usar códigos hexadecimais, basta remover o # do código. Podes obter códigos hexadecimais aqui.
Nota 3: o campo helmet também permite definir cabeças de jogador como capacete do mob. Basta obteres o UUID da cabeça de jogador que queres usar e escrevê-lo no campo helmet. O jogador tem de estar online para isto funcionar, caso contrário a cabeça fica com o aspeto genérico do MineCraft. Podes obter UUIDs de jogadores aqui.
Exemplo
helmet: 198c4123-cafc-45df-ba79-02a421eb8ce7
chestplate: DIAMOND_CHESTPLATE:1
leggings: LEATHER_LEGGINGS:ffa500
boots: NETHERITE_BOOTS
mainHand: DIAMOND_SWORD
offHand: SHIELD

powers
Define os poderes que o boss tem.
| Chave | Valores | Predefinição |
|---|---|---|
powers | Consulta a lista abaixo | nenhum |
Exemplo
powers:
- hyper_loot.lua
- attack_arrow.lua
- mycoolpower.lua
Nota: podes consultar esta página se quiseres ver uma lista de poderes pré-feitos que podes usar.
Nota: os poderes podem ser ficheiros .yml (EliteScript) ou ficheiros .lua (scripts Lua). Ambos os tipos são suportados e podem ser misturados livremente na lista powers. Quase todos os poderes pré-feitos são agora .lua.
.yml continuam a funcionarSe existir um poder .lua com o mesmo nome base, o EliteMobs resolve automaticamente um pedido .yml para esse ficheiro. As configurações de boss escritas antes da migração para Lua continuam a funcionar sem alterações — o attack_arrow.yml carrega de forma transparente o attack_arrow.lua. As novas configurações devem indicar diretamente o ficheiro .lua.
Configuração intermédia - Spawnar reforços
Os reforços também entram na categoria dos poderes, usando as seguintes definições:
Nota: os reforços são configurados dentro da secção powers do ficheiro de configuração do boss, e não numa secção separada.
Definições dos reforços
| Chave | Descrição | Valores | Predefinição |
|---|---|---|---|
summonType | O que desencadeia o spawn do reforço. Obrigatório. | Consulta a lista abaixo | nenhum |
filename | Nome do ficheiro do boss a spawnar como reforço. Obrigatório. | String | nenhum |
chance | Probabilidade de o reforço spawnar. Opcional. | Double | 1.0 |
amount | Define a quantidade de reforços a spawnar. Opcional. | Inteiro | 1 |
inheritAggro | Faz o reforço herdar o aggro do boss. Opcional. | true / false | false |
spawnNearby | Faz os reforços spawnarem numa área de 30x30 blocos (±15 blocos em X e Z) à volta do ponto de spawn. Opcional. | true / false | false |
inheritLevel | Faz o reforço herdar o nível do boss. Opcional | true / false | false |
customSpawn | Faz o reforço spawnar usando o sistema de spawns personalizados. Só é usado com summonType: GLOBAL | Nome do ficheiro de Custom Spawn | nenhum |
location | Deslocamento de spawn relativo. Opcional. | x,y,z — é sempre um deslocamento relativo ao boss. Nos bosses regionais, o deslocamento é relativo ao local de spawn. | nenhum |
lightningRod | Definição especial para summonType: ON_COMBAT_ENTER_PLACE_CRYSTAL. Faz com que os end crystals gerem relâmpagos à sua volta. Opcional. | true / false | false |
difficultyID | Restringe a entrada a dificuldades de masmorra instanciada específicas. Opcional. | String ou lista de strings | nenhum |
Os tipos de invocação definem as condições em que os reforços spawnam. Segue-se uma lista dos tipos de invocação válidos:
Tipos de invocação
| Valor | Descrição |
|---|---|
ONCE | Só spawna os reforços uma vez, na primeira vez que o boss recebe dano. |
ON_HIT | Spawna os reforços quando o boss é atingido. |
ON_COMBAT_ENTER | Spawna os reforços quando o boss entra em combate. |
ON_DEATH | Spawna reforços quando o boss morre. |
GLOBAL | Spawna repetidamente reforços perto de cada jogador que esteja no mesmo mundo do boss, a cada 10 segundos, com um limite de 30 reforços globais vivos por jogador nesse mundo. Exige que a chave customSpawn tenha um custom spawn válido definido. |
ON_COMBAT_ENTER_PLACE_CRYSTAL | Coloca end crystals como reforços ao entrar em combate; destina-se apenas a lutas personalizadas contra dragões. |
Nota que também é possível spawnar reforços através de Elite Scripts, pelo que existem formas ainda mais personalizáveis de spawnar reforços.
Exemplo
powers:
- summonType: ON_COMBAT_ENTER
filename: test_boss.yml
chance: 0.5
amount: 5
inheritAggro: true
spawnNearby: true
inheritLevel: true
location: 10,20,30
lightningRod: false
Configuração avançada - Criar os teus próprios poderes
É possível criares os teus próprios poderes, quer no próprio ficheiro do boss, quer como um novo ficheiro de configuração na pasta dos poderes. Podes saber mais sobre isso aqui.
Nota: também podes definir comportamentos do boss diretamente no ficheiro de configuração do boss através do campo eliteScript. Para a documentação completa sobre a utilização de Elite Scripts, consulta o guia de poderes.
Como alternativa ao EliteScript, também podes escrever poderes com scripts Lua. Os poderes Lua são colocados na pasta dos poderes com a extensão .lua e referenciados pelo nome do ficheiro na lista powers. Consulta o guia Primeiros Passos em Lua para mais informação.
Limitar poderes com base na dificuldade da masmorra instanciada
As masmorras instanciadas podem ter definições de dificuldade, e é possível fazer com que um poder específico só esteja ativo em determinadas dificuldades.
Opções de limitação de poderes
Isto só se aplica a masmorras instanciadas.
Exemplo
powers:
- filename: movement_speed.lua
difficultyID:
- myDifficultyName1
- myDifficultyName2
- myDifficultyName3
spawnMessage
Define a mensagem a enviar quando o boss spawna. Requer a configuração do announcementPriority.
| Chave | Valores | Predefinição |
|---|---|---|
spawnMessage | Strings e color codes | nenhum |
Exemplo
announcementPriority: 3
spawnMessage: I rise once more!
deathMessages
Define a lista de mensagens a enviar quando o boss morre. Requer a configuração do announcementPriority.
| Chave | Valores | Predefinição |
|---|---|---|
deathMessages | Strings, color codes e os placeholders abaixo | nenhum |
Exemplo
announcementPriority: 3
deathMessages:
- '&e&l---------------------------------------------'
- '&4The Test Boss has been killed!'
- '&c&l 1st Damager: $damager1name &cwith $damager1damage damage!'
- '&6&l 2nd Damager: $damager2name &6with $damager2damage damage!'
- '&e&l 3rd Damager: $damager3name &ewith $damager3damage damage!'
- '&4Slayers: $players'
- '&e&l---------------------------------------------'

As mensagens de morte usam os seguintes placeholders:
Placeholders
| Valor | Descrição |
|---|---|
$damager1name | O nome de quem causou mais dano |
$damager2name | O nome de quem causou o segundo maior dano |
$damager3name | O nome de quem causou o terceiro maior dano |
$damager1damage | A quantidade de dano de quem causou mais dano |
$damager2damage | A quantidade de dano de quem causou o segundo maior dano |
$damager3damage | A quantidade de dano de quem causou o terceiro maior dano |
$players | Mostra uma lista de todos os que causaram dano |
deathMessage
Define uma única mensagem a enviar quando o boss morre. É uma alternativa a deathMessages para quando só precisas de uma mensagem de morte em vez de uma lista. Requer a configuração do announcementPriority.
| Chave | Valores | Predefinição |
|---|---|---|
deathMessage | String, color codes e os mesmos placeholders de deathMessages | nenhum |
Exemplo
announcementPriority: 3
deathMessage: '&4The Test Boss has been killed by $players!'
onKillMessage
Define a mensagem a enviar quando o boss mata um jogador. Requer a configuração do announcementPriority.
| Chave | Valores | Predefinição |
|---|---|---|
onKillMessage | Strings e color codes | nenhum |
Placeholders:
| Valor | Descrição |
|---|---|
$player | O nome de exibição do jogador que foi morto |
$playerName | O nome de utilizador do jogador que foi morto |
Exemplo
announcementPriority: 3
onKillMessage: I win, you lose!
slimeSize
Define o tamanho do boss slime, mas só funciona com Slimes e Magmacubes.
| Chave | Valores | Predefinição |
|---|---|---|
slimeSize | Inteiro | 4 |
Exemplo
slimeSize: 5
neutral
Define se o boss vai spawnar como neutro ou não. Isto só se aplica a tipos de entidade que podem ser neutros, como Lobos ou Iron Golems.
| Chave | Valores | Predefinição |
|---|---|---|
neutral | Booleano | false |
Exemplo
neutral: true
Definições avançadas
timeout
Define o tempo, em minutos, até o Custom Boss desaparecer.
| Chave | Valores | Predefinição |
|---|---|---|
timeout | Tempo (em minutos) Inteiro | 0 |
Exemplo
timeout: 20
Faz o boss escapar ao fim de 20 minutos.
isPersistent
Define se o boss consegue sobreviver ao descarregamento de um chunk. Só é recomendado para bosses de evento, devido ao possível impacto no desempenho causado pelo carregamento persistente de chunks e pelo rastreio de entidades entre reinícios do servidor.
| Chave | Valores | Predefinição |
|---|---|---|
isPersistent | true / false | false |
Exemplo
Exemplo:
isPersistent: true
damageModifiers
Define as armas contra as quais os bosses podem ser fortes ou fracos.
| Chave | Valores | Predefinição |
|---|---|---|
damageModifiers | Material | nenhum |
Exemplo
damageModifiers:
- material:DIAMOND_SWORD,multiplier:0.8
- material:TRIDENT,multiplier:2.0
Neste exemplo, os bosses só recebem 80% do dano de espadas de diamante (ou seja, menos 20%), mas recebem 200% do dano de tridentes (ou seja, 2x mais).
normalizedCombat
Modifica o dano e a vida máxima do boss para corresponderem aos valores da entidade normalizada em ~/plugins/EliteMobs/mobproperties. Esta é a predefinição para bosses regionais, para garantir uma curva de dificuldade suave.
| Chave | Valores | Predefinição |
|---|---|---|
normalizedCombat | true / false | false |
Exemplo
Exemplo:
normalizedCombat: true
scaledCombat
Define se o boss usa o sistema de combate escalado. Quando ativado, o boss simula ter o mesmo nível do jogador que o está a enfrentar -- o dano, a escala de vida e o loot adaptam-se todos ao nível de progressão do jogador em vez do nível guardado do boss. Isto faz com que o confronto pareça igualmente justo para todos os jogadores, independentemente da sua progressão.
O combate escalado foi pensado sobretudo para bosses de evento no overworld e para custom bosses que devem ser acessíveis a jogadores de qualquer nível. Para conteúdo de masmorra com uma dificuldade fixa pretendida, usa antes o normalizedCombat.
Quando scaledCombat: true está definido, tem prioridade mesmo que o boss viesse a usar combate normalizado. Os elite mobs que spawnam naturalmente usam combate escalado por predefinição (controlado pela definição useScaledCombatForNaturalElites no MobCombatSettings.yml).
Consulta a página Sistema de Dano para todos os detalhes sobre o funcionamento do combate escalado.
| Chave | Valores | Predefinição |
|---|---|---|
scaledCombat | true / false | false |
Exemplo
scaledCombat: true
escapeMessage
Define a mensagem que é transmitida aos jogadores quando o boss escapa através do mecanismo de timeout. Requer que o announcementPriority esteja configurado.
| Chave | Valores | Predefinição |
|---|---|---|
escapeMessage | String | nenhum |
Exemplo
announcementPriority: 3
timeout: 60
escapeMessage: "Sayonara!"
locationMessage
Define a mensagem mostrada na barra do boss. É usada para acompanhar tanto a vida do Custom Boss como a sua localização no servidor. Requer que o announcementPriority esteja configurado.
| Chave | Valores | Predefinição |
|---|---|---|
locationMessage | String, Color codes e os placeholders listados abaixo | nenhum |
Placeholders:
| Valor | Descrição |
|---|---|
$distance | É substituído pela distância a que o jogador está do Custom Boss. Esta é a opção preferível. |
$location | É substituído pelas coordenadas x y z da localização do Custom Boss |
Exemplo
announcementPriority: 3
locationMessage: "&4Cool boss: At $location only $distance blocks away!"

Isto mostraria algo como Cool boss: At 414,55,347 only 10 blocks away!
uniqueLootList
Define os Itens Personalizados que o boss larga.
| Chave | Valores | Predefinição |
|---|---|---|
uniqueLootList | List | nenhum |
As entradas de loot no Custom Loot seguem o formato das Loot Tables. Informação sobre isso aqui! Repara que alguns ficheiros mais antigos podem estar a usar loot tables desatualizadas, com um aspeto diferente do exemplo.
Exemplo
uniqueLootList:
- filename: magmaguys_toothpick.yml
chance: 0.02
- minecraft:type=DIAMOND:amount=1:chance=0.9
- magmaguys_toothpick.yml:0.5:elitemobs.*
dropsEliteMobsLoot
Define se o boss larga loot do EliteMobs, excluindo os itens da uniqueLootList. Inclui moedas.
| Chave | Valores | Predefinição |
|---|---|---|
dropsEliteMobsLoot | true / false | true |
Recomenda-se definir como false para mobs de reforço.
Exemplo
dropsEliteMobsLoot: true
dropsVanillaLoot
Define se o Custom Boss larga o loot vanilla normalmente associado ao seu tipo de mob vanilla.
| Chave | Valores | Predefinição |
|---|---|---|
dropsVanillaLoot | true / false | true |
Exemplo
dropsVanillaLoot: true
dropsRandomLoot
Define se o Custom Boss larga loot gerado proceduralmente pelo EliteMobs. Não inclui elite coins.
| Chave | Valores | Predefinição |
|---|---|---|
dropsRandomLoot | true / false | true |
Exemplo
dropsRandomLoot: true
dropsSkillXP
Define se o boss larga XP de perícia ao ser morto. A XP de perícia é usada pelo sistema de bónus de perícia de armas.
| Chave | Valores | Predefinição |
|---|---|---|
dropsSkillXP | true / false | true |
Recomenda-se definir como false para mobs de reforço ou bosses que não devam contribuir para a progressão de perícias.
Exemplo
dropsSkillXP: false
trails
Define o rasto que o boss deixa para trás quando se move.
| Chave | Valores | Predefinição |
|---|---|---|
trails | Partículas ou materiais de item | nenhum |
Só as partículas que não precisam de dados adicionais funcionam como rastos de boss (ou seja, todas as "partículas simples" da lista de partículas válidas). Partículas como BLOCK, DUST, ITEM, etc., são ignoradas em silêncio. Nomes de materiais criam antes um rasto animado de itens.
Exemplo
trails:
- CLOUD
onDamageMessages
Define a mensagem que o Boss Mob mostra quando atinge um jogador. É uma lista, e a mensagem usada é escolhida aleatoriamente dessa lista.
| Chave | Valores | Predefinição |
|---|---|---|
onDamageMessages | List | nenhum |
Exemplo
onDamageMessages:
- "I hit you!"
- "Haha I hit you!"

onDamagedMessages
Define a mensagem que o Boss Mob mostra quando recebe dano de um jogador. É uma lista, e a mensagem usada é escolhida aleatoriamente dessa lista.
| Chave | Valores | Predefinição |
|---|---|---|
onDamagedMessages | List | nenhum |
Exemplo
onDamagedMessages:
- "You hit me!"
- "I've been hit!"

mountedEntity
Define a entidade que o boss vai montar.
| Chave | Valores | Predefinição |
|---|---|---|
mountedEntity | Nome do ficheiro do boss a montar ou tipo de entidade | nenhum |
Não tentes fazer o boss montar-se a si próprio.
Exemplo
mountedEntity: wild_wolf.yml

Nota: os bosses regionais partilham a sua trela com a entidade que estão a montar, o que significa que ambos são arrastados de volta ao local de spawn se ultrapassarem a distância permitida pela trela.
announcementPriority
Define o nível de prioridade dos anúncios. Prioridades mais baixas significam que não são feitos anúncios; prioridades mais altas permitem anunciar não só no chat, mas também no Discord, se estiver configurado.
| Chave | Valores | Predefinição |
|---|---|---|
announcementPriority | Inteiro | 0 |
Nota: se a chave estiver em falta num ficheiro de boss que tenha texto de anúncio (locationMessage, spawnMessage, deathMessage, escapeMessage ou uma lista deathMessages não vazia), o EliteMobs escreve announcementPriority: 0 no ficheiro ao carregá-lo, para que a definição fique visível e fácil de aumentar. O boss continua a comportar-se como prioridade 0 até a alterares.
Aqui está uma lista do que as prioridades fazem:
| Valor | Descrição |
|---|---|
0 | Esta é a predefinição. O boss fica completamente silencioso, sem mensagens de anúncio. |
1 | Os bosses podem enviar mensagens de chat, mensagens ao spawnar, ao morrer e ao escapar. O rastreio do boss através do menu /em também é ativado aqui, se houver um locationMessage definido. |
2 | Idêntico a 1 para Custom Bosses — não existe um caminho de código separado para a prioridade 2. (Os eventos personalizados tratam mesmo o 2 de forma diferente; consulta Sistema de Prioridade de Anúncios.) |
3 | Além do que está em 1, as mensagens de broadcast são espelhadas no Discord, se estiver configurado. Informação sobre a configuração do Discord aqui. |
Aqui está um exemplo de um boss que é rastreável e que consegue enviar mensagens de spawn/morte/fuga no chat e no Discord:
Exemplo
announcementPriority: 3
Nota: terás de configurar o spawnMessage, o deathMessage/deathMessages e o escapeMessage para os anúncios de chat e Discord, e o locationMessage para a funcionalidade de rastreio, se quiseres usar o nível de Prioridade de Anúncio correspondente.
Nota: quando existe algum conteúdo de anúncio (spawnMessage, deathMessage, deathMessages, escapeMessage, etc.), o announcementPriority assume automaticamente o valor 1 se não for definido explicitamente.
followDistance
Define a distância a que os bosses ganham aggro e entram em combate. É medida a partir do próprio mob.
| Chave | Valores | Predefinição |
|---|---|---|
followDistance | Inteiro | 0 |
Nota 1: os bosses regionais têm metade do followDistance quando estão fora de combate. Isto evita que ganhem aggro de demasiado longe, o que pode causar problemas de combate irritantes devido às restrições da trela.
Nota 2: quanto maior for o followDistance, mais exigente para o CPU do servidor o boss se torna. Usa com cuidado e responsabilidade!
Exemplo
followDistance: 30
Define um alcance de 30 blocos: se um jogador entrar nessa distância perto do boss, ele começa a persegui-lo/atacá-lo.
onDeathCommands
Define a lista de comandos a executar quando o custom boss morre.
| Chave | Valores | Predefinição |
|---|---|---|
onDeathCommands | List | nenhum |
A lista suporta os seguintes placeholders:
| Valor | Descrição |
|---|---|
$level | Placeholder para o nível do boss. |
$name | Placeholder para o nome do boss. |
$chance=x$ | Faz com que um comando tenha uma probabilidade de ser executado. |
$players | Faz o comando correr uma vez por cada jogador da lista de quem causou dano, substituindo de cada vez pelo nome de utilizador de um jogador diferente dessa lista. |
$locationX | Coordenada X do boss no momento da morte. |
$locationY | Coordenada Y do boss no momento da morte. |
$locationZ | Coordenada Z do boss no momento da morte. |
$damager1name | Nome de utilizador de quem causou mais dano |
$damager2name | Nome de utilizador de quem causou o segundo maior dano |
$damager3name | Nome de utilizador de quem causou o terceiro maior dano |
Vê o exemplo abaixo para perceberes melhor como estes funcionam.
Exemplo
onDeathCommands:
- "say $players has killed $name! That was level $level!"
- "$chance=0.5$ say What a kill!"

Se o Player1, o Player2 e o Player3 tiverem todos causado dano ao boss antes de o matarem, este é o resultado que o comando vai produzir na consola:
say Player1 has killed CustomBossName! That was level X!
say Player2 has killed CustomBossName! That was level X!
say Player3 has killed CustomBossName! That was level X!
Além disso, há 50% de probabilidade de também ser produzido o seguinte:
say What a kill!
onSpawnCommands
Define a lista de comandos que vão correr quando o boss spawna.
| Chave | Valores | Predefinição |
|---|---|---|
onSpawnCommands | List | nenhum |
Isto usa os mesmos placeholders do onDeathCommands! Os placeholders de dano não se aplicam, porque nessa altura ainda não houve ninguém a causar dano.
Exemplo
onSpawnCommands:
- say Boss has spawned!

onCombatEnterCommands
Define a lista de comandos que vão correr quando o boss entra em combate.
| Chave | Valores | Predefinição |
|---|---|---|
onCombatEnterCommands | List | nenhum |
Isto usa os mesmos placeholders do onDeathCommands! Os placeholders de dano não se aplicam, porque nessa altura ainda não houve ninguém a causar dano.
Exemplo
onCombatEnterCommands:
- say Boss has entered combat!

onCombatLeaveCommands
Define a lista de comandos a executar quando o boss sai de combate.
| Chave | Valores | Predefinição |
|---|---|---|
onCombatLeaveCommands | List | nenhum |
Isto usa os mesmos placeholders do onDeathCommands!
Exemplo
onCombatLeaveCommands:
- say Boss has left combat!

disguise
Define o disfarce do LibsDisguises, se esse plugin estiver ativado. Mais informação aqui.
| Chave | Valores | Predefinição |
|---|---|---|
disguise | String | nenhum |
customDisguiseData | String | nenhum |
Exemplo de disfarce
disguise: CHICKEN

Exemplo de disfarce personalizado
disguise: custom:the_beast_sanctuary_beast
customDisguiseData: player the_beast_sanctuary_beast setskin {"id":"44e6d42b-bd8d-4e48-873b-fae7afed36e4","name":"Unknown","properties":[{"name":"textures","value":"ewogICJ0aW1lc3RhbXAiIDogMTY2NjcwNjYwODA1MCwKICAicHJvZmlsZUlkIiA6ICI3MmY5MTdjNWQyNDU0OTk0YjlmYzQ1YjVhM2YyMjIzMCIsCiAgInByb2ZpbGVOYW1lIiA6ICJUaGF0X0d1eV9Jc19NZSIsCiAgInNpZ25hdHVyZVJlcXVpcmVkIiA6IHRydWUsCiAgInRleHR1cmVzIiA6IHsKICAgICJTS0lOIiA6IHsKICAgICAgInVybCIgOiAiaHR0cDovL3RleHR1cmVzLm1pbmVjcmFmdC5uZXQvdGV4dHVyZS82YmYyMTY4NmM1MGQ1ODhmZmExMDZhZDdjNmViZTk1ZWZiMjE2NDU5ODRjZDFjZWYwODkzNDc4NzMzNmI2YTI3IiwKICAgICAgIm1ldGFkYXRhIiA6IHsKICAgICAgICAibW9kZWwiIDogInNsaW0iCiAgICAgIH0KICAgIH0KICB9Cn0=","signature":"jSsQvpUeWVtyqjtnydPadormkrZLVihetiX4dFQb3+BF/1x6wOgsNKRnnwj6J1mfu2im79LYEJbL+fQ9p1SJIW1uZ6hV7vPSAGUopyXGHNibNXorfV/dGjM77S0t86Jls50XWgJAnLn5RdhQcHahDAHHZ8to6K0HW5gvKKSalR5X/myaiV0E5ujJ+LUFWIiuDmtsmyxTX1zsohyYrVMo/4sD0DpBN+as95wO476gLb5fDTDV569QwExlDOt60W8qSzPw6ncYsOKJIiRE3EddspUm3/NrfDiKApUh8UbzVtwu1XlVAxWNgYN3PkqhWKuE4kvORQuoSJzOgSHkiqdXsQOED2HXfOKdfsnpZUwjepIU5A+/mu0gc3mPQPToKSss2bC1nXn//0bOZZSuQRgTS6PkKDHIQ1nClSZQZlJIsiLmaaN2k1tIHTIlDquKN6G1Ta9c3t6G5kugjqRo78ebbt7l3e0Z3BcdOkuO2WbvBjIg5Uiqyf+cYDZedJ+OEOqL/U6VVlsmbw0rd5deHrbnPn9cRzmWGjrXnxIlAszl+0Uqabj/BrkWcbBCwZJEPaV1hHpC4nJX1m5xvKZHB2Bw0AYWaQ3f3tRBbCA/xqwCS0Px1QohzV0nvtiMbjB38ziT1M5DgLtAVLcHPio7THZMxXAi4IjEIMac9ODbh5OxthA="}],"legacy":false}

Define um disfarce personalizado a partir do skindex. Consulta esta página para saberes como formatar corretamente estes dados.
customModel
Define o modelo personalizado a usar, se tiveres um modelo personalizado e os plugins FreeMinecraftModels ou ModelEngine. Mais informação sobre como criar e usar modelos personalizados aqui.
| Chave | Valores | Predefinição |
|---|---|---|
customModel | String | nenhum |
Exemplo
customModel: your_model
customModelMountPointID
Define o ID do ponto de montagem para modelos personalizados quando o boss está a montar ou a ser montado por outra entidade.
| Chave | Valores | Predefinição |
|---|---|---|
customModelMountPointID | String | nenhum |
Exemplo
customModelMountPointID: your_mount_point_id
frozen
Define se o boss se pode mover. Os bosses congelados continuam a poder atacar.
Nota: isto pode não funcionar em algumas entidades.
| Chave | Valores | Predefinição |
|---|---|---|
frozen | true / false | false |
Exemplo
frozen: true
ai
Define se o boss tem a IA ativada. Quando definido como false, o boss não se move nem ataca por iniciativa própria. Isto é útil para bosses controlados inteiramente através de Elite Scripts.
| Chave | Valores | Predefinição |
|---|---|---|
ai | true / false | true |
Exemplo
ai: false
alwaysShowName
Define se o boss mostra sempre a etiqueta de nome por cima da cabeça. Por predefinição, as etiquetas de nome dos bosses só aparecem durante o combate. Esta definição substitui esse comportamento para este boss em concreto, tornando a etiqueta de nome sempre visível.
| Chave | Valores | Predefinição |
|---|---|---|
alwaysShowName | true / false | false |
Exemplo
alwaysShowName: true
reinforcement
Define se o boss é um reforço. Os bosses de reforço não são inicializados como bosses regionais durante o arranque e destinam-se apenas a ser spawnados como reforços por outros bosses.
| Chave | Valores | Predefinição |
|---|---|---|
reinforcement | true / false | false |
Exemplo
reinforcement: true
song
Define a música que um boss vai tocar, começando quando spawna. Requer que o ficheiro .ogg da música esteja no resource pack.
| Chave | Valores | Predefinição |
|---|---|---|
song | String | nenhum |
Nota: a definição song requer que o followDistance esteja definido, uma vez que é o followDistance que determina o alcance a partir do qual a música começa a tocar.
Vê o exemplo para saberes como definir o length (em milissegundos) da song.
Exemplo
Há duas formas de configurar músicas. Esta é a primeira:
song: name=elitemobs:ice_queen.idle length=76370
Isto vai tocar a música ice_queen.idle durante 76370 milissegundos e depois repeti-la em loop. Nota que a localização da música é determinada pelo resource pack.
Esta é a segunda forma de configurar músicas:
song: name=elitemobs:ice_queen.end_transition length=14328->name=elitemobs:ice_queen.end_loop length=28657
Isto vai tocar a música ice_queen.end_transition durante 14328 milissegundos, depois passar para ice_queen.end_loop durante 28657 milissegundos e repetir o end_loop em loop.
Isto permite que os bosses tenham uma música de "intro" ou de "transição" e depois uma faixa principal em loop.
cullReinforcements
Define se os reforços do boss são removidos quando o boss morre.
| Chave | Valores | Predefinição |
|---|---|---|
cullReinforcements | true / false | true |
Exemplo
cullReinforcements: true
movementSpeedAttribute
Define a velocidade de movimento do boss.
Nota: qualquer valor acima de 0.36 pode ser demasiado rápido.
| Chave | Valores | Predefinição |
|---|---|---|
movementSpeedAttribute | Double | nenhum |
Exemplo
movementSpeedAttribute: 0.3
Fases do boss
Os bosses podem ter fases que mudam quando o boss atinge uma determinada percentagem de vida. Quando isso acontece, o boss passa a usar um ficheiro de configuração diferente, o que significa que tudo no boss pode mudar, incluindo coisas como o tipo de entidade.
Para saberes mais sobre fases de boss, clica aqui.
| Chave | Descrição | Valores | Predefinição |
|---|---|---|---|
phases | Define as fases que o boss vai ter. Obrigatório | List | nenhum |
phaseSpawnLocation | Define onde a fase do boss spawna. Opcional | String | nenhum |
Exemplo
Para este exemplo, vamos mostrar três ficheiros de configuração diferentes.
Primeiro ficheiro de configuração do boss: phase_1_boss.yml
name: "Phase 1"
entityType: ZOMBIE
phases:
- phase_2_boss.yml:0.60
- phase_3_boss.yml:0.30
Segundo ficheiro de configuração do boss: phase_2_boss.yml
name: "Phase 2"
entityType: SKELETON
Terceiro ficheiro de configuração do boss: phase_3_boss.yml
name: "Phase 3"
phaseSpawnLocation: same_as_boss,10,64,100,0,0
entityType: RAVAGER
Este boss mudaria para o ficheiro de configuração phase_2_boss.yml aos 60% de vida, e para o ficheiro de configuração phase_3_boss.yml aos 30% de vida, no mesmo mundo da fase 2 e nas coordenadas x=10, y=64 e z=100. O tipo de entidade e o nome do boss também mudariam.
O formato de uma entrada é filename:healthPercentage.
O phaseSpawnLocation é opcional; se não estiver definido, o boss muda de fase no sítio onde está.
Há coisas importantes a saber quando se desenha um boss com fases:
- O ficheiro de configuração da primeira fase define todas as fases do boss.
- A ameaça / dano contabilizado é mantido entre fases para os jogadores.
- A mudança de fase baseia-se na percentagem de vida perdida, que é preservada ao mudar para uma fase diferente. Isto significa que aumentar ou diminuir o
healthMultiplierentre fases não cura nem causa dano ao boss: ele continua a mudar com a mesma percentagem, mas terá mais ou menos vida nessa fase. - Os bosses com fases voltam à fase 1 se saírem de combate.
- Os bosses com fases que também são bosses regionais partilham o mesmo raio de trela e o mesmo mecanismo de timeout em todas as fases, e voltam a spawnar como o boss da fase 1 quando o temporizador termina.
- O ficheiro de configuração da última fase define o loot do boss.
- As fases não podem ser saltadas — o dano em excesso continua a fazer o boss mudar de fase na percentagem definida.
- Os bosses com fases que tenham montadas deixam de estar montados ao mudarem de fase.
Bosses regionais
Os bosses regionais são um tipo específico de Custom Bosses que spawnam num local configurado e conseguem voltar a spawnar nesse local após um atraso. Além disso, podem ter trelas que garantem que ficam numa zona específica, entre outras funcionalidades.
São usados em todo o conteúdo de masmorras. Para saberes mais sobre bosses regionais, clica aqui.
| Chave | Descrição | Valores | Predefinição |
|---|---|---|---|
isRegionalBoss | Define se o boss é regional. Deve ser true se quiseres um boss regional. | true / false | false |
spawnLocations | Define os locais de spawn do boss. | Adiciona-os através do comando /em place boss [filename.yml]! | nenhum |
spawnCooldown | Define o tempo de espera para o boss voltar a spawnar, em minutos. | Inteiro | 0 |
leashRadius | Define a distância que o boss pode percorrer a partir do ponto de spawn antes de ser puxado de volta. Medida a partir do spawn. | Double | nenhum |
onSpawnBlockStates | Define os blocos que o boss vai modificar quando spawna. | Vê os comandos abaixo | nenhum |
onRemoveBlockStates | Define os blocos que o boss vai modificar quando desaparece. | Vê os comandos abaixo | nenhum |
Como indicado, os Bosses Regionais podem ter onSpawnBlockStates e onRemoveBlockStates.
Esta é uma funcionalidade muito útil para modificar arenas de combate durante o combate, sobretudo quando combinada com mudanças de fase, uma vez que passa a ser possível abrir e fechar arenas de combate alterando estados de blocos.
O formato destas definições é demasiado complexo para se escrever à mão, por isso existem alguns comandos que ajudam a configurá-las:
| Comando | Descrição |
|---|---|
| /em transitiveBlocks register [regional_boss_file.yml] [on_spawn/on_remove] | Começa a registar seleções manuais de blocos para os estados de spawn ou de remoção. |
| /em transitiveBlocks edit [regional_boss_file.yml] [on_spawn/on_remove] | Edita os estados de blocos de spawn ou de remoção. |
| /em transitiveBlocks registerArea [regional_boss_file.yml] [on_spawn/on_remove] | Permite aos administradores selecionar grandes áreas de blocos para guardar como estados. |
| /em transitiveBlocks editArea [regional_boss_file.yml] [on_spawn/on_remove] | Permite aos administradores editar grandes áreas de blocos para guardar como estados. |
Exemplo de utilização:
Imagina que queres criar um combate em que um boss spawna numa arena que tem uma porta aberta, e queres que a porta se feche quando o combate começa e volte a abrir quando o combate termina.
Para isso, vais precisar de duas fases de boss e de registar três conjuntos diferentes de estados de blocos. Neste exemplo, vou chamar a essas fases phase_1_boss.yml e phase_2_boss.yml, respetivamente.
- Usa
/em transitiveBlocks register phase_1_boss.yml on_spawnou/em transitiveBlocks edit phase_1_boss.yml on_spawnpara registar os blocos da porta no estado aberto.
Isto significa registar os blocos de ar. Recomenda-se aqui a seleção por área.
Isto é necessário para garantir que a porta está aberta quando o boss spawna, para que os jogadores tenham sempre forma de entrar.
- Usa
/em transitiveBlocks register phase_2_boss.yml on_spawnou/em transitiveBlocks edit phase_2_boss.yml on_spawnpara registar os blocos da porta no estado fechado.
Isto significa registar os blocos sólidos da porta que impediriam o jogador de sair.
Isto é necessário para tornar a porta sólida quando o boss entra na fase 2, impedindo os jogadores de sair.
- Usa
/em transitiveBlocks register phase_2_boss.yml on_removeou/em transitiveBlocks edit phase_2_boss.yml on_removepara registar os blocos da porta no estado aberto.
Isto significa voltar a registar os mesmos blocos do primeiro passo (os blocos de ar).
Isto é necessário para abrir a porta quando o boss morre, permitindo aos jogadores sair da arena.
alert
Define se o boss está alerta. Por predefinição, os Bosses Regionais ficam mais lentos e têm uma distância de aggro mais curta quando estão fora de combate. Esta definição impede que os Bosses Regionais fiquem mais lentos e com uma distância de aggro mais curta fora de combate, pelo que se comportam sempre da mesma forma, dentro ou fora de combate.
| Chave | Valores | Predefinição |
|---|---|---|
alert | Booleano | false |
Exemplo
alert: true
removeAfterDeath
Define se o Boss Regional é eliminado permanentemente depois de ser morto. É isto que o BetterStructures usa nos Shrines, em que o Boss Regional foi desenhado para ser enfrentado apenas uma vez e nunca mais nesse local.
| Chave | Valores | Predefinição |
|---|---|---|
removeAfterDeath | Booleano | false |
Exemplo
removeAfterDeath: true
Bosses instanciados
Os bosses instanciados são um subtipo de Bosses Regionais usados em Masmorras Instanciadas.
| Chave | Descrição | Valores | Predefinição |
|---|---|---|---|
instanced | Torna o custom boss instanciado. Obrigatório. | true / false | false |
Definir os bosses como instanciados é obrigatório para que as masmorras instanciadas funcionem corretamente. Também recomendamos remover as trelas de quaisquer bosses instanciados.
Exemplo
instanced: true
