Saltar al contenido principal

Crear Objetos

webapp_banner.jpg

Crear Objetos Personalizados

¿Qué son los Objetos Personalizados?

Los Objetos Personalizados son objetos definidos por EliteMobs a través de archivos de configuración. Puedes personalizar varios aspectos de estos objetos, como el nivel del objeto, los encantamientos, el nombre, el lore, la textura y mucho más.

Webapp

¡Puedes crear Botín Personalizado de forma fácil y rápida aquí!

Antes de empezar

¿Dónde van los Objetos Personalizados?

Los archivos de objetos personalizados van en la carpeta de configuración ~/plugins/EliteMobs/customitems

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

Los archivos se almacenan en el formato .yml y Notepad++ es el software de edición de archivos recomendado para el trabajo de configuración. Un archivo define un jefe, aunque es posible hacer aparecer el mismo jefe varias veces e incluso establecer varias ubicaciones de aparición para el mismo archivo de jefe.

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

Configuración mínima posible

Ten en cuenta que el archivo de configuración mínimo posible para un Objeto Personalizado es:

Observa cómo esto es simplemente un archivo vacío. Esto usará por defecto una espada de madera llamada "Default name". ¡Todo en esta página es opcional!

Objeto de ejemplo

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

Ejemplo
isEnabled: true
material: WOODEN_AXE
name: '&4Test item'
lore:
- This is a cool item
- It has cool lore
enchantments:
- DAMAGE_ALL,4
- FLAMETHROWER,1
potionEffects:
- FAST_DIGGING,0,self,onHit
- POISON,0,target,onHit
- GLOWING,0,self,continuous
dropWeight: dynamic
scalability: scalable
itemType: custom

Ajustes de Objetos Personalizados

La siguiente es una lista de todas las cosas que puedes configurar para los objetos personalizados:


isEnabled

Establece si el objeto está habilitado. No afecta a los objetos que ya se han generado.

KeyValoresPredeterminado
isEnabledtrue / falsetrue
Ejemplo
isEnabled: true

material

Establece el material del objeto.

KeyValoresPredeterminado
material¡Elige de esta lista!WOODEN_SWORD
Ejemplo
material: DIAMOND_SWORD

level

Establece el nivel del objeto.

KeyValoresPredeterminado
levelInteger0

Dejar esto en el valor por defecto de 0 hace que EliteMobs derive el nivel a partir del material en lugar de usar uno fijo.

Ten en cuenta que este ajuste no es relevante si estableces la scalability del objeto como scalable, ya que entonces el nivel proviene por completo del jefe. Si la estableces como limited, este será el nivel más alto posible del objeto.

Los materiales de armadura además llevan una defensa base incorporada, expresada como un nivel: el cuero y el oro cuentan como 3, la cota de malla como 5, el hierro como 6, el diamante como 7 y la netherita como 8. El nivel que establezcas aquí es siempre el que se guarda en el objeto y se muestra en su descripción, pero fijarlo por debajo del valor propio del material no otorga ninguna bonificación de defensa élite: la pieza sencillamente se comporta como el material vanilla corriente.

Ejemplo
level: 100

name

Establece el nombre visible del objeto.

KeyValoresPredeterminado
nameString con color codes"Default name"
Ejemplo
name: "&2Cool item"

create_item_name.jpg


lore

Establece el lore del objeto.

KeyValoresPredeterminado
loreList con color codesninguno
Ejemplo
lore:
- "&2This is the coolest sword"
- "&2of all time!"

create_item_lore.jpg


enchantments

Establece los encantamientos del objeto.

KeyValoresPredeterminado
enchantmentsList con encantamientos de Minecraft o Encantamientos Personalizados de EliteMobsninguno

Ten en cuenta que estas entradas siguen el formato enchantmentName,enchantmentLevel. ¡Mira el ejemplo de abajo!

Ejemplo
enchantments: 
- "DAMAGE_UNDEAD,8"
- "DURABILITY,4"
- "DAMAGE_ALL,7"
- "LOUD_STRIKES,3"

create_item_enchantments.jpg

Ten también en cuenta que encantamientos como filo (sharpness) se convierten en filo elite por defecto si el nivel empieza a superar los límites del Minecraft vanilla.

Ten presente que los objetos scalable y limited rebarajan sus niveles de encantamiento en cada aparición. El total de niveles de encantamiento que configuraste se conserva, pero se redistribuye al azar entre los encantamientos que hayas listado, así que dos copias del mismo objeto pueden acabar con repartos distintos. Solo los objetos con escalabilidad fixed usan siempre los niveles exactos escritos en el archivo.


potionEffects

Establece los efectos de poción que tendrá el objeto. Estos pueden aplicarse al jugador o a una entidad dañada por el jugador.

KeyValoresPredeterminado
potionEffectsList con efectos de poción de Minecraftninguno

