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.
Usa o Nightbreak Forge para criar configurações de bosses personalizados.
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!
Reutilizar outro ficheiro de boss
Um ficheiro de boss pode partir de outro ficheiro de boss com extends e alterar apenas o que for diferente:
extends: my_base_boss.yml
name: '&cEnraged Copy'
healthMultiplier: 3
O ficheiro herda todos os valores da base e substitui as chaves que define. Secções aninhadas, como patrol, são fundidas chave a chave; uma lista, como uniqueLootList, substitui a lista da base por inteiro. Indica a base apenas pelo nome do ficheiro, sem caminho de pasta. Tem de ser outro ficheiro em custombosses, incluindo as suas subpastas, e pode estender por sua vez outra base.
isEnabled, spawnLocation, spawnLocations, leashRadius, powers e eliteScript nunca são herdados, por isso define-os em cada ficheiro que precise deles. Uma base com isEnabled: false funciona como modelo: não consegue spawnar sozinha, mas os ficheiros que a estendem continuam a ser carregados. O EliteMobs não escreve valores predefinidos num ficheiro que use extends, pelo que este fica tão curto quanto o escreveste. Uma base em falta, um caminho em extends ou um ciclo de referências extends desativa o ficheiro com um aviso na consola.
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 | Uma criatura que possa ser gerada de EntityType, com propriedades de mob registadas no EliteMobs. Tipos não suportados desativam a configuração do boss. | 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 |
dynamic começa pelo maior nível de spawn natural calculado para os jogadores do mesmo mundo a menos de 16 * (distância de visão do servidor + 2) blocos, com um mínimo de 1. Os bosses dinâmicos registados são reavaliados a cada 5 segundos, pelo que o nível pode mudar após o spawn. Um nível de spawn explícito substitui este comportamento. Usa um nível fixo em encontros regionais que precisem de dificuldade estável.
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
Classifica o boss para sistemas como loot automático de classe. As barras de vida usam healthMultiplier e as definições de MobCombatSettings.yml, em vez desta classificação.
| Chave | Valores | Predefinição |
|---|---|---|
bossType | NORMAL, MINIBOSS, BOSS, REINFORCEMENT, EVENT | NORMAL |
Para loot automático de classe, MINIBOSS seleciona o escalão de miniboss, BOSS e EVENT o de boss, e os bosses normais o de inimigo comum, salvo substituição por classLootRank.
REINFORCEMENT é uma classificação configurada, não uma etiqueta atribuída automaticamente a cada invocação. O registo de reforços invocados e montadas durante a execução controla separadamente a elegibilidade para recompensas.
Exemplo
bossType: MINIBOSS
silent
Define se os sons do boss devem ser silenciados.
| Chave | Valores | Predefinição |
|---|---|---|
silent | Booleano | false |
Com true, silencia os sons nativos do Minecraft da entidade. Os sons reproduzidos separadamente por scripts e a música do boss não são controlados por esta definição.
Exemplo
silent: true
healthMultiplier
Multiplica a vida do boss. As barras de vida também consultam este valor: uma barra de boss separada exige displayBossBarForHighMultiplier e um multiplicador superior a bossBarHealthMultiplierThreshold em MobCombatSettings.yml.
| Chave | Valores | Predefinição |
|---|---|---|
healthMultiplier | Multiplicador | 1.0 |
A vida base exponencial é primeiro limitada ao máximo do servidor. O EliteMobs aplica depois healthMultiplier, impõe um mínimo de 1 HP e limita novamente o resultado a settings.attribute.maxHealth.max de spigot.yml. O EliteMobs eleva esse valor para 2048 no arranque se for inferior, mas nunca acima disso; 2048 é o limite efetivo num servidor predefinido.
Estes limites descrevem o cálculo base do boss. Os bosses de instâncias aplicam depois o multiplicador de grupo 0.75 * playerCount quando participam pelo menos dois jogadores, sem uma nova limitação pelo plugin. A tabela seguinte não garante a vida final na instância nem que o servidor aceite um valor acima do limite do atributo.
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, aumentar o nível configurado já não aumenta a vida máxima real. O dano continua a depender do sistema de combate, das perícias relativas, dos atributos da arma e dos multiplicadores; o limite não garante um número fixo de golpes em qualquer direção. O EliteMobs avisa quando a vida multiplicada ultrapassa o limite, mas a limitação anterior da vida base é silenciosa. Um multiplicador inferior a 1 aplica-se à vida base já limitada.
Se precisares de mais de 2048 HP, aumenta settings.attribute.maxHealth.max em 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 e os itens nas mãos do boss. Alguns tipos de entidade e modelos personalizados não mostram estes espaços. A armadura equipada não fornece pontos de armadura no combate normal do EliteMobs, mas os itens nas mãos podem afetar ataques nativos, como um esqueleto a usar um arco.
| Chave | Valores | Predefinição |
|---|---|---|
helmet | Material, UUID | nenhum |
chestplate | Material | nenhum |
leggings | Material | nenhum |
boots | Material | nenhum |
mainHand | Material | nenhum |
offHand | Material | nenhum |
Usa nomes de materiais em maiúsculas. Estes campos criam equipamento a partir de materiais; não carregam ficheiros .yml de itens personalizados. Para itens que não sejam de cabedal, acrescenta um inteiro de dados de modelo personalizado como ITEM_MATERIAL:ID. Por exemplo, DIAMOND_SWORD:1 seleciona os dados de modelo personalizado 1 do teu pacote de recursos.
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: Um UUID de jogador em minúsculas e com hífenes cria uma cabeça através da consulta de perfis de jogadores offline do Bukkit. O jogador não precisa de estar ligado; o aspeto depende da resolução desse perfil pelo servidor.
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 estiver carregado um poder .lua com o mesmo nome base, o EliteMobs resolve automaticamente um pedido .yml ou .yaml para esse poder. Por exemplo, attack_arrow.yml seleciona o attack_arrow.lua carregado. Não basta o ficheiro existir no disco. 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 | Ficheiro do boss a invocar. Obrigatório exceto para cristais. | String | nenhum |
chance | Probabilidade de uma invocação normal em grupo. Ignorada por GLOBAL e cristais. 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 | Tenta invocar um grupo ao receber dano válido de um jogador até uma tentativa ficar marcada como invocada. Uma tiragem de probabilidade falhada pode ser repetida num golpe posterior. |
ON_HIT | Tenta invocar um grupo quando um jogador causa dano ao boss. Exige IA ativa, um evento não cancelado e pelo menos 3 de dano. |
ON_COMBAT_ENTER | Spawna os reforços quando o boss entra em combate. |
ON_DEATH | Spawna reforços quando o boss morre. |
GLOBAL | Coloca em fila amount invocações através de customSpawn logo após o spawn do boss e a cada 10 segundos, mesmo fora de combate. Deixa de adicionar invocações quando o número registado atinge 30 * jogadores no mundo de spawn. Exige um custom spawn válido. |
ON_COMBAT_ENTER_PLACE_CRYSTAL | Coloca um end crystal no deslocamento configurado ao entrar em combate. Ignora amount e chance; destina-se a combates personalizados com dragões. |
ONCE exige a mesma IA ativa e o mínimo de 3 de dano de ON_HIT. GLOBAL usa a configuração do spawn personalizado em vez dos campos normais location, spawnNearby, inheritLevel e inheritAggro. Consulta Reforços para o comportamento completo.
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
| Chave | Descrição | Valores | Predefinição |
|---|---|---|---|
filename | Nome do ficheiro do poder. | String | nenhum |
difficultyID | Um ID de dificuldade ou uma lista, resolvidos segundo a convenção numérica ou de nomes da masmorra. | String, número ou lista | nenhum |
Isto só se aplica a bosses instanciados: bosses em masmorras instanciadas e bosses instanciados que outro plugin spawna através da API do EliteMobs com uma dificuldade.
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 as mensagens enviadas quando o boss morre com atacantes registados. doCustomEliteMobsDeathMessages em MobCombatSettings.yml (predefinição true) tem de estar ativo. A prioridade 0 envia-as em privado aos atacantes; prioridades positivas difundem-nas.
| 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 | Nome de exibição de quem causou mais dano |
$damager1Name | Nome de utilizador de quem causou mais dano |
$damager2name | Nome de exibição de quem causou o segundo maior dano |
$damager2Name | Nome de utilizador de quem causou o segundo maior dano |
$damager3name | Nome de exibição de quem causou o terceiro maior dano |
$damager3Name | Nome de utilizador 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 | Lista os nomes de exibição de todos os atacantes |
$playersName | Lista os nomes de utilizador de todos os atacantes |
deathMessage
Define uma única mensagem de morte. É usada quando deathMessages está vazio, com as mesmas regras de prioridade e a mesma definição global. Aceita $players e $playersName, mas não placeholders de atacantes individuais.
| Chave | Valores | Predefinição |
|---|---|---|
deathMessage | String, color codes, $players e $playersName | nenhum |
Exemplo
announcementPriority: 3
deathMessage: '&4The Test Boss has been killed by $players!'
onKillMessage
Define a mensagem de morte de um jogador morto por este boss. Usa o tratamento da morte do jogador e não exige 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 |
$entity | Nome do boss |
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
Impede o EliteMobs de forçar entidades neutras, como lobos e iron golems, a escolher jogadores como alvo. Também impede o início de um programa de comportamento Mind. O comportamento nativo continua a aplicar-se; esta definição não torna passivo um tipo de entidade hostil.
| 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. 0 desativa este tempo limite.
| Chave | Valores | Predefinição |
|---|---|---|
timeout | Tempo (em minutos) Inteiro | 0 |
Exemplo
timeout: 20
Faz o boss escapar ao fim de 20 minutos.
isPersistent
Conserva o estado lógico do boss para o restaurar quando o chunk voltar a carregar. Os corpos normais são removidos e voltam a aparecer; um corpo Mind nativo persistente pode ser suspenso e reassociado na mesma sessão do servidor. Esta definição não mantém chunks carregados nem conserva entre reinícios qualquer boss criado por comando. As colocações regionais e os prazos de reaparecimento são guardados separadamente.
| Chave | Valores | Predefinição |
|---|---|---|
isPersistent | true / false | false |
Exemplo
Exemplo:
isPersistent: true
damageModifiers
Define multiplicadores de dano pelo material Bukkit da arma atacante. Os projéteis registados usam o material guardado do atirador. O dano personalizado que ignora as verificações normais não aplica este modificador de material.
| 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
Seleciona o combate normalizado e as definições normalizedDamageToEliteMultiplier / normalizedDamageToPlayerMultiplier. As fórmulas atuais de vida e dano por perícias estão explicadas no Sistema de dano. normalizeRegionalBosses em MobCombatSettings.yml força a normalização dos bosses regionais e instanciados mesmo quando este campo é false. Os encontros por fases usam a definição de normalização da fase 1.
| Chave | Valores | Predefinição |
|---|---|---|
normalizedCombat | true / false | false |
Exemplo
Exemplo:
normalizedCombat: true
scaledCombat
Seleciona o combate escalado, que calcula o dano com o nível efetivo de progressão do jogador atacante ou defensor e converte o dano do jogador para a vida real do boss. O boss mantém uma única reserva de vida partilhada e o nível guardado. O nível das recompensas e a elegibilidade para loot são verificados separadamente; esta definição não garante dificuldade idêntica nem loot sem restrições para todos os jogadores.
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 de localização na barra de rastreio. O rastreio exige announcementPriority de pelo menos 1 e showCustomBossLocation ativo em MobCombatSettings.yml. A mensagem é opcional: quando falta ou está vazia, usa $name: $distance blocks away!.
| Chave | Valores | Predefinição |
|---|---|---|
locationMessage | String, Color codes e os placeholders listados abaixo | $name: $distance blocks away! quando falta ou está vazia |
Placeholders:
| Valor | Descrição |
|---|---|
$name | Nome de exibição do Custom Boss |
$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 concede XP de perícia ao morrer. Esta XP faz progredir as perícias de armas e armadura e os seus bónus. O sistema de XP exclui reforços e montadas mesmo quando esta definição é true.
| 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
Loot automático de classe
classLoot ativa uma tiragem separada de equipamento básico. Está ativo por predefinição, exceto para bossType: REINFORCEMENT. classLootDifficulty aceita AUTO, NORMAL, HARD ou MYTHIC; classLootRank aceita AUTO, TRASH, MINIBOSS ou BOSS. Ambos usam AUTO por predefinição. Valores inválidos geram um aviso e voltam a AUTO.
Define o equipamento de classe como itens normais com itemType: CLASS_LOOT, referenciados em uniqueLootList. Participam na seleção de classe em vez de tiragens independentes de loot único. O antigo campo do boss classLootItems não é lido. Consulta loot automático de classe para elegibilidade, limites, famílias, perfis e resolução de dificuldade.
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 sem dados adicionais funcionam como rastos, ou seja, as partículas simples da lista de partículas válidas. As que exigem dados, como DUST e ITEM, são ignoradas. BLOCK e LAVA interrompem o processamento do resto da lista; evita essas entradas. Os nomes de materiais criam um rasto animado de itens. Os rastos funcionam enquanto o boss for válido, mesmo parado.
Exemplo
trails:
- CLOUD
onDamageMessages
Escolhe uma linha aleatória para substituir temporariamente o nome do boss quando causa dano a um jogador. O nome é restaurado após 80 ticks; golpes sobrepostos podem substituir a linha ou restaurar o nome antes de terminar o temporizador da última linha.
| Chave | Valores | Predefinição |
|---|---|---|
onDamageMessages | List | nenhum |
Exemplo
onDamageMessages:
- "I hit you!"
- "Haha I hit you!"

