Saltar al contenido principal

Crear jefes

webapp_banner.jpg

Crear jefes personalizados​

Antes de empezar

¿Dónde se guardan los archivos de jefe?​

Los archivos de jefe van en la carpeta de configuración ~/plugins/EliteMobs/custombosses.

Es posible crear subcarpetas, como ~/plugins/EliteMobs/custombosses/mybosses. Se recomienda hacerlo para mantener todo organizado.

Cada archivo define un jefe, aunque es posible generar el mismo jefe varias veces e incluso definir varias ubicaciones de aparición para el mismo archivo de jefe.

Usa Nightbreak Forge para crear configuraciones de jefes personalizados.

Configuración mínima posible​

El archivo de configuración más pequeño posible para un jefe personalizado es:

Fíjate en que se trata simplemente de un archivo vacío. Aun así generará un jefe personalizado de tipo zombi con un nombre personalizado, ya que esos son los valores por defecto. ¡Todo lo que aparece en esta página es opcional!

Reutilizar otro archivo de jefe​

Un archivo de jefe puede partir de otro archivo de jefe con extends y cambiar solo lo que sea distinto:

extends: my_base_boss.yml
name: '&cEnraged Copy'
healthMultiplier: 3

El archivo hereda todos los valores de la base y sobrescribe las claves que define. Las secciones anidadas, como patrol, se combinan clave por clave; una lista, como uniqueLootList, sustituye por completo la lista de la base. Indica la base solo por su nombre de archivo, sin ruta de carpeta. Debe ser otro archivo de custombosses, incluidas sus subcarpetas, y puede a su vez extender otra base.

isEnabled, spawnLocation, spawnLocations, leashRadius, powers y eliteScript nunca se heredan, así que defínelos en cada archivo que los necesite. Una base con isEnabled: false funciona como plantilla: no puede aparecer por sí sola, pero los archivos que la extienden se cargan igualmente. EliteMobs no escribe valores por defecto en un archivo que usa extends, de modo que se queda tan corto como lo escribiste. Una base que no existe, una ruta en extends o un bucle de referencias extends desactiva el archivo con una advertencia en la consola.

Jefe de ejemplo​

Veamos un ejemplo del aspecto que tiene un archivo de jefe.

Ejemplo
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!"

Ajustes básicos​

isEnabled​

Define si el jefe está activado.

ClaveValoresPor defecto
isEnabledtrue / falsetrue
Ejemplo
isEnabled: true

entityType​

Define el tipo de entidad del jefe.

ClaveValoresPor defecto
entityTypeUna criatura generable de EntityType con propiedades de mob registradas en EliteMobs. Los tipos no compatibles desactivan la configuración del jefe.ZOMBIE
Cubos de magma y slimes

Dado que estos tipos de entidad no atacan a los jugadores directamente, sino que infligen daño por contacto, pueden provocar grandes ráfagas de daño en muy poco tiempo. Por ello, en general no recomendamos usarlos como mobs Elite con frecuencia. Aun así, si quieres utilizarlos, te sugerimos ajustar damageMultiplier a un valor cercano a 0.1.

También recomendamos usar el siguiente EliteScript para evitar que los cubos de magma o los slimes dejen a los jugadores bloqueados por aturdimiento:

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
Ejemplo
entityType: ZOMBIE

name​

Define el nombre del jefe.

ClaveValoresPor defecto
nameString, acepta color codes y los marcadores de posición que se listan más abajo"Default Name"
Ejemplo
name: "$normalLevel &cCool boss!"

create_boss_name_pic_no_level.jpg

Si quieres incluir el nivel del jefe en su campo de nombre, basta con usar uno de los siguientes marcadores de posición.

MarcadorDescripciónEjemploResultado (para un jefe de nivel 10)
$levelSe sustituye por el nivel"$level Cool boss"10 Cool boss
$normalLevelSe sustituye por el nivel, pensado para mobs normales"$normalLevel Cool boss"[10] Cool boss
$minibossLevelSe sustituye por el nivel, pensado para minijefes"$minibossLevel Cool boss"〖10〗 Cool boss
$bossLevelSe sustituye por el nivel, pensado para jefes"$bossLevel Cool boss"『10』 Cool boss
$reinforcementLevelSe sustituye por el nivel, pensado para refuerzos"$reinforcementLevel Cool boss"〔10〕 Cool Boss
$eventBossLevelSe sustituye por el nivel, pensado para jefes de evento"$eventBossLevel Cool boss"「10」 Cool boss
Ejemplo
name: "$normalLevel &cCool boss!"

create_boss_name_pic.jpg


level​

Define el nivel del jefe.

ClaveValoresPor defecto
levelNúmeros Integer positivos o dynamicdynamic

dynamic parte del mayor nivel de aparición natural calculado para los jugadores del mismo mundo a menos de 16 * (distancia de visión del servidor + 2) bloques, con un mínimo de 1. Los jefes dinámicos registrados se recalculan cada 5 segundos, por lo que su nivel puede cambiar tras aparecer. Un nivel de aparición explícito anula este comportamiento. Usa un nivel fijo en encuentros regionales que necesiten una dificultad estable.

Ejemplo
level: 1

scale​

Define la escala (el tamaño) del jefe.

ClaveValoresPor defecto
scaleMultiplier1.0

Al escalar, 1.0 representa el tamaño por defecto. Para agrandar la entidad, aumenta el valor (por ejemplo, 1.2). Para hacerla más pequeña, redúcelo (por ejemplo, 0.8).

Ejemplo
scale: 1.2

bossType​

Clasifica al jefe para sistemas como el botín automático de clase. Las barras de salud usan healthMultiplier y los ajustes de MobCombatSettings.yml, no esta etiqueta.

ClaveValoresPor defecto
bossTypeNORMAL, MINIBOSS, BOSS, REINFORCEMENT, EVENTNORMAL

Para el botín automático de clase, MINIBOSS selecciona el rango de minijefe, BOSS y EVENT el de jefe, y los jefes normales usan el rango de enemigo común salvo que classLootRank lo anule.

REINFORCEMENT es una clasificación configurada; no se asigna automáticamente a toda invocación. El seguimiento de refuerzos invocados y monturas durante la ejecución controla por separado su derecho a recompensas.

Ejemplo
bossType: MINIBOSS

silent​

Define si los sonidos del jefe deben silenciarse.