Además, los efectos de poción usan un formato específico que permite a los administradores seleccionar quién se ve afectado y cuándo:

AjusteDescripciónValoresPredeterminado
Nivel del efecto de pociónEstablece el nivel del efecto de poción. ¡Los efectos de poción empiezan en el nivel 0!Integerninguno
Entidad afectadaEstablece quién se ve afectado por el efecto de poción.self (el jugador) / target (la entidad que recibe el golpe)ninguno
Método de aplicaciónEstablece cuándo se aplica el efecto de poción.onHit / continuous (se vuelve a aplicar constantemente)ninguno

El formato de los efectos de poción es potionEffectName,potionEffectLevel,affectedEntity,applicationMethod. Los dos últimos parámetros (affectedEntity y applicationMethod) son opcionales y, si no se especifican, su valor predeterminado es self y continuous. ¡Mira el ejemplo de abajo!

Duraciones de los efectos de poción:

  • Los efectos continuos se refrescan cada segundo mientras se sostiene o equipa el objeto (cada aplicación dura 2 segundos, por lo que el efecto nunca caduca)
  • La Visión Nocturna recibe una duración especial de 15 segundos
  • Los efectos al golpear (On-Hit) usan duraciones basadas en la configuración del servidor

Al examinar un objeto con efectos de poción, verás iconos que indican cómo se aplica el efecto:

  • ☠️ Calavera – Afecta a los enemigos.
  • 🛡️ Escudo – Afecta al usuario/jugador.
  • ⚔️ Espadas – Se activa al golpear.
  • 🔄 Círculo de repetición – Se aplica continuamente mientras el objeto se lleva puesto o sostenido.

EliteMobs también incluye objetos personalizados que funcionan como amuletos (charms). Estos objetos no hacen nada más que proporcionar efectos de poción al jugador cuando el objeto se sostiene o se equipa en una ranura.

ADVERTENCIA: Usar el efecto de poción INSTANT_DAMAGE curará a los mobs no-muertos al impactar, ya que esta es una mecánica predeterminada del Minecraft vanilla.

Efectos que no funcionan:

  • ABSORPTION y HEALTH_BOOST son omitidos por completo por el sistema de efectos de poción de objetos. Nunca llegan a aplicarse, tanto si los estableces como continuous como si los estableces como onHit.
  • LEVITATION, SLOWNESS y BLINDNESS aplicados al target al golpear se ignoran cuando la entidad golpeada es un élite con un multiplicador de vida superior a 1, lo que abarca prácticamente a todos los Jefes Personalizados. Siguen funcionando con élites normales y con mobs vanilla.
Ejemplo
potionEffects: 
- "POISON,0,target,onHit"
- "HEAL,1,self,onHit"
- "NIGHT_VISION,0,self,continuous"

create_item_potion_effects.jpg

Con este conjunto de efectos de poción, ocurrirá lo siguiente:

Al golpear, el efecto de poción de veneno (nivel 1) se aplicará a la entidad que fue golpeada por el jugador. Además, el jugador se verá afectado por un efecto de poción de curación instantánea de nivel 2.

De forma continua, se le dará al jugador visión nocturna. Esto significa que el jugador tendrá visión nocturna durante todo el tiempo que lleve puesto o sostenga el objeto.


scalability

Establece cómo crece el nivel del objeto con el nivel del jefe que lo suelta.

KeyValoresPredeterminado
scalabilityfixed, limited o scalable. ¡Mira abajo!scalable

¡Consulta esta lista para entender qué hacen las diferentes opciones!

AjusteDescripción
fixedEl nivel del objeto siempre será el nivel establecido en el archivo de configuración.
limitedEl nivel máximo del objeto estará limitado por el establecido en el archivo de configuración o por el nivel del jefe, el que sea más bajo.
scalableEl nivel del objeto se basará por completo en el nivel del jefe que lo suelta.

Ten en cuenta que los objetos con un dropWeight siempre tendrán una escalabilidad fixed.

Ejemplo
scalability: "scalable"

itemType

Establece de dónde puedes obtener el objeto.

KeyValoresPredeterminado
itemTypecustom, unique o droppable. ¡Mira abajo!custom

Hay tres tipos de objetos:

AjusteDescripción
customEl objeto podrá ser soltado por cualquier mob de EliteMobs capaz de soltar botín, y estará en la tienda personalizada.
uniqueEl objeto no será soltado por ningún jefe y no estará en la tienda personalizada. ¡La única forma de obtenerlo es configurando un Jefe Personalizado para que lo suelte a través de su uniqueLootList!
droppableEl objeto entra en el grupo de drops elite aleatorios igual que custom, pero queda excluido de las tiendas — los jugadores pueden encontrarlo como un drop elite normal pero nunca pueden simplemente comprarlo. Útil para objetos que deberían sentirse ganados pero que no necesitan estar vinculados a un jefe específico.
Ejemplo
itemType: "unique"