onDamagedMessages
Escolhe uma linha aleatória para substituir temporariamente o nome do boss num evento de dano do EliteMobs. Não se limita a dano de jogadores. O nome é restaurado após 80 ticks; eventos sobrepostos podem substituir a linha ou restaurar o nome antes de terminar o temporizador da última linha.
| 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 | Predefinição. Sem anúncios públicos de spawn ou fuga nem rastreio; o texto de morte configurado ainda pode ser enviado em privado aos atacantes. |
1 | Permite mensagens configuradas de spawn, morte e fuga no chat. O rastreio através de /em está disponível com showCustomBossLocation ativo; locationMessage é opcional. |
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: Configura spawnMessage, deathMessage/deathMessages e escapeMessage para os respetivos anúncios no chat e Discord. O rastreio tem uma mensagem de localização predefinida; define locationMessage apenas para a personalizares.
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 |
Um followDistance positivo substitui o atributo nativo de alcance de perseguição; 0 deixa-o inalterado.
Nota 1: Os bosses regionais não alertas dividem o alcance atual por 3 quando abrandam ao aparecer ou sair de combate. A entrada em combate restaura o alcance registado. Isto evita aggro demasiado distante e problemas com a 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 |
Os comandos correm na consola. Um comando com $chance=x$ e $players faz uma tiragem separada por atacante. 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. |
$locationWorldName | Nome do mundo no momento da morte. |
$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 |
Os comandos correm na consola e aceitam $chance=x$. Este evento não fornece os placeholders de boss, localização ou jogador de onDeathCommands.
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 |
Os comandos correm na consola e aceitam $chance=x$. Este evento não fornece os placeholders de boss, localização ou jogador de onDeathCommands.
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 |
Os comandos correm na consola e aceitam $chance=x$. Este evento não fornece os placeholders de boss, localização ou jogador de 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
Coloca o atributo de velocidade de movimento a zero e limpa a velocidade imediatamente e um tick após um evento de dano do EliteMobs. Os bosses congelados mantêm a IA e podem atacar. Esta definição não para scripts, teletransportes ou todas as mecânicas de movimento próprias de cada entidade.
| 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
behavior
behavior seleciona um programa Lua Mind reutilizável de plugins/EliteMobs/behaviors/. Por exemplo:
entityType: ZOMBIE
ai: true
behavior: basic_melee.lua
O basic_melee.lua incluído combina módulos de alvo, perseguição, combate corpo a corpo e movimento livre de behaviors/modules/. Edita ou copia um programa de comportamento nessa pasta; não é um poder e não pertence a powers/.
Se o boss omitir behavior, usa a definição das propriedades do seu tipo de entidade. behavior: native seleciona explicitamente a IA nativa. ai: false e bosses neutros não iniciam programas de comportamento. O carregador normal do boss continua a gerir spawn, equipamento, poderes, persistência e limpeza.
Os programas exigem o serviço Mind nativo numa versão suportada do servidor. Um ficheiro desconhecido ou inválido é um erro de configuração, não um pedido para escolher outra IA silenciosamente. Os IDs de programa têm de usar o espaço de nomes elitemobs:; referências a subpastas usam barras /. Consulta a referência do contexto Mind para a API.
alwaysShowName
Mantém o nome do boss visível fora de combate. A definição global alwaysShowEliteMobNameTags também o pode ativar. O FreeMinecraftModels atual usa um osso tag_, como tag_head, para posicionar o nome quando existe; caso contrário, coloca-o acima da hitbox do modelo. Versões antigas de FMM podem exigir uma âncora definida no modelo. Consulta modelos personalizados para os detalhes de cada modelo.
| Chave | Valores | Predefinição |
|---|---|---|
alwaysShowName | true / false | false |
Exemplo
alwaysShowName: true
reinforcement
Marca a definição do boss como reforço. Isto omite a inicialização de colocações regionais normais e exclui o loot automático de classe. O registo de colocações instanciadas segue o seu próprio processo. A definição não invoca o boss nem estabelece um invocador; o registo de reforços e montadas durante a execução controla separadamente outras exclusões de recompensas.
| Chave | Valores | Predefinição |
|---|---|---|
reinforcement | true / false | false |
Exemplo
reinforcement: true
song
Define a música que o boss disponibiliza a jogadores próximos após aparecer. O pacote de recursos tem de definir a chave do som e o respetivo áudio .ogg.
| Chave | Valores | Predefinição |
|---|---|---|
song | String | nenhum |
Define um followDistance positivo para o alcance inicial. A cada 10 ticks, o boss procura jogadores no seu mundo dentro dessa distância configurada. Depois de começar, a música continua enquanto o jogador estiver ligado, no mesmo mundo e até 1,5 vezes o alcance de perseguição registado do boss. Remover o boss para a música. A música do boss tem prioridade sobre o ambiente da masmorra; cada jogador ouve apenas uma faixa gerida de cada vez.
Usa name=SOUND_KEY length=MILLISECONDS, com um espaço entre os dois campos. As durações são inteiros em milissegundos convertidos para ticks, arredondados por defeito, com um atraso mínimo de um tick. A reprodução usa a categoria MUSIC com volume 1 e tom 1.
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
Controla a remoção dos reforços registados, incluindo GLOBAL, durante a limpeza do boss. A saída de combate e a recuperação total de vida removem separadamente os reforços normais registados; false não garante que todas as invocações sobrevivam.
| 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
patrol
Adiciona ao boss personalizado uma rota nativa com procura automática de caminhos. Os nós são deslocamentos desde o local de spawn definido para o boss, ou coordenadas exatas no seu mundo com patrol.relative: false. patrol.startNodeWaitSeconds faz o boss descansar no primeiro nó uma vez por volta. Os troços longos são resolvidos e divididos automaticamente sem forçar o carregamento de chunks; a patrulha pausa durante o combate e retoma depois. O boss precisa de ai: true, velocidade positiva e não pode ser passageiro. Consulta Patrulhas de NPCs e bosses para o esquema, editor, persistência e controlos Lua.
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, em que a percentagem é uma fração de pelo menos 0 e inferior a 1. Uma entrada com outro formato, uma fração fora do intervalo ou um ficheiro de boss em falta impede o boss de spawnar.
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.
- O golpe que cruza o limiar é cancelado e a fase seguinte começa com a percentagem de vida configurada. Alterar
healthMultipliermuda os HP absolutos nesse limiar. O dano excedente não passa para a forma seguinte. - Os bosses por fases não instanciados voltam à fase 1 quando recuperam toda a vida, incluindo através da regeneração configurada após o combate. Os instanciados não fazem esta reposição.
- 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.
- A mudança de fase remove a montada anterior. A nova fase pode definir a sua própria montada.
- As mudanças de fase e reposições por vida completa usam spawn silencioso, sem o anúncio normal de aparecimento do boss.
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 | Aplica blocos guardados na morte, eliminação por comando ou avanço de fase; exclui tempo limite, reposição por vida completa, recarregamento e encerramento. | 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
Remove permanentemente esta colocação regional após a morte ou o tempo limite. É usado em encontros únicos, como santuários do BetterStructures. A definição partilhada do boss pode manter outras colocações.
| 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