ClaveValoresPor defecto
silentBooleanfalse

Con true, silencia los sonidos nativos de Minecraft de la entidad. Este ajuste no controla los sonidos reproducidos por scripts ni la música del jefe.

Ejemplo
silent: true

healthMultiplier​

Multiplica la salud del jefe. Las barras de salud también consultan este valor: una barra de jefe independiente requiere displayBossBarForHighMultiplier y un multiplicador superior a bossBarHealthMultiplierThreshold en MobCombatSettings.yml.

ClaveValoresPor defecto
healthMultiplierMultiplier1.0
La salud del jefe tiene un tope estricto; su daño no

Primero se limita la salud base exponencial al máximo del servidor. Después EliteMobs aplica healthMultiplier, impone un mínimo de 1 HP y vuelve a limitar el resultado a settings.attribute.maxHealth.max de spigot.yml. EliteMobs eleva ese valor a 2048 al arrancar si es menor, pero nunca por encima, así que 2048 es el techo efectivo en un servidor por defecto.

Estos límites describen el cálculo base del jefe. Los jefes de instancias aplican después el multiplicador de grupo 0.75 * playerCount cuando participan al menos dos jugadores, sin otro límite de salud del plugin. La tabla siguiente no garantiza la salud final de la instancia ni que el servidor acepte un valor superior al límite del atributo.

La salud base sigue la fórmula 2.1875 × 2^(level / 5), así que se duplica cada 5 niveles. Combinado con el límite, cada healthMultiplier tiene un nivel a partir del cual el jefe deja de ganar salud por completo mientras su daño sigue escalando:

healthMultiplierLa salud deja de crecer en el nivel
1.050
2.045
5.038
7.036
10.033
20.028
40.023

Por encima de ese nivel, aumentar el nivel configurado ya no aumenta la salud máxima real. El daño sigue dependiendo del sistema de combate, las habilidades relativas, las estadísticas del arma y los multiplicadores; el límite no garantiza un número fijo de golpes en ningún sentido. EliteMobs avisa cuando la salud multiplicada supera el límite, pero la limitación previa de la salud base es silenciosa. Un multiplicador inferior a 1 se aplica a la salud base ya limitada.

Si realmente necesitas más de 2048 de salud, eleva tú mismo settings.attribute.maxHealth.max en spigot.yml; el límite lee el valor activo del servidor, no una constante fija.

Ejemplo
healthMultiplier: 1.5

damageMultiplier​

Define el multiplicador de daño del jefe.

ClaveValoresPor defecto
damageMultiplierMultiplier1.0
Ejemplo
damageMultiplier: 1.5

isBaby​

Define si el jefe usa la variante bebé del mob. Solo puede aplicarse a mobs que tengan variante bebé. Si quieres disfrazar al jefe pero además quieres que siga siendo bebé mientras está disfrazado (asegúrate de que la entidad del disfraz también admita la variante bebé), puedes usar este ajuste:

disguise: HOGLIN:baby
ClaveValoresPor defecto
isBabytrue / falsefalse
Ejemplo
isBaby: true

helmet/chestplate/leggings/boots/mainHand/offHand​

Define la armadura y los objetos que sostiene el jefe. Algunos tipos de entidad y modelos personalizados no muestran estas ranuras. La armadura equipada no aporta puntos de armadura en el combate normal de EliteMobs, pero los objetos sostenidos pueden afectar a los ataques nativos, como un esqueleto que usa un arco.

ClaveValoresPor defecto
helmetMaterial, UUIDnone
chestplateMaterialnone
leggingsMaterialnone
bootsMaterialnone
mainHandMaterialnone
offHandMaterialnone

Usa nombres de material en mayúsculas. Estos campos crean equipo a partir de materiales; no cargan archivos .yml de objetos personalizados. En objetos que no sean de cuero, añade un entero de datos de modelo personalizado como ITEM_MATERIAL:ID. Por ejemplo, DIAMOND_SWORD:1 selecciona los datos de modelo personalizado 1 de tu paquete de recursos.

Nota 2: Este campo también permite definir colores de cuero personalizados con el formato ITEM_MATERIAL:CÓDIGO, donde el código es la representación hexadecimal del color. Ejemplo: LEATHER_LEGGINGS:ffa500 crearía unos pantalones naranjas. Puedes usar códigos hexadecimales; simplemente quita el # del código. Puedes obtener códigos hexadecimales aquí.

Nota 3: Un UUID de jugador en minúsculas y con guiones crea una cabeza mediante la consulta de perfiles de jugadores desconectados de Bukkit. El jugador no necesita estar conectado; la apariencia depende de que el servidor resuelva ese perfil.

Ejemplo
helmet: 198c4123-cafc-45df-ba79-02a421eb8ce7
chestplate: DIAMOND_CHESTPLATE:1
leggings: LEATHER_LEGGINGS:ffa500
boots: NETHERITE_BOOTS
mainHand: DIAMOND_SWORD
offHand: SHIELD

create_boss_armor.jpg


powers​

Define los poderes que tiene el jefe.

ClaveValoresPor defecto
powersConsulta la lista de más abajoninguno
Ejemplo
powers:
- hyper_loot.lua
- attack_arrow.lua
- mycoolpower.lua

Nota: Puedes consultar esta página si quieres ver una lista de poderes predefinidos que puedes utilizar.

Nota: Los poderes pueden ser archivos .yml (EliteScript) o archivos .lua (scripts Lua). Ambos tipos son compatibles y pueden mezclarse libremente en la lista powers. Casi todos los poderes predefinidos son ya .lua.

Los nombres antiguos de poderes .yml siguen funcionando

Si hay un poder .lua cargado con el mismo nombre base, EliteMobs resuelve automáticamente una petición .yml o .yaml hacia él. Por ejemplo, attack_arrow.yml selecciona el attack_arrow.lua cargado. No basta con que el archivo exista en disco. Las configuraciones nuevas deberían nombrar directamente el archivo .lua.


Configuración intermedia: invocar refuerzos​

Los refuerzos también pertenecen a la categoría de poderes y usan los siguientes ajustes:

Nota: Los refuerzos se configuran dentro de la sección powers de tu archivo de configuración de jefe, no como una sección aparte.

