Saltar al contenido principal

Creando Jefes

webapp_banner.jpg

Creando jefes personalizados

Antes de comenzar

¿Dónde van los archivos de jefes?

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

Es posible crear subcarpetas, como ~/plugins/EliteMobs/custombosses/misjefes. Esto se recomienda para mantener las cosas organizadas.

Un archivo define un jefe, aunque es posible generar el mismo jefe varias veces e incluso establecer varias ubicaciones de generación para el mismo archivo de jefe.

Es posible usar la webapp para crear jefes personalizados y más de forma rápida y sencilla.

Configuración mínima posible

La configuración mínima posible para un Jefe Personalizado es:

Ten en cuenta que esto es solo un archivo vacío. Esto generará un jefe zombie personalizado con un nombre personalizado, ya que esos son los valores predeterminados. ¡Todo en esta página es opcional!

Ejemplo de jefe

Echemos un vistazo a un ejemplo de cómo se ve un archivo de jefe.

Ejemplo
isEnabled: true
entityType: ZOMBIE
name: '&eJefe de prueba'
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.yml
spawnMessage: ¡Un jefe de prueba ha sido generado!
deathMessage: ¡Un jefe de prueba ha sido asesinado por $players!
escapeMessage: ¡Una entidad jefe de prueba ha escapado!
locationMessage: 'Entidad de prueba: $location'
uniqueLootList:
- magmaguys_toothpick.yml:1
dropsEliteMobsLoot: true
dropsVanillaLoot: true
trails:
- BARRIER
onDamageMessages:
- "¡Te he golpeado!"
onDamagedMessages:
- "¡Me han golpeado!"

Configuraciones básicas

isEnabled

Establece si el jefe está habilitado.

ClaveValoresPor defecto
isEnabledtrue / falsetrue
Ejemplo
isEnabled: true

entityType

Establece el tipo de entidad del jefe.

ClaveValoresPor defecto
entityTypeElige de aquí.
El valor también debe estar presente en la carpeta ~plugins/EliteMobs/mobproperties.
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, esto puede resultar en grandes ráfagas de daño en poco tiempo. Debido a esto, generalmente no recomendamos usarlos como mobs Elite con frecuencia. Sin embargo, si aún deseas usarlos, sugerimos establecer damageMultiplier a alrededor de 0.1.

También recomendamos usar el siguiente EliteScript para evitar que los Cubos de Magma o Slimes paralicen a los jugadores:

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

Establece el nombre del jefe.

ClaveValoresPor defecto
nameString, acepta códigos de color y los marcadores listados abajo"Default Name"
Ejemplo
name: "$normalLevel &c¡Jefe genial!"

create_boss_name_pic_no_level.jpg

Si deseas incluir el nivel del jefe en su campo de nombre, simplemente usa uno de los siguientes marcadores.

MarcadorDescripciónEjemploSalida (para un jefe nivel 10)
$levelReemplaza con el nivel"$level Jefe genial"10 Jefe genial
$normalLevelReemplaza con el nivel, hecho para mobs normales"$normalLevel Jefe genial"[10] Jefe genial
$minibossLevelReemplaza con el nivel, hecho para minijefes"$minibossLevel Jefe genial"〖10〗 Jefe genial
$bossLevelReemplaza con el nivel, hecho para jefes"$bossLevel Jefe genial"『10』 Jefe genial
$reinforcementLevelReemplaza con el nivel, hecho para refuerzos"$reinforcementLevel Jefe genial"〔10〕 Jefe Genial
$eventBossLevelReemplaza con el nivel, hecho para jefes de eventos"$eventBossLevel Jefe genial"「10」 Jefe genial
Ejemplo
name: "$normalLevel &c¡Jefe genial!"

create_boss_name_pic.jpg


level

Establece el nivel del jefe.

ClaveValoresPor defecto
levelNúmeros Integer positivos o dynamicdynamic

dynamic se usa para eventos y se ajusta al nivel de los jugadores cercanos en el momento de la generación del jefe. No se recomienda para jefes regionales.

