Saltar al contenido principal

Crear contenido de EliteMobs

EliteMobs usa YAML para jefes, objetos, misiones y otras definiciones, y Lua para poderes, scripts de NPC y comportamientos nativos. Coloca cada archivo en su carpeta de contenido dentro de plugins/EliteMobs/.

Tipos de contenido​

Esta guía cubre ocho tipos principales de contenido, además de las definiciones y scripts auxiliares indicados más abajo:

  1. Jefes Personalizados - Crea mobs elite únicos con poderes, equipamiento y habilidades personalizados
  2. Objetos Personalizados - Diseña armas, armaduras y objetos personalizados con encantamientos
  3. Misiones Personalizadas - Construye cadenas de misiones con objetivos y recompensas
  4. Eventos Personalizados - Configura eventos de jefes programados o activados
  5. NPCs Personalizados - Añade dadores de misiones, tiendas y NPCs interactivos
  6. Cofres del Tesoro - Coloca cofres de botín con recompensas personalizadas y mecánicas de mímico
  7. Arenas - Diseña desafíos de combate por oleadas con encuentros de jefes
  8. Agujeros de Gusano - Crea portales de teletransporte entre ubicaciones

Cada tipo de contenido tiene su propia carpeta de configuración y estructura de campos.

Inicio rápido​

Para una definición de contenido YAML:

  1. Crea un archivo YAML con la extensión .yml
  2. Nómbralo usando el formato lowercase_with_underscores.yml
  3. Colócalo en la carpeta apropiada
  4. Configura el contenido usando los campos YAML
  5. Recarga EliteMobs o reinicia el servidor

Ubicaciones de los archivos​

Cada tipo de contenido se almacena en su propia carpeta:

  • Jefes Personalizados: ~/plugins/EliteMobs/custombosses/
  • Objetos Personalizados: ~/plugins/EliteMobs/customitems/
  • Misiones Personalizadas: ~/plugins/EliteMobs/customquests/
  • Eventos Personalizados: ~/plugins/EliteMobs/customevents/
  • NPCs Personalizados: ~/plugins/EliteMobs/npcs/
  • Cofres del Tesoro: ~/plugins/EliteMobs/customtreasurechests/
  • Arenas: ~/plugins/EliteMobs/customarenas/
  • Agujeros de Gusano: ~/plugins/EliteMobs/wormholes/

El contenido auxiliar tiene carpetas adicionales:

  • Poderes: ~/plugins/EliteMobs/powers/
  • Apariciones personalizadas: ~/plugins/EliteMobs/customspawns/
  • Scripts Lua de NPC: ~/plugins/EliteMobs/npc_scripts/
  • Comportamientos Lua nativos: ~/plugins/EliteMobs/behaviors/
  • Rutas de transporte: ~/plugins/EliteMobs/transport_routes/
  • Definiciones de encantamientos y Lua: ~/plugins/EliteMobs/enchantments/
  • Paquetes de mazmorras: ~/plugins/EliteMobs/content_packages/
  • Plantillas de mundos instanciados: ~/plugins/EliteMobs/world_blueprints/

La carpeta scripts/ de un paquete pertenece a FreeMinecraftModels. No es la carpeta de scripts de NPC ni de comportamientos de EliteMobs; consulta el destino de las carpetas de paquetes.

Herramientas de creación de contenido​

La WebApp de EliteMobs ofrece una interfaz visual para generar configuraciones. Comprueba su resultado con la referencia actual de cada tipo de contenido; los campos nuevos y los scripts Lua pueden requerir edición manual.

Configuración manual de YAML​

Para usuarios avanzados, crea archivos YAML manualmente para tener control total sobre todos los campos y opciones disponibles.

Formato de archivos YAML​

Estas reglas se aplican a las definiciones YAML. Los poderes Lua, scripts de NPC y comportamientos usan archivos .lua separados:

  • Usa espacios, no tabulaciones, para la indentación
  • Pon entre comillas los textos que empiecen por códigos de color; las comillas simples son cómodas para texto literal
  • Las listas usan el formato con guiones o el formato con corchetes
  • isEnabled controla si una definición YAML está habilitada. El valor predeterminado depende del tipo y de la definición prefabricada; indícalo explícitamente en archivos nuevos y consulta la referencia correspondiente
  • Los nombres de archivo deben usar el formato lowercase_with_underscores.yml

Para obtener ayuda detallada sobre la sintaxis de YAML, consulta la Guía del Archivo de Configuración.

Visión general de los tipos de contenido​

Jefes Personalizados​

