Saltar al contenido principal

Crear cofres del tesoro

webapp_banner.jpg

Los cofres del tesoro permiten a los administradores crear cofres que entregan botín o invocan un jefe mímico hostil. Sus archivos de configuración van en plugins/EliteMobs/customtreasurechests.

Valores​

isEnabled​

Determina si el cofre está activado.

ClaveValoresPredeterminado
isEnabledBooleantrue

Un archivo sin esta clave se carga como activado. Los cofres desactivados se omiten por completo: no se colocan en el mundo y no se ofrecen (ni se aceptan) en /em place treasureChest.

Ejemplo
isEnabled: true

chestType​

Define el material del bloque. Usa un contenedor direccional como CHEST o BARREL; esta opción no llena un inventario normal. El botín procede de lootList cuando el jugador interactúa.

ClaveValoresPredeterminado
chestTypeMaterialCHEST
Ejemplo
chestType: CHEST

Debe ser un material de contenedor válido, como CHEST o BARREL.

create_chest_material.jpg


facing​

Define la orientación del cofre.

ClaveValoresPredeterminado
facingEspecial [1]NORTH
Ejemplo
facing: NORTH

Los valores válidos son NORTH, SOUTH, EAST y WEST.

Especial [1]

Mostrar tabla
Orientación
NORTH
SOUTH
WEST
EAST

dropStyle​

Define si el cofre se consume globalmente o mantiene un tiempo de espera por jugador.

El primer jugador que interactúa consume un cofre SINGLE: el bloque pasa a ser aire y se guarda una fecha de reposición. Reaparece después de restockTimer minutos cuando su chunk está cargado. No hay seguimiento por jugador. Tanto el clic izquierdo como el derecho pueden activar el cofre.

Los cofres GROUP permanecen en el mundo y cada jugador tiene su propio tiempo de espera. Fuera de las instancias, todas las ubicaciones del mismo archivo comparten el tiempo de espera de ese jugador mediante restockTimers. Usa archivos separados para que sean independientes. En una instancia, cada cofre tiene su propia lista de jugadores que ya lo han saqueado.

Ambos modos entregan botín personal al jugador que interactúa. GROUP no inicia una votación de botín ni recompensa a todos los jugadores cercanos. Se ignoran las interacciones ya canceladas por otro plugin y se impide romper el bloque normalmente. No se exige un rango de gremio para abrirlo.

ClaveValoresPredeterminado
dropStyleSINGLE / GROUPSINGLE
Ejemplo
dropStyle: SINGLE

lootList​

Enumera el botín que puede entregar el cofre.

Cada entrada válida realiza su propia tirada, por lo que una apertura puede entregar varias recompensas. Siguen aplicándose los permisos, las cantidades y los filtros de dificultad de mazmorra correspondientes. putLootDirectlyIntoPlayerInventory en ItemSettings.yml elige entre entregar al inventario o soltar junto al cofre. Los objetos élite que no caben en el inventario caen junto al jugador y quedan asignados a él.

ClaveValoresPredeterminado
lootListTabla de botín de EMNinguno
Ejemplo
lootList:
- filename=elite_scrap_tiny.yml:chance=0.90
- filename=magmaguys_toothpick.yml:chance=1.0

Si ninguna entrada entrega una recompensa, el jugador recibe treasureChestNoDropMessage de config.yml. Esto incluye las tiradas fallidas y las entradas que no pueden generar una recompensa. El tiempo de espera se consume igualmente.


mimicChance​

Define la probabilidad de invocar un jefe hostil en lugar de entregar botín.

ClaveValoresPredeterminado
mimicChanceDouble0

En cada interacción válida se realiza la tirada del mímico antes de generar botín. Si tiene éxito, se intenta invocar el mímico en lugar de entregar botín; no se hacen ambas cosas. Usa valores entre 0 y 1; 0.5 equivale al 50%. El tiempo de espera se consume aunque el jefe no exista o no pueda aparecer.

Ejemplo
mimicChance: 0.5

mimicCustomBossesList​

Enumera los jefes hostiles disponibles. Se elige uno al azar.

Puedes asignar pesos para que unos jefes aparezcan con más frecuencia que otros.

ClaveValoresPredeterminado
mimicCustomBossesListLista de cadenasNinguno
Ejemplo
mimicCustomBossesList:
- my_cool_mimic_boss.yml
- weak_mimic_boss.yml