Ajustes de los refuerzos
ClaveDescripciónValoresPor defecto
summonTypeQué desencadena la aparición del refuerzo. Obligatorio.Consulta la lista de más abajoninguno
filenameArchivo del jefe que se invocará. Obligatorio salvo en entradas de cristales.Stringninguno
chanceProbabilidad de una tanda normal de invocaciones. GLOBAL y los cristales la ignoran. Opcional.Double1.0
amountDefine la cantidad de refuerzos que aparecerán. Opcional.Integer1
inheritAggroHace que el refuerzo herede el aggro del jefe. Opcional.true / falsefalse
spawnNearbyHace que los refuerzos aparezcan en un área de 30x30 bloques (±15 bloques en X y Z) alrededor del punto de aparición. Opcional.true / falsefalse
inheritLevelHace que el refuerzo herede el nivel del jefe. Opcionaltrue / falsefalse
customSpawnHace que el refuerzo aparezca mediante el sistema de apariciones personalizadas. Solo se usa con summonType: GLOBALNombre de archivo de la aparición personalizadaninguno
locationDesplazamiento relativo de aparición. Opcional.x,y,z: siempre un desplazamiento relativo respecto al jefe. En los jefes regionales, el desplazamiento es relativo a la ubicación de aparición.ninguno
lightningRodAjuste especial para summonType: ON_COMBAT_ENTER_PLACE_CRYSTAL. Hace que los cristales del End generen rayos a su alrededor. Opcional.true / falsefalse
difficultyIDRestringe la entrada a dificultades de mazmorra instanciada concretas. Opcional.String o lista de cadenasninguno

Los tipos de invocación establecen las condiciones para la aparición de los refuerzos. Esta es la lista de tipos de invocación válidos:

Tipos de invocación
ValorDescripción
ONCEIntenta una tanda al recibir daño válido de un jugador hasta que un intento quede marcado como invocado. Una tirada de probabilidad fallida puede repetirse en un golpe posterior.
ON_HITIntenta una tanda cuando un jugador daña al jefe. Requiere IA activa, un evento no cancelado y al menos 3 de daño.
ON_COMBAT_ENTERGenera los refuerzos cuando el jefe entra en combate.
ON_DEATHGenera refuerzos cuando el jefe muere.
GLOBALEncola amount invocaciones mediante customSpawn al aparecer el jefe y cada 10 segundos, incluso fuera de combate. Deja de añadir invocaciones cuando el número registrado alcanza 30 * jugadores del mundo de aparición. Requiere una aparición personalizada válida.
ON_COMBAT_ENTER_PLACE_CRYSTALColoca un cristal del End en el desplazamiento configurado al entrar en combate. Ignora amount y chance; está pensado para combates de dragón personalizados.

ONCE exige la misma IA activa y el mínimo de 3 de daño que ON_HIT. GLOBAL usa su configuración de aparición personalizada en lugar de los campos normales location, spawnNearby, inheritLevel e inheritAggro. Consulta Refuerzos para conocer el comportamiento completo.

Ten en cuenta que también es posible generar refuerzos mediante Elite Scripts, así que existen formas más personalizables de invocarlos.

Ejemplo
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

Configuración avanzada: crear tus propios poderes​

Es posible crear tus propios poderes, ya sea en el propio archivo del jefe o como un nuevo archivo de configuración en la carpeta de poderes. Puedes obtener más información al respecto aquí.

Nota: También puedes definir comportamientos del jefe directamente en el archivo de configuración del jefe mediante el campo eliteScript. Para consultar la documentación completa sobre el uso de Elite Scripts, consulta la guía de poderes.

Como alternativa a EliteScript, también puedes escribir poderes usando scripts Lua. Los poderes en Lua se colocan en la carpeta de poderes con la extensión .lua y se referencian por nombre de archivo en la lista powers. Consulta la guía Primeros pasos con Lua para más información.

Limitar poderes según la dificultad de una mazmorra instanciada​

Las mazmorras instanciadas pueden tener ajustes de dificultad, y es posible hacer que un poder concreto solo esté activo en determinadas dificultades.

Opciones para limitar poderes
ClaveDescripciónValoresPor defecto
filenameNombre del archivo del poder.Stringninguno
difficultyIDUn ID de dificultad o una lista, resueltos según la convención numérica o de nombres de la mazmorra.Cadena, número o listaninguno

Esto solo se aplica a los jefes instanciados: los jefes de las mazmorras instanciadas y los jefes instanciados que otro plugin genera con una dificultad mediante la API de EliteMobs.

Ejemplo
powers:
- filename: movement_speed.lua
difficultyID:
- myDifficultyName1
- myDifficultyName2
- myDifficultyName3

spawnMessage​

Define el mensaje que se envía cuando aparece el jefe. Requiere configurar announcementPriority.

ClaveValoresPor defecto
spawnMessageStrings y color codesninguno
Ejemplo
announcementPriority: 3
spawnMessage: I rise once more!

create_boss_spawn_message.jpg


deathMessages​

Define los mensajes que se envían cuando muere el jefe y tiene atacantes registrados. Requiere que doCustomEliteMobsDeathMessages esté activado en MobCombatSettings.yml (por defecto true). La prioridad 0 los envía en privado a los atacantes; las prioridades positivas los difunden.

ClaveValoresPor defecto
deathMessagesStrings, color codes y los marcadores de posición de más abajoninguno
Ejemplo
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---------------------------------------------'

create_boss_death_message.jpg

Los mensajes de muerte admiten los siguientes marcadores de posición:

Marcadores de posición
ValorDescripción
$damager1nameNombre visible de quien más daño infligió
$damager1NameNombre de usuario de quien más daño infligió
$damager2nameNombre visible del segundo atacante por daño
$damager2NameNombre de usuario del segundo atacante por daño
$damager3nameNombre visible del tercer atacante por daño
$damager3NameNombre de usuario del tercer atacante por daño
$damager1damageLa cantidad de daño de quien más daño infligió
$damager2damageLa cantidad de daño de quien infligió el segundo mayor daño
$damager3damageLa cantidad de daño de quien infligió el tercer mayor daño
$playersLista los nombres visibles de todos los atacantes
$playersNameLista los nombres de usuario de todos los atacantes

deathMessage​

Define un mensaje al morir el jefe. Se usa cuando deathMessages está vacío, con las mismas reglas de prioridad y el mismo ajuste global. Admite $players y $playersName, pero no los marcadores de atacantes individuales.