Ejemplo
level: 1

scale

Establece la escala (tamaño) del jefe.

ClaveValoresPor defecto
scaleMultiplier1.0

Al escalar, 1.0 representa el tamaño predeterminado. Para hacer la entidad más grande, aumenta el valor (ej. 1.2). Para hacer la entidad más pequeña, disminuye el valor (ej. 0.8).

Ejemplo
scale: 1.2

bossType

Establece qué tipo es el jefe. Esto se usa para mostrar barras de salud del jefe y otras características.

ClaveValoresPor defecto
bossTypeNORMAL, MINIBOSS, BOSS, EVENTNORMAL

MINIBOSS, BOSS, EVENT harán que el plugin muestre barras de salud cuando los jugadores estén luchando contra estos tipos de jefes.

Ejemplo
bossType: MINIBOSS

silent

Establece si los sonidos del jefe deben ser silenciados.

ClaveValoresPor defecto
silentBooleanfalse

Cuando se establece en true, esta opción silencia todos los sonidos predeterminados de mobs de Minecraft, haciendo que el jefe no produzca ningún sonido.

Ejemplo
silent: true

bossType

Establece qué tipo es el jefe. Esto se usa para mostrar barras de salud del jefe y otras características.

ClaveValoresPor defecto
bossTypeNORMAL, MINIBOSS, BOSS, EVENTNORMAL

MINIBOSS, BOSS, EVENT harán que el plugin muestre barras de salud cuando los jugadores estén luchando contra estos tipos de jefes.

Ejemplo
bossType: MINIBOSS

healthMultiplier

Establece la salud del jefe. El valor de esta configuración también determina el tipo de barra de salud que se muestra durante la pelea. Valores más altos mostrarán una barra de salud de minijefe o jefe completo.

ClaveValoresPor defecto
healthMultiplierMultiplier1.0
Ejemplo
healthMultiplier: 1.5

damageMultiplier

Establece el multiplicador de daño del jefe.

ClaveValoresPor defecto
damageMultiplierMultiplier1.0
Ejemplo
damageMultiplier: 1.5

isBaby

Establece si el jefe usa la variante bebé del mob. Solo se puede aplicar a mobs con variantes bebé. Si deseas disfrazar al jefe pero también quieres que permanezca como bebé mientras está disfrazado (asegúrate de que la entidad de disfraz también admita la variante bebé) puedes usar esta configuración:

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

helmet/chestplate/leggings/boots/mainhand/offhand

Establece la armadura del jefe. No todos los modelos de minecraft pueden mostrar armadura. La armadura del jefe es puramente cosmética y no afecta el gameplay.

ClaveValoresPor defecto
helmetMaterial, UUIDnone
chestplateMaterialnone
leggingsMaterialnone
bootsMaterialnone
mainHandMaterialnone
offHandMaterialnone

Nota: Este campo también te permite establecer modelos personalizados para objetos. Para establecer el ID del modelo personalizado, agrega el ID después del tipo de material siguiendo este formato: ITEM_MATERIAL:ID. Ejemplo: DIAMOND_SWORD:1 establece que el jefe use una espada de diamante con el modelo personalizado #1 en tu paquete de texturas.

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

Nota 3: El campo de casco también te permite establecer cascos de mob como cabezas de jugador. Simplemente obtén el UUID de la cabeza de jugador que te gustaría usar y escríbelo en el campo de casco. El jugador necesita estar en línea para que esto funcione o la cabeza se convertirá en una cabeza genérica de MineCraft. Puedes obtener UUID de jugadores de aquí.

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

Establece los poderes que tiene el jefe.

ClaveValoresPor defecto
powersConsulta la lista a continuaciónnone
Ejemplo
powers:
- hyper_loot.yml
- attack_arrow.yml

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


Configuración intermedia - Generando refuerzos

Los refuerzos también van en la categoría de poderes, usando las siguientes configuraciones:

Configuraciones de refuerzos
ClaveDescripciónValoresPor defecto
summonTypeQué desencadena la generación del refuerzo. Obligatorio.Consulta la lista a continuaciónnone
filenameNombre del archivo del jefe a generar como refuerzo. Obligatorio.Stringnone
chanceProbabilidad de que el refuerzo aparezca. Opcional.Double1.0
amountEstablece la cantidad de refuerzos a generar. Opcional.Integer1
inheritAggroHace que el refuerzo herede la agresión del jefe. Opcional.true / falsefalse
spawnNearbyHace que los refuerzos aparezcan en un radio de 30 bloques del jefe. Opcional.true / falsefalse
inheritLevelHace que el refuerzo herede el nivel del jefe. Opcionaltrue / falsefalse
customSpawnHace que el refuerzo aparezca usando el sistema de generación personalizado. Solo se usa para summonType: GLOBAL
locationUbicación de generación. Opcional.world_name,x,y,z o x,y,z para una ubicación relativa al jefe. El desplazamiento es relativo a la ubicación de generación para jefes regionales. También puedes usar same_as_boss para hacer que los refuerzos aparezcan en el mismo mundo que el jefe.none
lightningRodConfiguración especial para summonType: ON_COMBAT_ENTER_PLACE_CRYSTAL. Hace que los cristales del End generen rayos a su alrededor. Opcional.true / falsenone

Los tipos de invocación establecen las condiciones para la generación de los refuerzos. La siguiente es una lista de los tipos de invocación válidos:

Tipos de invocación
ValorDescripción
ONCESolo genera los refuerzos una vez, la primera vez que el jefe es dañado.
ON_HITGenera los refuerzos al recibir un golpe.
ON_COMBAT_ENTERGenera los refuerzos cuando el jefe entra en combate.
GLOBALGenera un refuerzo para cada jugador en línea. Requiere que la clave customSpawn tenga un custom spawn válido establecido.
ON_COMBAT_ENTER_PLACE_CRYSTALColoca cristales del End como refuerzos al entrar en combate, solo para usar con peleas de dragón personalizadas.

Ten en cuenta que también es posible generar refuerzos a través de Elite Scripts, por lo que hay formas más personalizables de generar refuerzos.

Ejemplo
powers:
- summonType: ON_COMBAT_ENTER
filename: test_boss.yml
chance: 0.5
amount: 5
inheritAggro: true
spawnNearby: true
inheritLevel: true
customSpawn: false
location: same_as_boss,10,20,30
lightningRod: false

Configuración experta - Creando tus propios poderes

Es posible crear tus propios poderes, ya sea en el archivo del jefe mismo o como un nuevo archivo de configuración en la carpeta de poderes. Puedes aprender más sobre eso aquí.

Limitando poderes basados en la dificultad de mazmorras instanciadas

Las mazmorras instanciadas pueden tener configuraciones de dificultad, y es posible hacer que un poder específico solo esté habilitado para dificultades específicas.

Opciones de limitación de poder
ClaveDescripciónValoresPor defecto
filenameNombre del archivo del poder.Stringnone
difficultyIDNombre de dificultad, coincidiendo con el nombre de la dificultad en el paquete de mazmorra.Stringnone

Esto solo se aplicará a mazmorras instanciadas.

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

spawnMessage

Establece el mensaje a enviar cuando el jefe aparece. Requiere configurar la announcementPriority.

ClaveValoresPor defecto
spawnMessageStrings y códigos de colornone
Ejemplo
announcementPriority: 3
spawnMessage: ¡Me levanto una vez más!

create_boss_spawn_message.jpg


deathMessages

Establece la lista de mensajes a enviar cuando el jefe muere. Requiere configurar la announcementPriority.

ClaveValoresPor defecto
deathMessagesStrings, códigos de color y los marcadores a continuaciónnone
Ejemplo
announcementPriority: 3
deathMessages:
- '&e&l---------------------------------------------'
- '&4¡El Jefe de Prueba ha sido asesinado!'
- '&c&l 1er Dañador: $damager1name &c¡con $damager1damage de daño!'
- '&6&l 2do Dañador: $damager2name &6¡con $damager2damage de daño!'
- '&e&l 3er Dañador: $damager3name &e¡con $damager3damage de daño!'
- '&4Asesinos: $players'
- '&e&l---------------------------------------------'