dropWeight

Establece la tabla de botín en la que encajará el objeto.

KeyValoresPredeterminado
dropWeightdynamic o un valor Double.dynamic

EliteMobs tiene 5 tablas de botín diferentes para objetos personalizados, sin contar las que se configuran directamente como la uniqueLootList en los Jefes Personalizados.

Estas son las siguientes:

Tabla de botínDescripciónPeso predeterminado
Objetos generados proceduralmenteObjetos que se generan aleatoriamente según los archivos de configuración del servidor90.0
Objetos con pesoObjetos que tienen un peso distinto de dynamic1.0
Objetos fijosObjetos que tienen una escalabilidad fija10.0
Objetos limitadosObjetos que tienen una escalabilidad limitada3.0
Objetos escalablesObjetos que son escalables6.0

Cuando un jefe muere, se selecciona un objeto de estas tablas según el archivo de configuración ItemSettings.yml. Los valores predeterminados de los pesos se listan arriba en Peso predeterminado. Cuanto mayor sea el peso, más probable es que un objeto sea soltado.

Los Objetos con peso tienen un Peso predeterminado pequeño, lo que significa que no se sueltan muy a menudo. Los objetos con un dropWeight distinto de dynamic están pensados para ser raros y solo se usan en los valores predeterminados de los amuletos que sueltan los jefes — objetos que no se usan directamente para el combate, sino más bien para potenciar a los jugadores con efectos de poción.

El dropWeight que estableces aquí establece la probabilidad de que un Objeto con peso específico se suelte de la lista de Objetos con peso. No aumenta la probabilidad de que se suelten los Objetos con peso.

Si estás confundido y solo quieres crear armas y armaduras, omite este ajuste, ya que su valor predeterminado dynamic es el correcto.

Los Objetos con peso suelen tener un peso de 1.0.

Ten en cuenta que establecer un dropWeight numérico fuerza al objeto a entrar en los grupos de drops fijos y con peso incluso cuando su itemType es unique. Si quieres un objeto exclusivo de un jefe, deja dropWeight como dynamic.

Ejemplo
dropWeight: "dynamic"

customModelID

Nota: Este ajuste ha sido eliminado. Ya no se lee de los archivos de configuración. Usa customModelV2 en su lugar, que es el único ajuste de ID de modelo reconocido desde Minecraft 1.21.4+ (EliteMobs 9.1.13+). Cualquier entrada customModelID existente en tus archivos de configuración será ignorada.

Establece la textura del objeto. ¡Requiere usar una textura válida del paquete de recursos!

KeyValoresPredeterminado
customModelIDIntegerninguno
Ejemplo (ya no funcional)
material: DIAMOND_SWORD
customModelID: 1

Este ajuste ya no funciona. Migra a customModelV2 en su lugar.


customModelV2

A partir de la versión 1.21.4 de Minecraft (EM 9.1.13), este es el nuevo ajuste requerido para configurar los IDs de modelo personalizado de los objetos. Establece la textura del objeto. ¡Requiere usar una textura válida del paquete de recursos!

KeyValoresPredeterminado
customModelV2Stringninguno

Niveles de aspecto automáticos: si dejas sin establecer tanto este ajuste como equipmentModelID, EliteMobs aplica sus propios aspectos basados en el nivel usando el paquete de recursos de EliteMobs. El nivel de aspecto se elige a partir del nivel del objeto:

Nivel mínimo del objetoNivel de aspecto
20bronze
40palladium
60corrupted
80living
100ultimatium

Los objetos por debajo del nivel 20 no reciben ningún aspecto de nivel. Los niveles de aspecto solo se aplican a espadas, hachas, azadas (que se representan como guadañas), arcos, ballestas, cascos, petos, grebas y botas. Los tridentes quedan excluidos deliberadamente.

Establecer customModelV2 o equipmentModelID saca al objeto de ese sistema automático: la clave que establezcas se usa tal cual, y la que dejes sin poner recurre al modelo de nivel correspondiente al nivel del objeto. Los objetos que usan sus propias claves de modelo también se saltan el escalado de atributos vanilla que aplica el sistema de niveles — esto solo afecta a los valores vanilla de daño de ataque, velocidad de ataque, armadura, dureza y resistencia al empuje, no a los valores propios de daño y defensa de EliteMobs.

Ejemplo
customModelV2: elitemobs:equipment/magmaguys_toothpick

Este ajuste asigna una textura específica a un objeto. Así es como funciona:

  • elitemobs: es el directorio principal en la carpeta assets del paquete de recursos.
  • equipment es un subdirectorio dentro de assets/elitemobs/models.
  • magmaguys_toothpick es el archivo de modelo ubicado en assets/elitemobs/models/equipment en el paquete de recursos.