ClaveValoresPor defecto
deathMessageString, color codes, $players y $playersNameninguno
Ejemplo
announcementPriority: 3
deathMessage: '&4The Test Boss has been killed by $players!'

onKillMessage​

Define el mensaje de muerte del jugador cuando este jefe lo mata. Usa el evento de muerte del jugador y no requiere announcementPriority.

ClaveValoresPor defecto
onKillMessageStrings y color codesninguno

Marcadores de posición:

ValorDescripción
$playerEl nombre visible del jugador que murió
$playerNameEl nombre de usuario del jugador que murió
$entityNombre del jefe
Ejemplo
announcementPriority: 3
onKillMessage: I win, you lose!

create_boss_spawn_message.jpg


slimeSize​

Define el tamaño del jefe slime, pero solo funciona con slimes y cubos de magma.

ClaveValoresPor defecto
slimeSizeInteger4
Ejemplo
slimeSize: 5

neutral​

Impide que EliteMobs fuerce a entidades neutrales, como lobos y gólems de hierro, a elegir jugadores como objetivo. También impide iniciar un programa de comportamiento Mind. El comportamiento nativo sigue aplicándose; este ajuste no vuelve pasivo a un tipo de entidad hostil.

ClaveValoresPor defecto
neutralBooleanfalse
Ejemplo
neutral: true

Ajustes avanzados​

timeout​

Define el tiempo, en minutos, hasta que desaparece el jefe personalizado. 0 desactiva este tiempo límite.

ClaveValoresPor defecto
timeoutTiempo (en minutos) Integer0
Ejemplo
timeout: 20

Hace que el jefe escape al cabo de 20 minutos.


isPersistent​

Conserva el estado lógico del jefe para restaurarlo al volver a cargar su chunk. Los cuerpos normales se eliminan y reaparecen; un cuerpo nativo Mind persistente puede suspenderse y volver a asociarse en la misma sesión del servidor. Este ajuste no mantiene chunks cargados ni conserva entre reinicios cualquier jefe generado por comando. Las ubicaciones regionales y los plazos de reaparición se guardan por separado.

ClaveValoresPor defecto
isPersistenttrue / falsefalse
Ejemplo

Ejemplo:

isPersistent: true

damageModifiers​

Define multiplicadores de daño según el material Bukkit del arma atacante. Los proyectiles registrados usan el material guardado del tirador. El daño personalizado que omite las comprobaciones normales no aplica este modificador de material.

ClaveValoresPor defecto
damageModifiersMaterialninguno
Ejemplo
damageModifiers:
- material:DIAMOND_SWORD,multiplier:0.8
- material:TRIDENT,multiplier:2.0

En este ejemplo, los jefes solo reciben el 80 % del daño de las espadas de diamante (un 20 % menos), pero reciben el 200 % del daño de los tridentes (el doble).


normalizedCombat​

Selecciona el combate normalizado y sus ajustes normalizedDamageToEliteMultiplier / normalizedDamageToPlayerMultiplier. Las fórmulas actuales de salud y daño por habilidades se explican en Sistema de daño. normalizeRegionalBosses en MobCombatSettings.yml fuerza la normalización en jefes regionales e instanciados aunque este campo sea false. Los encuentros por fases toman el ajuste de normalización de la fase 1.

ClaveValoresPor defecto
normalizedCombattrue / falsefalse
Ejemplo

Ejemplo:

normalizedCombat: true

scaledCombat​

Selecciona el combate escalado, que calcula el daño con el nivel efectivo de progresión del jugador atacante o defensor y convierte el daño del jugador a la reserva real de salud del jefe. El jefe mantiene una única reserva de salud compartida y su nivel guardado. El nivel de las recompensas y el derecho al botín se resuelven por separado; este ajuste no garantiza idéntica dificultad ni botín sin restricciones para todos.

El combate escalado está pensado principalmente para jefes de evento del mundo normal y para jefes personalizados que deban ser accesibles a jugadores de cualquier nivel. Para contenido de mazmorra con una dificultad fija prevista, usa normalizedCombat en su lugar.

Cuando se establece scaledCombat: true, este tiene prioridad aunque el jefe fuese a usar combate normalizado. Los mobs Elite que aparecen de forma natural usan combate escalado por defecto (controlado por el ajuste useScaledCombatForNaturalElites en MobCombatSettings.yml).

Consulta la página Sistema de daño para conocer todos los detalles sobre el funcionamiento del combate escalado.

ClaveValoresPor defecto
scaledCombattrue / falsefalse
Ejemplo
scaledCombat: true

escapeMessage​

Define el mensaje que se anuncia a los jugadores cuando el jefe escapa mediante la mecánica de timeout. Requiere tener configurado announcementPriority.

ClaveValoresPor defecto
escapeMessageStringninguno
Ejemplo
announcementPriority: 3
timeout: 60
escapeMessage: "Sayonara!"

create_boss_escape_message.jpg


locationMessage​

Define el mensaje de ubicación de la barra de seguimiento. El seguimiento requiere announcementPriority de al menos 1 y showCustomBossLocation activado en MobCombatSettings.yml. El mensaje es opcional: si falta o está vacío, usa $name: $distance blocks away!.

ClaveValoresPor defecto
locationMessageString, Color codes y los marcadores de posición que se listan más abajo$name: $distance blocks away! si falta o está vacío

Marcadores de posición:

ValorDescripción
$nameNombre visible del jefe personalizado
$distanceSe sustituye por la distancia a la que está el jugador del jefe personalizado. Es la opción preferible.
$locationSe sustituye por las coordenadas x, y, z del jefe personalizado
Ejemplo
announcementPriority: 3
locationMessage: "&4Cool boss: At $location only $distance blocks away!"

create_boss_location_message.jpg

Esto mostraría algo como Cool boss: At 414,55,347 only 10 blocks away!


uniqueLootList​

Define los objetos personalizados que suelta el jefe.

ClaveValoresPor defecto
uniqueLootListListninguno

Las entradas de botín del botín personalizado siguen el formato de tabla de botín. ¡Más información aquí! Ten en cuenta que algunos archivos antiguos pueden estar usando tablas de botín obsoletas cuyo aspecto difiere del ejemplo.

Ejemplo
uniqueLootList:
- filename: magmaguys_toothpick.yml
chance: 0.02
- minecraft:type=DIAMOND:amount=1:chance=0.9
- magmaguys_toothpick.yml:0.5:elitemobs.*