create_boss_death_message.jpg

Los mensajes de muerte usan los siguientes marcadores:

Marcadores
ValorDescripción
$damager1nameEl nombre del dañador principal
$damager2nameEl nombre del segundo dañador principal
$damager3nameEl nombre del tercer dañador principal
$damager1damageLa cantidad de daño del dañador principal
$damager2damageLa cantidad de daño del segundo dañador principal
$damager3damageLa cantidad de daño del tercer dañador principal
$playersMuestra una lista de todos los dañadores

onKillMessage

Establece el mensaje a enviar cuando el jefe mata a un jugador. Requiere configurar la announcementPriority.

ClaveValoresPor defecto
onKillMessageStrings y códigos de colornone
Ejemplo
announcementPriority: 3
onKillMessage: ¡Yo gano, tú pierdes!

create_boss_spawn_message.jpg


slimeSize

Establece el tamaño del jefe slime, pero solo funciona para Slimes y Cubos de Magma.

ClaveValoresPor defecto
slimeSizeInteger4
Ejemplo
slimeSize: 5

neutral

Establece si el jefe aparecerá como neutral o no. Esto solo se aplica a tipos de entidad que pueden ser neutrales como Lobos o Golems de Hierro.

ClaveValoresPor defecto
neutralBooleanfalse
Ejemplo
neutral: true

Configuraciones avanzadas

timeout

Establece la cantidad de tiempo, en minutos, antes de que el Jefe Personalizado desaparezca.

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

Establece que el jefe escape después de 20 minutos.


isPersistent

Establece si el jefe puede sobrevivir a una descarga de chunk. Solo se recomienda para jefes de eventos.

ClaveValoresPor defecto
isPersistenttrue / falsefalse
Ejemplo

Ejemplo:

isPersistent: true

damageModifiers

Establece armas contra las que los jefes pueden ser fuertes o débiles.

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

En este ejemplo, los jefes solo recibirán el 80% del daño de espadas de diamante (o 20% menos), pero recibirán el 200% del daño de tridentes (o 2x más).


normalizedCombat

Modifica el daño del jefe y la salud máxima para que coincidan con los valores de la entidad normalizada en ~/plugins/EliteMobs/mobproperties. Este es el valor predeterminado para jefes regionales para garantizar una curva de dificultad suave.

ClaveValoresPor defecto
normalizedCombattrue / falsefalse
Ejemplo

Ejemplo:

normalizedCombat: true

escapeMessage

Establece el mensaje que se transmite a los jugadores cuando el jefe escapa a través de la mecánica de timeout. Requiere que announcementPriority esté configurado.

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

create_boss_escape_message.jpg


locationMessage

Establece el mensaje que se muestra en la barra del jefe. Esto se usa para rastrear tanto la salud del Jefe Personalizado como su ubicación en el servidor. Requiere que annoucementPriority esté configurado.

ClaveValoresPor defecto
locationMessageString, Códigos de color y los marcadores listados abajonone

Marcadores:

ValorDescripción
$distanceEs reemplazado con la distancia a la que el jugador está del Jefe Personalizado. Esta es la opción preferible.
$locationEs reemplazado con las coordenadas de ubicación x y z del Jefe Personalizado
Ejemplo
announcementPriority: 3
locationMessage: "&4Jefe genial: ¡En $location a solo $distance bloques de distancia!"

create_boss_location_message.jpg

Esto mostraría algo como Jefe genial: En 414,55,347 ¡a solo 10 bloques de distancia!


uniqueLootList

Establece los Objetos Personalizados que caen del jefe.

ClaveValoresPor defecto
uniqueLootListListnone

Las entradas de botín en el Botín Personalizado siguen el formato de Tabla de Botín. ¡Información sobre eso aquí! Ten en cuenta que algunos archivos más antiguos pueden estar usando tablas de botín obsoletas que se ven diferentes al ejemplo.