Los jefes personalizados son mobs elite con habilidades mejoradas, equipamiento personalizado y poderes especiales. El sistema de jefes admite más de 60 campos de configuración, incluyendo:

  • Tipo de entidad y nivel
  • Multiplicadores de salud y daño
  • Equipamiento (armadura y armas)
  • Poderes y habilidades elite
  • Tablas de botín y drops
  • Mensajes y comandos de spawn/muerte
  • Mecánicas multifase
  • Modelos personalizados y disfraces

Ejemplo de Jefe Básico:

isEnabled: true
entityType: ZOMBIE
name: '&e Test Boss'
level: dynamic
healthMultiplier: 2.0
damageMultiplier: 0.5
helmet: GOLDEN_HELMET
chestplate: IRON_CHESTPLATE
mainHand: GOLDEN_AXE
powers:
- invulnerability_knockback.lua
spawnMessage: A test boss has been spawned!
deathMessage: A test boss has been slain by $players!

Objetos Personalizados​

Los objetos personalizados permiten crear armas, armaduras y herramientas con encantamientos y efectos. El sistema incluye:

  • Tipo de material
  • Nombre visible y lore
  • Lista de encantamientos
  • Efectos de poción
  • IDs de modelo personalizado
  • Peso de drop y escalado
  • Ajustes de nivel y vinculación al alma (soulbound)

Ejemplo de Objeto Básico:

isEnabled: true
material: DIAMOND_SWORD
name: '&4Legendary Blade'
lore:
- '&7A powerful weapon'
- '&7forged in dragon fire'
enchantments:
- DAMAGE_ALL,5
- FIRE_ASPECT,2
level: 10
soulbound: true

Misiones Personalizadas​

Las misiones personalizadas definen objetivos con recompensas al completarlos. El sistema incluye:

  • Objetivos y tipos de misión
  • Recompensas (objetos, dinero, permisos)
  • Diálogo de aceptación/finalización
  • Requisitos de entrega a un NPC
  • Temporizadores de bloqueo de misiones
  • Rastreo y sonidos

Eventos Personalizados​

Los eventos personalizados activan apariciones de jefes según el tiempo, el azar u otras condiciones. El sistema incluye:

  • Tipo de evento y lista de jefes
  • Probabilidad y peso de activación
  • Mensajes y comandos de inicio/fin
  • Temporizadores de tiempo de espera (local y global)
  • Cantidad mínima de jugadores
  • Duración del evento

NPCs Personalizados​

Los NPC personalizados ofrecen personajes interactivos para misiones, tiendas y arenas. El sistema incluye:

  • Nombre, rol y profesión del NPC
  • Ubicaciones de aparición
  • Diálogo (saludos, diálogo, despedida)
  • Tipos de interacción
  • Referencias a misiones y arenas
  • Modelos personalizados y disfraces
  • Hooks Lua de NPC y rutas de patrulla

Cofres del Tesoro​

Los cofres del tesoro proporcionan botín con tiempos de reposición personalizables y mecánicas de mímico. El sistema incluye:

  • Tipo y orientación del cofre
  • Coordenadas de ubicación
  • Tabla de botín
  • Temporizadores de reabastecimiento
  • Probabilidad de mímico y lista de jefes
  • Modos de entrega para un solo jugador o en grupo con control por jugador

Arenas​

Las arenas ofrecen desafíos de combate por oleadas con jefes. El sistema incluye:

  • Límites de la arena (corner1, corner2)
  • Cantidad de oleadas y retrasos
  • Lista de jefes y puntos de aparición
  • Recompensas y límites de jugadores
  • Mensajes de arena
  • Oleadas de descanso (intermisión)

Agujeros de Gusano​

Los agujeros de gusano crean portales de teletransporte entre dos ubicaciones. El sistema incluye:

  • Dos puntos de ubicación
  • Texto visible para cada ubicación
  • Estilo visual y colores de partículas
  • Coste en monedas y permisos
  • Efecto de ceguera y multiplicador de tamaño
  • Modelos de entidad opcionales en cada extremo

Patrones comunes​

Referenciar contenido​

Los tipos de contenido se referencian entre sí usando nombres de archivo:

  • Referenciar poderes en jefes: power_name.lua (una referencia antigua power_name.yml se resuelve automáticamente al poder .lua del mismo nombre)
  • Referenciar objetos en el botín: filename: item_name.yml (consulta el formato de las Tablas de Botín para probabilidad, cantidad y más)
  • Referenciar jefes en eventos: boss_filename.yml
  • Referenciar misiones en NPCs: quest_filename.yml

Reutilizar definiciones​