Para asignar pesos, usa este formato:

mimicCustomBossesList:
- my_cool_mimic_boss.yml:60
- weak_mimic_boss.yml:40

Aquí es más probable seleccionar my_cool_mimic_boss.yml que weak_mimic_boss.yml.

Tanto una entrada sin sufijo de peso como una entrada cuyo peso no pueda leerse como número recurren a un peso de 1.

Usa nombres de archivo distintos y pesos positivos y finitos. Repetir un nombre reemplaza su peso anterior, no añade otra entrada. El selector no valida los pesos negativos o no finitos. Comprueba que los jefes estén activados y puedan aparecer.

¿A qué nivel aparece el mímico?

El archivo del jefe determina el cálculo; los niveles numéricos fijos se sustituyen por el cálculo basado en el tier del cofre:

level del jefe mímicoNivel al que aparece
Un número fijochestTier × 10, más un valor aleatorio de 0-10
dynamic (-1) dentro de una mazmorra dinámicaEl nivel seleccionado de la mazmorra, ±1
dynamic (-1) en cualquier otro sitioEl nivel de aparición natural del jugador que abre, ±1

Si no se encuentra el archivo del jefe indicado en la lista, no aparece ningún mímico y se registra una advertencia: el jugador no obtiene nada, ni siquiera el botín.

Los cálculos de ±1 tienen un mínimo de nivel 1. Si faltan los datos de inventario del jugador fuera de una mazmorra dinámica, el mímico dinámico usa la ruta normal de aparición del jefe. Los mímicos creados en una mazmorra pertenecen a ese encuentro.


restockTimer​

Define el tiempo de reposición en minutos.

ClaveValoresPredeterminado
restockTimerEntero0

Fuera de las instancias, SINGLE espera este intervalo antes de restaurar el bloque en un chunk cargado y GROUP lo aplica a cada jugador. Los plazos se conservan entre reinicios. Consulta instanced para el comportamiento dentro de instancias.

Dejar esto en el valor por defecto de 0 significa que en la práctica no hay ningún tiempo de reutilización, por lo que el cofre puede farmearse repetidamente. Establece un valor real en cualquier cofre que suelte algo que merezca la pena.

Ejemplo
restockTimer: 30

effects​

Nota: Este ajuste no tiene efecto. El cargador lee la clave, pero el cofre no usa su valor. No genera partículas.

Si quieres partículas alrededor de un cofre, por ahora tendrás que generarlas desde otra fuente.

ClaveValoresPredeterminado
effectsLista de cadenasNinguno

locations​

Define las ubicaciones de los cofres.

Usa /em place treasureChest <treasurechestfilename.yml> desde el bloque deseado. Requiere un jugador con elitemobs.place.admin y una configuración cargada y activada. Guarda las coordenadas de bloque en el archivo y coloca el cofre al momento. Ejecutarlo sobre un bloque que ya está en la lista reinicia el plazo de reposición de esa ubicación en lugar de añadir una segunda entrada.

ClaveValoresPredeterminado
locationsLista de cadenasNinguno

Cada entrada usa el formato worldName,x,y,z,yaw,pitch. También se acepta la forma abreviada worldName,x,y,z, en cuyo caso yaw y pitch se tratan como 0.

El sufijo :unixTimestamp guarda el plazo de reposición de esa ubicación en segundos Unix. EliteMobs lo escribe al saquear un cofre SINGLE. Detén el servidor antes de eliminarlo manualmente. El cambio se aplica al cargar la configuración y no reinicia un cofre ya activo.

Un archivo puede contener varias ubicaciones. Las de SINGLE tienen plazos independientes; las de GROUP fuera de instancias comparten la lista de espera por jugador.

Las coordenadas fraccionarias se redondean hacia abajo al bloque en el que caen. No combines la antigua clave location con locations; la carga da prioridad a location, pero guarda los plazos en locations si la lista no está vacía. Eliminar un cofre con /em remove borra del archivo solo la ubicación pulsada y deja las demás ubicaciones en su sitio.

Ejemplo
locations:
- my_world,10,50,10,0,0
- my_nether_world,12,58,12,0,0
- my_world,80,64,-30,0,0:1707394380

chestTier​

Establece el nivel (tier) del cofre, que es la base para el nivel del botín que suelta. El nivel base es chestTier * 10.