Ejemplo
uniqueLootList:
- filename: magmaguys_toothpick.yml
chance: 0.02
- minecraft:type=DIAMOND:amount=1:chance=0.9
- SCRAP:level=5-10:amount=10-20:ignorePlayerLevel=false:chance=0.5
- UPGRADE_ITEM:level=5-10:amount=1-2:ignorePlayerLevel=false:chance=0.1
- magmaguys_toothpick.yml:0.5:elitemobs.*

dropsEliteMobsLoot

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

ClaveValoresPor defecto
dropsEliteMobsLoottrue / falsetrue

Se recomienda establecer en falso para mobs de refuerzo.

Ejemplo
dropsEliteMobsLoot: true

dropsVanillaLoot

Establece si el Jefe Personalizado soltará el botín vanilla usualmente asociado a su tipo de mob vanilla.

ClaveValoresPor defecto
dropsVanillaLoottrue / falsetrue
Ejemplo
dropsVanillaLoot: true

dropsRandomLoot

Establece si el Jefe Personalizado soltará botín generado proceduralmente de EliteMobs. No incluye monedas de elite.

ClaveValoresPor defecto
dropsRandomLoottrue / falsetrue
Ejemplo
dropsRandomLoot: true

trails

Establece el rastro que el jefe deja atrás al moverse.

ClaveValoresPor defecto
trailsParticles o materiales de objetosnone
Ejemplo
trails:
- CLOUD

onDamageMessages

Establece el mensaje que el Mob Jefe muestra cuando golpea a un jugador. Esta es una lista, y el que se usa se selecciona aleatoriamente de la lista.

ClaveValoresPor defecto
onDamageMessagesListnone
Ejemplo
onDamageMessages:
- "¡Te golpeé!"
- "¡Jaja te golpeé!"

create_boss_damage_message.jpg


onDamagedMessages

Establece el mensaje que el Mob Jefe muestra cuando es dañado por un jugador. Esta es una lista, y el que se usa se selecciona aleatoriamente de la lista.

ClaveValoresPor defecto
onDamagedMessagesListnone
Ejemplo
onDamagedMessages:
- "¡Me golpeaste!"
- "¡Me han golpeado!"

create_boss_damaged_message.jpg


mountedEntity

Establece la entidad que el jefe montará y cabalgará.

ClaveValoresPor defecto
onDamagedMessagesNombre del archivo del jefe a montar o tipo de entidadnone

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

Ejemplo
mountedEntity: wild_wolf.yml

create_boss_mounted.jpg

Nota: Los jefes regionales compartirán su correa con la entidad que están montando, lo que significa que ambos serán arrastrados de vuelta a la ubicación de generación si exceden la distancia permitida por su correa.


announcementPriority

Establece el nivel de prioridad para los anuncios. Las prioridades más bajas significan que no se hacen anuncios, las prioridades más altas pueden anunciar no solo en el chat sino también en discord si está configurado.

ClaveValoresPor defecto
announcementPriorityInteger1

Aquí hay una lista de lo que hacen las prioridades:

ValorDescripción
0El jefe estará completamente silencioso, sin mensajes de anuncio.
1Este es el predeterminado. Los jefes pueden enviar mensajes de chat, mensaje de aparición, mensajes de muerte y escape.
2Además de las cosas en 1, el jefe se establecerá para ser rastreable por los jugadores a través del menú /em.
3Además de las cosas en 2, los mensajes de transmisión se reflejarán en Discord si está configurado. Información de configuración de Discord aquí.

Aquí hay un ejemplo de un jefe que es rastreable, puede enviar mensajes de aparición/muerte/escape en el chat y en Discord:

Ejemplo
announcementPriority: 3

Nota: Tendrás que configurar el spawnMessage, deathMessage/deathMessages, escapeMessage para anuncios de chat y discord y el locationMessage para la función de rastreo si deseas usar el nivel de Prioridad de Anuncio correspondiente.


followDistance

Establece la distancia a la que los jefes agravan y entran en combate. Medido desde el mob mismo.