Los archivos de jefes personalizados, NPCs y rutas de transporte pueden partir de otro archivo del mismo tipo con extends: base_file.yml y sobrescribir solo las claves que cambian. Las ubicaciones y isEnabled nunca se heredan. Consulta Reutilizar otro archivo de jefe y Reutilizar otro archivo de NPC para conocer todas las reglas.

Marcadores de posición​

Los marcadores dependen del campo que los lee; no son sustituciones globales para cualquier mensaje:

  • $players - Nombres visibles de los atacantes participantes en los anuncios de muerte del jefe
  • $distance - Distancia a la ubicación del jefe seguido en locationMessage
  • $eventBossLevel - Nivel con formato en nombres de jefes; las vistas previas pueden mostrar ? si se desconoce el nivel

Códigos de color​

Usa códigos de color de Minecraft en nombres y mensajes. Pon todo el texto entre comillas cuando empiece por un código de color. Las comillas simples mantienen las barras invertidas literales; las dobles de YAML también son válidas.

Códigos de color estándar de Minecraft:

  • &0 - Negro
  • &1 - Azul oscuro
  • &2 - Verde oscuro
  • &3 - Aguamarina oscuro
  • &4 - Rojo oscuro
  • &5 - Púrpura oscuro
  • &6 - Dorado
  • &7 - Gris
  • &8 - Gris oscuro
  • &9 - Azul
  • &a - Verde
  • &b - Aguamarina
  • &c - Rojo
  • &d - Púrpura claro
  • &e - Amarillo
  • &f - Blanco

Códigos de formato:

  • &l - Negrita
  • &m - Tachado
  • &n - Subrayado
  • &o - Cursiva
  • &r - Restablecer

Sistema de Poderes Elite​

EliteMobs incluye 71 poderes: 68 archivos Lua (*.lua) y solo bonus_coins.yml, custom_summon.yml y elite_script.yml siguen en YAML. Se referencian por nombre de archivo en las configuraciones de jefes; una referencia antigua .yml se resuelve al poder .lua del mismo nombre. Consulta Crear poderes.

Categorías de poderes​

La categoría es el powerType del poder, que también determina si las élites naturales pueden obtenerlo.

Ofensivos: arrow_fireworks, arrow_rain, attack_arrow, attack_fire, attack_fireball, attack_freeze, attack_gravity, attack_lightning, attack_poison, attack_push, attack_vacuum, attack_wither, fireworks_barrage, lightning_bolts, taze

Defensivos: invulnerability_arrow, invulnerability_fall_damage, invulnerability_fire, invulnerability_fireworks, invulnerability_knockback, shield_wall

Varios: attack_blinding, attack_confusing, attack_weakness, attack_web, bonus_loot, channel_healing, corpse, frost_walker, ground_pound, implosion, invisibility, moonwalk, movement_speed, taunt

Poderes mayores (restringidos por tipo de entidad):

  • MAJOR_ZOMBIE: zombie_bloat, zombie_friends, zombie_necronomicon, zombie_parents
  • MAJOR_SKELETON: bullet_hell, skeleton_pillar, skeleton_tracking_arrow
  • MAJOR_BLAZE: firestorm, flame_pyre
  • MAJOR_ENDERMAN: plasma_blaster
  • MAJOR_GHAST: tracking_fireball

Únicos (solo se aplican si el jefe los pide por nombre): death_slice, flamethrower, frost_cone, gold_explosion, gold_shotgun, hyper_loot, meteor_shower, photon_ray, spirit_walk, summon_embers, summon_the_returned, thunderstorm, más los diez poderes del Ender Dragon: ender_dragon_aimed_fireball, ender_dragon_arrow_bombardment, ender_dragon_disco_fireballs, ender_dragon_empowered_lightning, ender_dragon_ender_fireball_bombardment, ender_dragon_endermite_bombardment, ender_dragon_fireball_bombardment, ender_dragon_potion_bombardment, ender_dragon_shockwave, ender_dragon_tornado

Todavía YAML: bonus_coins.yml, custom_summon.yml (el sistema de refuerzos), elite_script.yml

Los poderes se añaden a los jefes usando el campo de lista powers:

powers:
- invulnerability_knockback.lua
- flame_pyre.lua
- spirit_walk.lua

Características avanzadas​

Jefes Multifase​

Los jefes pueden tener múltiples fases con archivos de configuración separados. Usa el campo phases para referenciar los archivos de los jefes de fase, y phaseSpawnLocation para establecer dónde ocurren las transiciones de fase.

Elite Scripts​

Los Elite Scripts ofrecen acciones, condiciones y tiempos de espera basados en eventos. EliteScript YAML usa el campo eliteScript del jefe. Los poderes Lua son archivos .lua separados, referenciados desde powers; consulta Crear poderes.

Modelos Personalizados​