dropsEliteMobsLoot​

Define si el jefe soltará botín de EliteMobs, excluyendo los objetos de uniqueLootList. Incluye monedas.

ClaveValoresPor defecto
dropsEliteMobsLoottrue / falsetrue

Se recomienda establecerlo en false para los mobs de refuerzo.

Ejemplo
dropsEliteMobsLoot: true

dropsVanillaLoot​

Define si el jefe personalizado soltará el botín vanilla que normalmente corresponde a su tipo de mob vanilla.

ClaveValoresPor defecto
dropsVanillaLoottrue / falsetrue
Ejemplo
dropsVanillaLoot: true

dropsRandomLoot​

Define si el jefe personalizado soltará botín generado proceduralmente por EliteMobs. No incluye monedas Elite.

ClaveValoresPor defecto
dropsRandomLoottrue / falsetrue
Ejemplo
dropsRandomLoot: true

dropsSkillXP​

Define si el jefe suelta XP de habilidad al morir. Esta XP hace progresar las habilidades de armas y armadura y sus bonificaciones. El sistema de XP excluye refuerzos y monturas aunque este ajuste sea true.

ClaveValoresPor defecto
dropsSkillXPtrue / falsetrue

Se recomienda establecerlo en false para los mobs de refuerzo o los jefes que no deban contribuir a la progresión de habilidades.

Ejemplo
dropsSkillXP: false

Botín automático de clase​

classLoot activa una tirada independiente de equipo básico. Está activado por defecto salvo para bossType: REINFORCEMENT. classLootDifficulty acepta AUTO, NORMAL, HARD o MYTHIC; classLootRank acepta AUTO, TRASH, MINIBOSS o BOSS. Ambos usan AUTO por defecto; los valores no válidos generan una advertencia y vuelven a AUTO.

Define el equipo de clase como objetos normales con itemType: CLASS_LOOT referenciados en uniqueLootList. Participan en la selección de clase en vez de hacer tiradas independientes de botín único. El antiguo campo del jefe classLootItems no se lee. Consulta botín automático de clase para conocer los requisitos, límites, familias, perfiles y resolución de dificultad.


trails​

Define el rastro que el jefe deja tras de sí al moverse.

ClaveValoresPor defecto
trailsPartículas o materiales de objetoninguno

Solo funcionan como rastro las partículas que no requieren datos adicionales, las partículas simples de la lista de partículas válidas. Se omiten las que requieren datos, como DUST e ITEM. BLOCK y LAVA detienen el procesamiento del resto de la lista; evita esas entradas. Los nombres de material generan un rastro animado de objetos. Los rastros se ejecutan mientras el jefe sea válido, incluso estando quieto.

Ejemplo
trails:
- CLOUD

onDamageMessages​

Elige una línea aleatoria para sustituir temporalmente el nombre del jefe al dañar a un jugador. Restaura el nombre tras 80 ticks; los golpes solapados pueden sustituir la línea o restaurar el nombre antes de que venza el temporizador de la última línea.

ClaveValoresPor defecto
onDamageMessagesListninguno
Ejemplo
onDamageMessages:
- "I hit you!"
- "Haha I hit you!"

create_boss_damage_message.jpg


onDamagedMessages​

Elige una línea aleatoria para sustituir temporalmente el nombre del jefe al producirse un evento de daño de EliteMobs. No se limita al daño de jugadores. Restaura el nombre tras 80 ticks; los eventos solapados pueden sustituir la línea o restaurar el nombre antes de que venza el temporizador de la última línea.

ClaveValoresPor defecto
onDamagedMessagesListninguno
Ejemplo
onDamagedMessages:
- "You hit me!"
- "I've been hit!"

create_boss_damaged_message.jpg


mountedEntity​

Define la entidad que el jefe montará y sobre la que cabalgará.

ClaveValoresPor defecto
mountedEntityNombre del archivo del jefe que se montará o tipo de entidadninguno

No intentes hacer que el jefe se monte a sí mismo.

Ejemplo
mountedEntity: wild_wolf.yml

create_boss_mounted.jpg

Nota: Los jefes regionales comparten su correa con la entidad que montan, lo que significa que ambos serán arrastrados de vuelta a la ubicación de aparición si superan la distancia permitida por dicha correa.


announcementPriority​

Define el nivel de prioridad de los anuncios. Las prioridades bajas hacen que no se emita ningún anuncio; las altas permiten anunciar no solo en el chat, sino también en Discord si está configurado.

ClaveValoresPor defecto
announcementPriorityInteger0

Nota: si la clave falta en un archivo de jefe que sí tiene texto de anuncio (locationMessage, spawnMessage, deathMessage, escapeMessage o una lista deathMessages no vacía), EliteMobs escribe announcementPriority: 0 en el archivo al cargarlo, para que el ajuste sea visible y fácil de subir. El jefe sigue comportándose como prioridad 0 hasta que lo cambies.

Esta es la lista de lo que hace cada prioridad:

ValorDescripción
0Valor por defecto. Sin anuncios de aparición o huida ni seguimiento; el texto de muerte configurado aún puede enviarse en privado a los atacantes.
1Permite los mensajes configurados de aparición, muerte y huida en el chat. El seguimiento mediante /em está disponible si showCustomBossLocation está activado; locationMessage es opcional.
2Idéntico a 1 para los jefes personalizados: no existe una ruta de código distinta para la prioridad 2. (Los eventos personalizados sí tratan el 2 de forma diferente; consulta Sistema de prioridad de anuncios).
3Además de lo indicado en 1, los mensajes de difusión se reflejarán en Discord si está configurado. Información sobre la configuración de Discord aquí.

Este es un ejemplo de un jefe al que se puede seguir y que puede enviar mensajes de aparición, muerte y huida tanto en el chat como en Discord:

Ejemplo
announcementPriority: 3

Nota: Configura spawnMessage, deathMessage/deathMessages y escapeMessage para sus anuncios en chat y Discord. El seguimiento dispone de un mensaje de ubicación predeterminado; configura locationMessage solo para personalizarlo.


followDistance​

Define la distancia a la que los jefes reaccionan y entran en combate. Se mide desde el propio mob.

ClaveValoresPor defecto
followDistanceInteger0

Un followDistance positivo sustituye el atributo nativo de alcance de seguimiento; 0 deja el atributo sin cambios.