La ruta completa al archivo de modelo en este ejemplo sería: \.minecraft\resourcepacks\elitemobs_resource_pack\assets\elitemobs\models\equipment\magmaguys_toothpick.json

Esto usará la textura personalizada magmaguys_toothpick del paquete de recursos de EliteMobs que esté usando el jugador. Se recomienda que configures tu servidor para dar a los jugadores paquetes de recursos al iniciar sesión si quieres usar esta característica correctamente.


equipmentModelID

Establece un modelo separado para el objeto cuando se equipa o se lleva puesto. ¡Requiere usar una textura válida del paquete de recursos!

KeyValoresPredeterminado
equipmentModelIDStringninguno

Igual que customModelV2, establecer esta clave saca al objeto de los niveles de aspecto automáticos basados en el nivel.

Ejemplo
equipmentModelID: elitemobs:equipment/helmet_texture

Esto establece una textura específica que aparece cuando el objeto se lleva puesto, separada de la apariencia del objeto en el inventario.


scriptedItem

Vincula el objeto a un objeto con script de FreeMinecraftModels. Cuando se establece, el objeto adquiere el modelo 3D de FMM y el comportamiento de su script Lua, manteniendo a la vez todos los sistemas de nombre, lore, encantamientos, nivel y vinculación al alma de EliteMobs.

Esto requiere que FreeMinecraftModels esté instalado en el servidor. Si FMM no está instalado, este ajuste se ignora silenciosamente y el objeto funciona normalmente sin modelo ni script.

El valor es el ID de objeto de FMM — el nombre de archivo de la configuración YML del modelo en la carpeta models de FMM, sin la extensión .yml. Por ejemplo, si FMM tiene una configuración de modelo en plugins/FreeMinecraftModels/models/flame_blade.yml con material: IRON_SWORD y scripts: [flame_blade.lua], lo referenciarías como flame_blade.

Cuando se establece scriptedItem, tiene prioridad sobre customModelV2 y equipmentModelID — EliteMobs omitirá su propio sistema de modelos y usará el modelo de FMM en su lugar.

KeyValoresPredeterminado
scriptedItemString (ID de objeto de FMM)ninguno
Ejemplo
material: IRON_SWORD
name: "&cFlame Blade"
lore:
- "&7Burns with eternal fire"
enchantments:
- "FIRE_ASPECT,2"
- "DAMAGE_ALL,5"
scalability: scalable
scriptedItem: flame_blade

En este ejemplo:

  • EliteMobs controla el nombre del objeto, el lore, los encantamientos, el escalado de nivel y el comportamiento de vinculación al alma
  • FMM proporciona el modelo 3D del objeto y ejecuta el script flame_blade.lua (por ejemplo, efectos de partículas al equipar, comportamiento de ataque personalizado)
  • El material: IRON_SWORD se usa como el tipo de objeto base por parte de EliteMobs

showSource

Nota: Actualmente este ajuste no hace nada. La clave se sigue leyendo del archivo de configuración sin dar error, pero ninguna parte del plugin consulta el valor resultante, así que establecerlo en false no ocultará la información de origen del objeto.

Que la línea de origen aparezca o no lo controla en su lugar el marcador $itemSource de la lista itemLoreStructureV2 de ItemSettings.yml. Elimina ese marcador para quitar la línea de origen de todos los objetos élite.

KeyValoresPredeterminado
showSourceBooleantrue

permission

Establece el permiso requerido para poder obtener el objeto.

KeyValoresPredeterminado
permissionStringninguno

Necesitarás un plugin de gestión de permisos para dar permisos a los jugadores.

El permiso solo se comprueba en el momento en que el objeto se genera o se suelta para un jugador. Nada vuelve a comprobar el nodo después, así que intercambiar o tirar el objeto puede llevarlo igualmente a un jugador que no tenga el permiso. Dejar soulbound activado es la forma práctica de evitarlo.

Ejemplo
permission: "elitemobs.cool.permission"

Con esta configuración, solo los jugadores con el permiso elitemobs.cool.permission podrán obtener este objeto.


soulbound

Establece si el objeto debe estar vinculado al alma (soulbound) al soltarse.

KeyValoresPredeterminado
soulboundBooleantrue
Ejemplo
soulbound: true

Probar tu objeto

Hay dos comandos de administrador que generan un objeto configurado bajo demanda, lo que te evita tener que farmear un jefe cada vez que retocas un archivo:

ComandoQué hace
/em loot give <player> <filename>Da el objeto al nivel escrito en su archivo de configuración.
/em loot reward <player> <filename>Da el objeto escalado al nivel de combate del jugador objetivo.

Ambos requieren el permiso elitemobs.loot.admin.