ClaveValoresPredeterminado
chestTierEntero0

Cuánto importa realmente chestTier depende de dónde esté el cofre y de qué tipo de objeto haya en la tabla de botín:

SituaciónNivel al que sale el botín
Cofre abierto fuera de cualquier instanciaLos objetos élite scalable siguen el nivel de aparición natural del jugador que abre, ±1. Todo lo demás usa chestTier * 10.
Cofre dentro de una mazmorra dinámicaSe usa el nivel seleccionado de la mazmorra para todo, y los objetos élite scalable reciben ±1. chestTier se ignora.
Cofre dentro de cualquier otra instanciachestTier * 10 para todo.

Estos niveles se pasan a la generación de objetos. Los objetos fixed conservan sus estadísticas originales y los limited respetan su límite configurado; el cofre no anula estas reglas. En supervivencia normal, los objetos scalable siguen al jugador que abre. Los mímicos usan otra fórmula; consulta mimicCustomBossesList.

Los cálculos de ±1 tienen un mínimo de nivel 1. Si faltan los datos de inventario del jugador fuera de una instancia, se usa chestTier * 10.

Dejar esto en el valor por defecto de 0 da un nivel base de botín de 0.

Ejemplo
chestTier: 3

instanced​

Indica si el cofre pertenece a una instancia. Después de saquearlo no se programa la reposición normal: SINGLE elimina el bloque y GROUP permite una apertura por jugador en ese cofre. Las instancias simultáneas tienen estados independientes.

Hay una limitación de SINGLE: descargar y volver a cargar su chunk programa de nuevo la reposición usando el plazo del cofre activo. Puede reaparecer en la misma instancia después de ese plazo. Usa GROUP para mantener la restricción de una apertura por jugador durante la instancia.

NO CONFIGURES ESTE VALOR MANUALMENTE.

ClaveValoresPredeterminado
instancedBooleanfalse
Ejemplo
instanced: true

restockTime​

El plugin escribe esta clave para guardar el plazo de reposición después del saqueo.

Esto solo lo usa el formato antiguo de cofre único, en el que la posición del cofre vive en una clave location en lugar de la lista locations. En cuanto un archivo tiene alguna entrada en locations, el momento de reabastecimiento se escribe como sufijo :unixTimestamp en la entrada correspondiente de locations y esta clave se deja intacta.

NO CONFIGURES ESTE VALOR MANUALMENTE.

ClaveValoresPredeterminado
restockTimeMarca de tiempo Unix en segundos0
Ejemplo
restockTime: 1707394380

restockTimers​

Guarda los datos de tiempo de reutilización por jugador de los cofres en modo GROUP. El plugin lo escribe automáticamente cuando un jugador saquea el cofre y elimina las entradas caducadas cada vez que escribe. El tiempo de reutilización se guarda antes de entregar el botín; si ese guardado falla, se le pide al jugador que lo intente más tarde y no recibe nada.

Los cofres instanciados no usan esta lista: dentro de una instancia, el tiempo de reutilización por jugador se mantiene en memoria solo mientras dure esa instancia.

NO CONFIGURES ESTE VALOR MANUALMENTE.

ClaveValoresPredeterminado
restockTimersLista de cadenasNinguno
Ejemplo
restockTimers:
- '12345678-abcd-4ef0-8123-123456789012:1707394380'
- '09876543-abcd-4ef0-8123-098765432109:1707395000'

Cada entrada contiene el UUID de un jugador y una marca de tiempo Unix en segundos, separados por dos puntos.


Ejemplo de configuración de un cofre del tesoro
isEnabled: true
chestType: CHEST
facing: NORTH
chestTier: 3
dropStyle: GROUP
lootList:
- filename=elite_scrap_tiny.yml:chance=0.90
- filename=magmaguys_toothpick.yml:chance=0.95
mimicChance: 0.50
mimicCustomBossesList:
- balrog.yml
- killer_rabbit_of_caerbannog.yml
restockTimer: 1
locations:
- world,0.0,-60.0,-14.0,0.0,0.0

Fíjate en que todas las entradas de botín anteriores usan el prefijo filename=. Escribir magmaguys_toothpick.yml:chance=0.95 se interpretaría como el formato antiguo filename.yml:chance, y chance=0.95 no es un número, por lo que la entrada registraría una advertencia de análisis en cada arranque.

create_chest_chest.jpg