Nota 1: Los jefes regionales no alertas dividen su alcance actual entre 3 al ralentizarse al aparecer o salir de combate. Al entrar en combate recuperan el alcance registrado. Así se evita que reaccionen desde demasiado lejos y provoquen problemas con la correa.

Nota 2: Cuanto mayor sea el followDistance, más carga supone el jefe para la CPU del servidor. ¡Úsalo con cuidado y responsabilidad!

Ejemplo
followDistance: 30

Establece un alcance de 30 bloques: si un jugador se acerca al jefe dentro de esa distancia, este empezará a perseguirlo y atacarlo.


onDeathCommands​

Define la lista de comandos que se ejecutan cuando muere el jefe personalizado.

ClaveValoresPor defecto
onDeathCommandsListninguno

Los comandos se ejecutan desde la consola. Un comando con $chance=x$ y $players hace una tirada independiente por atacante. La lista admite los siguientes marcadores de posición:

ValorDescripción
$levelMarcador de posición para el nivel del jefe.
$nameMarcador de posición para el nombre del jefe.
$chance=x$Hace que un comando tenga una probabilidad de ejecutarse.
$playersHace que el comando se ejecute una vez por cada jugador de la lista de atacantes, sustituyéndose cada vez por el nombre de usuario de un jugador distinto de esa lista.
$locationWorldNameNombre del mundo en el momento de la muerte.
$locationXCoordenada X del jefe en el momento de su muerte.
$locationYCoordenada Y del jefe en el momento de su muerte.
$locationZCoordenada Z del jefe en el momento de su muerte.
$damager1nameNombre de usuario de quien más daño infligió
$damager2nameNombre de usuario de quien infligió el segundo mayor daño
$damager3nameNombre de usuario de quien infligió el tercer mayor daño

Echa un vistazo al ejemplo de más abajo para entender mejor cómo funcionan.

Ejemplo
onDeathCommands:
- "say $players has killed $name! That was level $level!"
- "$chance=0.5$ say What a kill!"

create_boss_mounted.jpg

Si Player1, Player2 y Player3 dañaron al jefe antes de matarlo, esta será la salida del comando en la 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!

Además, hay un 50 % de probabilidades de que también se muestre lo siguiente:

say What a kill!

onSpawnCommands​

Define la lista de comandos que se ejecutarán cuando aparezca el jefe.

ClaveValoresPor defecto
onSpawnCommandsListninguno

Los comandos se ejecutan desde la consola y admiten $chance=x$. Este evento no proporciona los marcadores de jefe, ubicación o jugador de onDeathCommands.

Ejemplo
onSpawnCommands:
- say Boss has spawned!

create_boss_mounted.jpg


onCombatEnterCommands​

Define la lista de comandos que se ejecutarán cuando el jefe entre en combate.

ClaveValoresPor defecto
onCombatEnterCommandsListninguno

Los comandos se ejecutan desde la consola y admiten $chance=x$. Este evento no proporciona los marcadores de jefe, ubicación o jugador de onDeathCommands.

Ejemplo
onCombatEnterCommands:
- say Boss has entered combat!

create_boss_mounted.jpg


onCombatLeaveCommands​

Define la lista de comandos que se ejecutan cuando el jefe sale de combate.

ClaveValoresPor defecto
onCombatLeaveCommandsListninguno

Los comandos se ejecutan desde la consola y admiten $chance=x$. Este evento no proporciona los marcadores de jefe, ubicación o jugador de onDeathCommands.

Ejemplo
onCombatLeaveCommands:
- say Boss has left combat!

create_boss_mounted.jpg


disguise​

Define el disfraz de LibsDisguises si ese plugin está activado. Más información aquí.

ClaveValoresPor defecto
disguiseStringninguno
customDisguiseDataStringninguno
Ejemplo de disfraz
disguise: CHICKEN

create_boss_mounted.jpg

Ejemplo de disfraz 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}

create_boss_mounted.jpg

Define un disfraz personalizado de Skindex. Consulta esta página para aprender a dar el formato correcto a estos datos.


customModel​

Define el modelo personalizado que se usará, si tienes un modelo personalizado y los plugins FreeMinecraftModels o ModelEngine. Más información sobre cómo crear y usar modelos personalizados aquí.

ClaveValoresPor defecto
customModelStringninguno
Ejemplo
customModel: your_model

customModelMountPointID​

Define el ID del punto de montura para modelos personalizados cuando el jefe monta a otra entidad o es montado por ella.

ClaveValoresPor defecto
customModelMountPointIDStringninguno
Ejemplo
customModelMountPointID: your_mount_point_id


frozen​

Pone a cero el atributo de velocidad de movimiento y elimina la velocidad inmediatamente y un tick después de un evento de daño de EliteMobs. Los jefes congelados mantienen la IA y pueden atacar. Este ajuste no detiene scripts, teletransportes ni todas las mecánicas de movimiento propias de cada entidad.

ClaveValoresPor defecto
frozentrue / falsefalse
Ejemplo
frozen: true

ai​

Define si el jefe tiene la IA activada. Cuando se establece en false, el jefe no se mueve ni ataca por sí mismo. Esto resulta útil para jefes que se controlan por completo mediante Elite Scripts.

ClaveValoresPor defecto
aitrue / falsetrue
Ejemplo
ai: false

behavior​

behavior selecciona un programa Lua Mind reutilizable de plugins/EliteMobs/behaviors/. Por ejemplo:

entityType: ZOMBIE
ai: true
behavior: basic_melee.lua

El basic_melee.lua incluido combina módulos de selección de objetivo, persecución, ataque cuerpo a cuerpo y deambulación de behaviors/modules/. Edita o copia un programa de comportamiento allí; no es un poder y no pertenece a powers/.

Si el jefe omite behavior, usa el ajuste de propiedades de su tipo de entidad. behavior: native selecciona explícitamente la IA nativa. ai: false y los jefes neutrales no inician programas de comportamiento. El cargador normal del jefe sigue gestionando aparición, equipo, poderes, persistencia y eliminación.

Los programas requieren el servicio Mind nativo en una versión compatible del servidor. Un archivo desconocido o no válido es un error de configuración, no una petición para elegir otra IA silenciosamente. Los ID de programa deben usar el espacio de nombres elitemobs:; las referencias a subcarpetas usan barras /. Consulta la referencia del contexto Mind para conocer la API.