ClaveValoresPor defecto
followDistanceDoublenone, usa valores predeterminados de Minecraft

Nota 1: Los jefes regionales tienen la mitad de followDistance cuando están fuera de combate. Esto es para que no agraven desde demasiado lejos, lo que puede causar problemas de combate molestos debido a restricciones de correa.

Nota 2: Cuanto mayor sea followDistance, más intensivo en la CPU del servidor se vuelve el jefe. ¡Usa con cuidado y responsabilidad!

Ejemplo
followDistance: 30

Establece un rango de 30 bloques donde si un jugador se acerca a esa distancia cerca del jefe, comenzará a perseguir/atacar al jugador.


onDeathCommands

Establece la lista de comandos a ejecutar en la muerte del jefe personalizado.

ClaveValoresPor defecto
onDeathCommandsListnone

La lista admite los siguientes marcadores:

ValorDescripción
$levelMarcador para el nivel del jefe.
$nameMarcador 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 en la lista de dañadores y reemplaza cada vez con el nombre de usuario de un jugador diferente en esa lista.
$locationXCoordenada X del jefe en el momento de la muerte.
$locationYCoordenada Y del jefe en el momento de la muerte.
$locationZCoordenada Z del jefe en el momento de la muerte.
$damager1nameNombre de usuario del dañador principal
$damager2nameNombre de usuario del segundo dañador principal
$damager3nameNombre de usuario del tercer dañador principal

Echa un vistazo al ejemplo a continuación para obtener una mejor comprensión de cómo funcionan.

Ejemplo
onDeathCommands:
- "say $players ha matado a $name! ¡Ese era nivel $level!"
- "$chance=0.5$ say ¡Qué muerte!"

create_boss_mounted.jpg

Si Player1, Player2 y Player3 dañaron al jefe antes de matarlo, esta será la salida del comando desde la consola:

say Player1 ha matado a CustomBossName! ¡Ese era nivel X!
say Player2 ha matado a CustomBossName! ¡Ese era nivel X!
say Player3 ha matado a CustomBossName! ¡Ese era nivel X!

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

say ¡Qué muerte!

onSpawnCommands

Establece la lista de comandos que se ejecutarán en la aparición del jefe.

ClaveValoresPor defecto
onSpawnCommandsListnone

¡Esto usa los mismos marcadores que onDeathCommands! Los marcadores de dañador no se aplicarán ya que no habrá dañadores en este momento.

Ejemplo
onSpawnCommands:
- say ¡El jefe ha aparecido!

create_boss_mounted.jpg


onCombatEnterCommands

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

ClaveValoresPor defecto
onCombatEnterCommandsListnone

¡Esto usa los mismos marcadores que onDeathCommands! Los marcadores de dañador no se aplicarán ya que no habrá dañadores en este momento.

Ejemplo
onCombatEnterCommands:
- say ¡El jefe ha entrado en combate!

create_boss_mounted.jpg


onCombatLeaveCommands

Establece la lista de comandos a ejecutar cuando el jefe sale del combate.

ClaveValoresPor defecto
onCombatLeaveCommandsListnone

¡Esto usa los mismos marcadores que onDeathCommands!

Ejemplo
onCombatLeaveCommands:
- say ¡El jefe ha salido del combate!

create_boss_mounted.jpg


disguise

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

ClaveValoresPor defecto
disguiseStringnone
customDisguiseDataStringnone
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

Establece un disfraz personalizado de skindex. Consulta esta página para aprender cómo formatear correctamente estos datos.


customModel

Establece el modelo personalizado a 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
customModelStringnone
Ejemplo
customModel: your_model

frozen

Establece si el jefe puede moverse. Los jefes congelados aún pueden atacar.
Nota: esto podría no funcionar en algunas entidades.

ClaveValoresPor defecto
frozentrue / falsefalse
Ejemplo
frozen: true

song

Establece la música que reproducirá un jefe, comenzando cuando aparece. Requiere el archivo .ogg de la canción en el paquete de recursos.

ClaveValoresPor defecto
songStringnone

