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

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

Además, los materiales tienen un nivel mínimo. Los materiales de hierro son de nivel 6, los materiales de diamante son de nivel 7. No puedes forzar a los objetos a tener un nivel inferior al nivel del material.

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.


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.

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.

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
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
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

Establece si el objeto muestra la información de su origen o procedencia en el lore.

KeyValoresPredeterminado
showSourceBooleantrue
Ejemplo
showSource: false

Con esto establecido en false, el objeto no mostrará de dónde se obtuvo.


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. Esto solo funcionará correctamente si no has deshabilitado el encantamiento de vinculación al alma (soulbind).

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