alwaysShowName​

Mantiene visible el nombre fuera de combate. El ajuste global alwaysShowEliteMobNameTags también puede activarlo. FreeMinecraftModels actual usa un hueso tag_, como tag_head, para colocar el nombre si existe; en caso contrario lo coloca sobre la caja de colisión del modelo. Las versiones antiguas de FMM pueden requerir un anclaje en el modelo. Consulta modelos personalizados para el comportamiento de cada modelo.

ClaveValoresPor defecto
alwaysShowNametrue / falsefalse
Ejemplo
alwaysShowName: true

reinforcement​

Marca la definición como refuerzo. Omite la inicialización de ubicaciones regionales normales y excluye el botín automático de clase. El registro de ubicaciones instanciadas sigue su propio proceso. El ajuste no invoca al jefe ni establece un invocador; el seguimiento de refuerzos y monturas durante la ejecución controla otras exclusiones de recompensas por separado.

ClaveValoresPor defecto
reinforcementtrue / falsefalse
Ejemplo
reinforcement: true

song​

Define la música que el jefe ofrece a jugadores cercanos tras aparecer. El paquete de recursos debe definir la clave del sonido y su audio .ogg.

ClaveValoresPor defecto
songStringninguno

Configura un followDistance positivo para definir el alcance de inicio. Cada 10 ticks, el jefe busca jugadores en su mundo dentro de esa distancia configurada. Una vez iniciada, la música continúa mientras el jugador esté conectado, en el mismo mundo y a no más de 1,5 veces el alcance de seguimiento registrado del jefe. Eliminar el jefe la detiene. La música del jefe tiene prioridad sobre el ambiente de mazmorra; cada jugador oye una sola pista gestionada a la vez.

Usa name=SOUND_KEY length=MILLISECONDS, con un espacio entre ambos campos. Las duraciones son enteros en milisegundos convertidos a ticks, redondeando hacia abajo y con un retardo mínimo de un tick. La reproducción usa la categoría MUSIC con volumen 1 y tono 1.

Ejemplo

Hay dos formas de configurar canciones. Esta es la primera:

song: name=elitemobs:ice_queen.idle length=76370

Esto reproducirá la canción ice_queen.idle durante 76370 milisegundos y después la repetirá en bucle. Ten en cuenta que la ubicación de la canción la determina el paquete de recursos.

Esta es la segunda forma de configurar canciones:

song: name=elitemobs:ice_queen.end_transition length=14328->name=elitemobs:ice_queen.end_loop length=28657

Esto reproducirá la canción ice_queen.end_transition durante 14328 milisegundos, después pasará a ice_queen.end_loop durante 28657 milisegundos y repetirá end_loop en bucle.

Esto permite que los jefes tengan una canción de «introducción» o «transición» y después una pista principal que se repite en bucle.


cullReinforcements​

Controla si los refuerzos registrados, incluidas las invocaciones GLOBAL, se eliminan al retirar el jefe. La salida de combate y la recuperación completa de salud eliminan por separado los refuerzos normales registrados; ponerlo en false no garantiza que todas las invocaciones sobrevivan.

ClaveValoresPor defecto
cullReinforcementstrue / falsetrue
Ejemplo
cullReinforcements: true

movementSpeedAttribute​

Define la velocidad de movimiento del jefe.
Nota: cualquier valor por encima de 0.36 puede resultar demasiado rápido.

ClaveValoresPor defecto
movementSpeedAttributeDoubleninguno
Ejemplo
movementSpeedAttribute: 0.3

patrol​

Añade una ruta nativa con búsqueda automática de caminos al Jefe Personalizado. Los nodos son desplazamientos desde su punto de aparición configurado, o coordenadas exactas en su mundo con patrol.relative: false. patrol.startNodeWaitSeconds hace que el jefe descanse en el primer nodo una vez por vuelta. Los tramos largos se dividen sin forzar la carga de chunks; la patrulla se pausa durante el combate. El jefe necesita ai: true, velocidad positiva y no puede ser pasajero. Consulta Patrullas de NPCs y jefes para ver el esquema, el editor, la persistencia y los controles Lua.

Fases del jefe​

Los jefes pueden tener fases que cambian cuando el jefe alcanza un determinado porcentaje de salud. Cuando esto ocurre, el jefe pasa a usar un archivo de configuración distinto, lo que significa que puede cambiar cualquier aspecto del jefe, incluido el tipo de entidad.
Para saber más sobre las fases de jefe, haz clic aquí.

ClaveDescripciónValoresPor defecto
phasesDefine las fases que tendrá el jefe. ObligatorioListninguno
phaseSpawnLocationDefine dónde aparece el jefe de la fase. OpcionalStringninguno
Ejemplo

Para este ejemplo vamos a mostrar tres archivos de configuración distintos.

Primer archivo de configuración de jefe: phase_1_boss.yml

name: "Phase 1"
entityType: ZOMBIE
phases:
- phase_2_boss.yml:0.60
- phase_3_boss.yml:0.30

Segundo archivo de configuración de jefe: phase_2_boss.yml

name: "Phase 2"
entityType: SKELETON

Tercer archivo de configuración de jefe: phase_3_boss.yml

name: "Phase 3"
phaseSpawnLocation: same_as_boss,10,64,100,0,0
entityType: RAVAGER

Este jefe cambiaría al archivo de configuración phase_2_boss.yml al 60 % de salud, y al archivo de configuración phase_3_boss.yml al 30 % de salud, en el mismo mundo que la fase 2 y en las coordenadas x=10, y=64 y z=100. El tipo de entidad y el nombre del jefe también cambiarían.

El formato de una entrada es filename:healthPercentage, donde el porcentaje es una fracción de al menos 0 e inferior a 1. Una entrada con otro formato, una fracción fuera de rango o un archivo de jefe que no existe impide que el jefe aparezca.

phaseSpawnLocation es opcional; si no se establece, el jefe cambiará de fase en el lugar donde se encuentre.