Nota: La configuración de song requiere que followDistance esté establecido, ya que followDistance determina el rango en el que la canción comienza a reproducirse. Consulta el ejemplo sobre cómo establecer la length (milisegundos) de la song.

Ejemplo

Hay dos formas de configurar canciones. Aquí está la primera:

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

Esto reproducirá la canción ice_queen.idle durante 76370 milisegundos y luego la repetirá. Ten en cuenta que la ubicación de la canción está determinada por el paquete de recursos.

Aquí está 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 y luego hará la transición a ice_queen.end_loop durante 28657 milisegundos y repetirá el end_loop.

Esto permite que los jefes tengan una canción de "introducción" o "transición" y luego una pista principal que se repite.


cullReinforcements

Establece si los refuerzos del jefe serán eliminados cuando el jefe muera.

ClaveValoresPor defecto
cullReinforcementstrue / falsetrue
Ejemplo
cullReinforcements: true

movementSpeedAttribute

Establece la velocidad de movimiento del jefe.
Nota: cualquier cosa más allá de 0.36 podría ser demasiado rápido.

ClaveValoresPor defecto
movementSpeedAttributeDoublenone
Ejemplo
movementSpeedAttribute: 0.3

Fases de jefe

Los jefes pueden tener fases que cambian cuando el jefe alcanza un cierto porcentaje de salud. Cuando esto sucede, el jefe comienza a usar un archivo de configuración diferente, lo que significa que todo sobre el jefe puede cambiar, incluidas cosas como el tipo de entidad.
Para obtener más información sobre las fases de jefe, haz clic aquí.

ClaveDescripciónValoresPor defecto
phasesEstablece las fases que tendrá el jefe. ObligatorioListnone
phaseSpawnLocationEstablece dónde aparece el jefe de fase. OpcionalStringnone
Ejemplo

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

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

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

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

name: "Fase 2"
entityType: SKELETON

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

name: "Fase 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 para una entrada es filename:healthPercentage.

phaseSpawnLocation es opcional, si no se establece, el jefe cambiará de fases donde esté parado.

Las siguientes cosas son importantes de saber al diseñar un jefe de fase:

  • El archivo de configuración de la primera fase establece todas las fases del jefe.
  • La amenaza/daño contado se mantiene entre fases para los jugadores.
  • El cambio de fases se basa en el porcentaje de salud perdida, que se conserva al cambiar a una fase diferente. Esto significa que aumentar o disminuir el healthMultiplier entre fases no curará ni dañará al jefe, seguirá cambiando con el mismo porcentaje, pero tendrá más o menos salud para esa fase.
  • Los jefes de fase vuelven a la fase 1 si salen del combate.
  • Los jefes de fase que también son jefes regionales comparten el mismo radio de correa y mecánica de tiempo de espera 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 establece el botín del jefe.
  • Las fases no se pueden omitir: el daño excesivo aún hará que el jefe cambie de fases en el porcentaje definido.
  • Los jefes de fase que tienen monturas dejan de estar montados al cambiar de fases.

Jefes regionales

Los jefes regionales son un tipo específico de Jefes Personalizados que aparecen en una ubicación configurada específica y pueden reaparecer en esa ubicación después de un retraso. Además, pueden tener correas que aseguran que permanezcan en una zona específica, entre otras características.

Estos se usan para todo el contenido de mazmorras. Para obtener más información sobre jefes regionales, haz clic aquí.

ClaveDescripciónValoresPor defecto
isRegionalBossEstablece si el jefe es regional. Debe ser verdadero si quieres un jefe regional.true / falsefalse
spawnLocationEstablece las ubicaciones de generación del jefe.¡Agrégalas a través del comando /em addSpawnLocation [filename.yml]!none
spawnCooldownEstablece el tiempo de reutilización de reaparición del jefe, en minutos.Integer0
leashRadiusEstablece la distancia que el jefe puede alejarse de su punto de generación antes de ser arrastrado de vuelta. Medido desde la generación.Doublenone
onSpawnBlockStatesEstablece los bloques que el jefe modificará cuando aparezca.Consulta los comandos a continuaciónnone
onRemoveBlockStatesEstablece los bloques que el jefe modificará cuando desaparezca.Consulta los comandos a continuaciónnone