Los jefes y NPC usan customModel para modelos de entidad. Los objetos tienen campos propios, como customModelV2, equipmentModelID y fmmItemModel; consulta Objetos personalizados. La configuración de modelos de entidad y de objeto es distinta.

Equipamiento del Jefe​

Los campos de equipo del jefe aceptan nombres de materiales de Minecraft. No cargan archivos de objetos personalizados ni sus estadísticas de EliteMobs:

helmet: DIAMOND_HELMET
chestplate: IRON_CHESTPLATE
leggings: LEATHER_LEGGINGS
boots: CHAINMAIL_BOOTS
mainHand: GOLDEN_AXE
offHand: SHIELD

Ejecución de Comandos​

Los jefes pueden ejecutar comandos en eventos específicos:

  • onSpawnCommands - Se ejecutan cuando el jefe aparece
  • onDeathCommands - Se ejecutan cuando el jefe es derrotado
  • onCombatEnterCommands - Se ejecutan cuando comienza el combate
  • onCombatLeaveCommands - Se ejecutan cuando termina el combate

Mensajes del Jefe​

Personaliza los anuncios del jefe:

  • spawnMessage - Se transmite cuando el jefe aparece
  • deathMessage - Se transmite cuando el jefe es derrotado (admite el marcador de posición $players)
  • escapeMessage - Se transmite cuando el jefe escapa
  • locationMessage - Muestra la distancia hasta el jefe (admite el marcador de posición $distance)
  • deathMessages - Líneas ordenadas enviadas al morir el jefe si hay atacantes registrados; una lista no vacía tiene prioridad sobre deathMessage. No se elige una al azar

announcementPriority (0–3) controla la entrega de anuncios, el seguimiento y el envío a DiscordSRV. Los anuncios de muerte con 0 van a los atacantes registrados; las prioridades positivas se difunden a todo el servidor, y 3 también los envía mediante la integración DiscordSRV configurada. Los anuncios de aparición y el seguimiento tienen reglas propias.

Jefes Regionales​

Los jefes regionales usan el campo isRegionalBoss y pueden tener radio de correa (leash), restricciones de aparición y cambios de estado de bloques:

  • leashRadius - Distancia máxima desde el punto de aparición
  • onSpawnBlockStates - Cambios de bloques cuando el jefe aparece
  • onRemoveBlockStates - Cambios de bloques al derrotar al jefe; las descargas, desapariciones y reinicios normales no aplican el estado de derrota

Botín de clase automático​

Usa el botín de clase para recompensas ajustadas al nivel y a la clase del jugador. Sus rangos de encuentro y presupuestos de dificultad permiten ajustar la calidad por separado de la salud y el daño del jefe. Las familias de objetos personalizados pueden aportar nombres, materiales, lore y modelos definidos por el autor.

Configuración del Botín​

Controla los drops del jefe:

  • dropsEliteMobsLoot - Activa la ruta normal de botín generado y monedas (por defecto true); no es un interruptor general para el botín definido o de clase
  • dropsVanillaLoot - Activa los drops vanilla (por defecto true)
  • dropsRandomLoot - Activa el botín generado aleatorio dentro de la ruta normal (por defecto true)
  • uniqueLootList - Entradas de botín definidas, procesadas por separado de esos interruptores
  • classLoot - Controla el botín de clase automático por separado; siguen aplicándose su configuración global y sus requisitos

Ejemplo:

uniqueLootList:
- filename=custom_sword.yml:chance=1.0
- filename=rare_helmet.yml:chance=0.05:amount=1

El atajo antiguo custom_sword.yml:1 se sigue procesando, pero el número tras los dos puntos es la probabilidad de drop (1 = 100%), no la cantidad. Usa amount= para la cantidad. Consulta Tablas de Botín para ver el conjunto completo de opciones.

Contenido Prefabricado​

EliteMobs incluye configuraciones prefabricadas para la mayoría de los tipos de contenido y las escribe directamente en las carpetas de contenido normales en el primer arranque: no hay ninguna carpeta /premade/ separada en el disco. Los archivos generados (jefes en custombosses/, objetos en customitems/, NPC en npcs/, y así sucesivamente) son YAML corriente y sirven como ejemplos funcionales para tu propio contenido.

El plugin también incluye definiciones de paquetes prefabricados; sus mundos y contenido adicional se descargan e instalan mediante /em setup. Consulta el Empaquetador de Mazmorras.

Obtener ayuda​

  • Consulta la barra lateral para ver guías específicas de creación de contenido
  • Visita el Discord de EliteMobs para obtener soporte de la comunidad
  • Revisa el Repositorio de GitHub para ver ejemplos de código fuente