Es importante tener en cuenta lo siguiente al diseñar un jefe por fases:

  • El archivo de configuración de la primera fase define todas las fases del jefe.
  • La amenaza y el daño contabilizado de los jugadores se mantienen entre fases.
  • Se cancela el golpe que cruza el umbral y la siguiente fase empieza con el porcentaje de salud configurado. Cambiar healthMultiplier cambia su salud absoluta en ese umbral. El exceso de daño no pasa a la siguiente forma.
  • Los jefes por fases no instanciados vuelven a la fase 1 al recuperar toda su salud, incluida la regeneración configurada tras el combate. Los instanciados omiten este reinicio.
  • Los jefes por fases que además son jefes regionales comparten el mismo radio de correa y la misma mecánica de timeout en todas las fases, y reaparecerán como el jefe de la fase 1 cuando termine el temporizador.
  • El archivo de configuración de la última fase define el botín del jefe.
  • Las fases no se pueden saltar: el daño excesivo hará igualmente que el jefe cambie de fase en el porcentaje definido.
  • El cambio de fase elimina la montura anterior. La nueva fase puede definir su propia montura.
  • Los cambios de fase y reinicios por salud completa usan aparición silenciosa, por lo que no envían el anuncio normal de aparición.

Jefes regionales​

Los jefes regionales son un tipo concreto de jefe personalizado que aparece en una ubicación configurada y que puede reaparecer en ella tras un retardo. Además, pueden tener correas que aseguran que permanezcan en una zona determinada, entre otras funciones.

Se usan en todo el contenido de mazmorras. Para saber más sobre los jefes regionales, haz clic aquí.

ClaveDescripciónValoresPor defecto
isRegionalBossDefine si el jefe es regional. Debe ser true si quieres un jefe regional.true / falsefalse
spawnLocationsDefine las ubicaciones de aparición del jefe.¡Añádelas mediante el comando /em place boss [filename.yml]!ninguno
spawnCooldownDefine el tiempo de reaparición del jefe, en minutos.Integer0
leashRadiusDefine la distancia que el jefe puede alejarse de su punto de aparición antes de ser arrastrado de vuelta. Se mide desde el punto de aparición.Doubleninguno
onSpawnBlockStatesDefine los bloques que el jefe modificará al aparecer.Consulta los comandos de más abajoninguno
onRemoveBlockStatesAplica bloques guardados al morir, al usar el comando de eliminación o al avanzar de fase; excluye tiempo límite, reinicio por salud completa, recarga y apagado.Consulta los comandos de más abajoninguno

Como se indica, los jefes regionales pueden tener onSpawnBlockStates y onRemoveBlockStates.

Es una función muy útil para modificar arenas de combate durante la lucha, sobre todo si se combina con los cambios de fase, ya que permite abrir y cerrar arenas de combate cambiando los estados de los bloques.

El formato de estos datos es demasiado complejo para escribirlo a mano, así que existen varios comandos que te ayudan a configurarlos:

ComandoDescripción
/em transitiveBlocks register [regional_boss_file.yml] [ON_SPAWN/ON_REMOVE]Empieza a registrar selecciones manuales de bloques para los estados de bloque al aparecer o al desaparecer.
/em transitiveBlocks edit [regional_boss_file.yml] [ON_SPAWN/ON_REMOVE]Edita los estados de bloque al aparecer o al desaparecer.
/em transitiveBlocks registerArea [regional_boss_file.yml] [ON_SPAWN/ON_REMOVE]Permite a los administradores seleccionar grandes áreas de bloques para guardarlas como estados.
/em transitiveBlocks editArea [regional_boss_file.yml] [ON_SPAWN/ON_REMOVE]Permite a los administradores editar grandes áreas de bloques para guardarlas como estados.
Ejemplo de uso:

Supongamos que quieres crear un combate en el que el jefe aparece en una arena con una puerta abierta, y quieres que la puerta se cierre cuando empieza el combate y se vuelva a abrir cuando termina.

Para conseguirlo necesitarás dos fases de jefe y registrar tres conjuntos distintos de estados de bloque. En este ejemplo, llamaré a esas fases phase_1_boss.yml y phase_2_boss.yml respectivamente.

  1. Usa /em transitiveBlocks register phase_1_boss.yml ON_SPAWN o /em transitiveBlocks edit phase_1_boss.yml ON_SPAWN para registrar los bloques de la puerta en su estado abierto.

Esto significa registrar los bloques de aire. Aquí se recomienda la selección por área.

Es necesario para asegurarse de que la puerta esté abierta cuando aparece el jefe, de modo que los jugadores tengan garantizada una entrada.

  1. Usa /em transitiveBlocks register phase_2_boss.yml ON_SPAWN o /em transitiveBlocks edit phase_2_boss.yml ON_SPAWN para registrar los bloques de la puerta en su estado cerrado.

Esto significa registrar los bloques sólidos de la puerta que impedirían al jugador salir.

Es necesario para que la puerta se vuelva sólida cuando el jefe entra en la fase 2, impidiendo que los jugadores salgan.

  1. Usa /em transitiveBlocks register phase_2_boss.yml ON_REMOVE o /em transitiveBlocks edit phase_2_boss.yml ON_REMOVE para registrar los bloques de la puerta en su estado abierto.

Esto significa volver a registrar los mismos bloques del primer paso (los bloques de aire).

Es necesario para abrir la puerta cuando el jefe muere, permitiendo a los jugadores salir de la arena.


alert​

Define si el jefe está alerta. Por defecto, los jefes regionales están ralentizados y tienen una distancia de aggro menor cuando están fuera de combate. Este ajuste evita que los jefes regionales se ralenticen y tengan una distancia de aggro menor fuera de combate, de modo que siempre se comportarán igual dentro y fuera de combate.

ClaveValoresPor defecto
alertBooleanfalse
Ejemplo
alert: true

removeAfterDeath​

Elimina permanentemente esta ubicación regional tras la muerte o el tiempo límite. Se usa en encuentros de una sola vez, como los santuarios de BetterStructures. La definición compartida del jefe puede conservar otras ubicaciones.

ClaveValoresPor defecto
removeAfterDeathBooleanfalse
Ejemplo
removeAfterDeath: true

Jefes instanciados​

Los jefes instanciados son un subtipo de jefes regionales que se usa en las mazmorras instanciadas.

ClaveDescripciónValoresPor defecto
instancedConvierte al jefe personalizado en instanciado. Obligatorio.true / falsefalse

Marcar los jefes como instanciados es obligatorio para que las mazmorras instanciadas funcionen correctamente. También recomendamos quitar las correas a cualquier jefe instanciado.

Ejemplo
instanced: true