Como se indica, los Jefes Regionales pueden tener onSpawnBlockStates y onRemoveBlockStates.

Esta es una característica muy útil para modificar arenas de combate durante el combate, especialmente cuando se combina con cambios de fase, ya que se vuelve posible abrir y cerrar arenas de combate a través del cambio de estados de bloques.

El formato para estos es demasiado complejo para escribirlo manualmente, por lo que existen algunos comandos para ayudarte a configurarlos:

ComandoDescripción
/em registerblocks [regional_boss_file.yml] [on_spawn/on_remove]Comienza a registrar selecciones de bloques manuales para estados de bloques al aparecer o al eliminar.
/em registerblocksedit [regional_boss_file.yml] [on_spawn/on_remove]Edita los estados de bloques al aparecer o al eliminar.
/em registerblocksarea [regional_boss_file.yml] [on_spawn/on_remove]Permite a los administradores seleccionar grandes áreas de bloques para guardar como estados.
/em registerblocksareaedit [regional_boss_file.yml] [on_spawn/on_remove]Permite a los administradores editar grandes áreas de bloques para guardar como estados.
Ejemplo de uso:

Digamos que quieres hacer una pelea donde un jefe aparece en una arena que tiene una puerta abierta, y quieres hacer que la puerta se cierre cuando comience la pelea y se vuelva a abrir cuando termine la pelea.

Para hacer esto, necesitarás dos fases de jefe y registrar tres conjuntos diferentes de estados de bloques. Para este ejemplo, nombraré estas fases phase_1_boss.yml y phase_2_boss.yml respectivamente.

  1. Usa /em registerblocks phase_1_boss.yml on_spawn o /em registerblocksedit phase_1_boss.yml on_spawn para registrar los bloques de la puerta en su estado abierto.

Esto significa registrar los bloques de aire. Se recomienda la selección de área aquí.

Esto es necesario para asegurarse de que la puerta esté abierta cuando el jefe aparezca para que los jugadores tengan garantizada una forma de entrar.

  1. Usa /em registerblocks phase_2_boss.yml on_spawn o /em registerblocksedit 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 que el jugador salga.

Esto es necesario para cambiar la puerta a sólida cuando el jefe entra en la fase 2, evitando que los jugadores salgan.

  1. Usa /em registerblocks phase_2_boss.yml on_remove o /em registerblocksedit phase_2_boss.yml on_remove para registrar los bloques de la puerta en su estado abierto.

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

Esto es necesario para abrir la puerta cuando el jefe muere, permitiendo que los jugadores salgan de la arena.


alert

Establece si el jefe está alerta. De manera predeterminada, los Jefes Regionales se ralentizan y tienen una distancia de agresión más corta cuando están fuera de combate. Esta configuración evita que los Jefes Regionales se ralenticen y tengan una distancia de agresión más corta mientras están fuera de combate, por lo que siempre se comportarán de la misma manera dentro o fuera de combate.

ClaveValoresPor defecto
alertBooleantrue
Ejemplo
alert: true

removeAfterDeath

Establece si el Jefe Regional será eliminado permanentemente después de ser asesinado. Esto es lo que BetterStructures usa para Santuarios, donde el Jefe Regional solo está diseñado para ser combatido una vez y luego nunca más en esa ubicación.

ClaveValoresPor defecto
removeAfterDeathBooleanfalse
Ejemplo
removeAfterDeath: true

Jefes instanciados

Los jefes instanciados son un subtipo de Jefes Regionales usados en Mazmorras Instanciadas.

ClaveDescripciónValoresPor defecto
instancedHace que el jefe personalizado sea instanciado. Obligatorio.true / falsefalse

Establecer jefes como instanciados es obligatorio para que las mazmorras instanciadas funcionen correctamente. También recomendamos eliminar correas para cualquier jefe instanciado.

Ejemplo
instanced: true