Contenido generado con IA — puede contener errores.

Configurar

La caja

Rarezas, los dos tipos de llave, los rodillos que caen o la apertura en 3D, la tienda y los bloques que abren la caja.

La caja es cómo se ganan los trims en vez de regalarlos. Se gasta una llave, cae un rodillo, y lo que sale se desbloquea en la cuenta del jugador — suyo para siempre, pase lo que pase con su rango. La caja en sí es de ExyliaLib; este plugin le pasa el catálogo y lee sus ajustes y sus textos de config.yml y messages.yml.

Funciona en cualquier modo: las llaves, las pantallas de la caja y los bloques de caja están incluso con mode: item. Abrirla pide exyliaarmortrims.crate, que todo el mundo tiene por defecto.

En qué puede caer

Dos tipos de premio, todos de trims.yml:

PremioSe guarda comoQué da ganarlo
Un patrónpattern:<id> — pattern:sentryEse patrón, para combinarlo con cualquier material que tenga el jugador.
Un materialmaterial:<id> — material:netheriteEse material, para combinarlo con cualquier patrón que tenga el jugador.

Una combinación nunca es un premio; sus dos mitades sí. Un trim se lleva en cuanto el jugador tiene las dos mitades, por nodo o por desbloqueo.

Rarezas

Cada patrón y material declara un tier en trims.yml, y config.yml declara qué rarezas existen, bajo crate.tiers:

config.yml
crate:
  tiers:
    common:
      name: "Common"
      color: "{muted}"
      chance: 60.0
      priority: 1
    rare:
      name: "Rare"
      color: "{info}"
      chance: 25.0
      priority: 2
    epic:
      name: "Epic"
      color: "{accent}"
      chance: 12.0
      priority: 3
    legendary:
      name: "Legendary"
      color: "{highlight}"
      chance: 3.0
      priority: 4
ClaveQué hace
nameCómo la llaman los menús y los mensajes.
colorEl color de su nombre y de sus premios.
chanceCada cuánto cae la caja en ella, en relación con las demás rarezas.
priorityDónde va en los menús; menor va antes.

El catálogo que viene tiene 29 premios:

RarezaPatronesMateriales
Común85
Rara44
Épica52
Legendaria1 — Silence0

Nada está fijado en el código. Borra legendary, inventa mythic, renombra las cuatro: la clave es el id que trims.yml escribe como tier, y una entrada que nombra una rareza que ya no existe cae en la primera. Una entrada sin tier es common.

chance es un peso, no un porcentaje

Los repartos salen de los pesos, así que cuatro rarezas con pesos 60/25/12/3 y cuatro con 6/2.5/1.2/0.3 se comportan igual. Borrar una rareza reparte sus probabilidades entre las demás en vez de dejar un hueco del tres por ciento.

Llaves

Dos tipos, y la caja acepta los dos.

En la cuenta

Un número en la fila de caja del jugador. Nada se puede tirar, duplicar ni perder por un inventario lleno:

/armortrimsadmin keys give <jugador> <cantidad>
/armortrimsadmin keys take <jugador> <cantidad>
/armortrimsadmin keys set <jugador> <cantidad>
/armortrimsadmin keys check <jugador>

Se puede ejecutar desde consola y con jugadores desconectados — una tienda, un listener de votos o un plugin de recompensas entregan llaves igual:

[console] armortrimsadmin keys give %player% 1

Cada jugador recibe crate.start-keys llaves — ninguna por defecto — la primera vez que se le ve.

En la mano

Un objeto, para venderlo, meterlo en un kit, tirarlo o regalarlo a un amigo:

/armortrimsadmin item key <jugador> [1-64]

Clic derecho con una en la mano sobre un bloque de caja y se abre al momento: una llave, un rodillo, sin pantalla de pregunta. El clic izquierdo nunca gasta una — así pregunta el jugador qué es un bloque. Cómo se dibuja la llave es crate.key-item en config.yml (material y brillo) y key-item en messages.yml (nombre y lore); se reconoce por lo que lleva en sus datos, no por su nombre ni su material. Las llaves que no caben en el inventario esperan y se entregan al volver a entrar, con rewards-claimed.

Abrir

/armortrim crate, el botón TRIM CRATE en la esquina del menú de trims, el icono de la caja del vestidor 3D, o un bloque de caja pulsado sin llave en la mano. La primera pantalla solo pregunta una cosa: cuántas a la vez.

Cuántas

menus/crate.yml. Las opciones se dibujan hasta crate.max-at-once — o el exyliaarmortrims.crate.multi.<n> del jugador, el más alto que tenga — con un tope de siete por el ancho de la pantalla, y se reparten como caerán los rodillos — donde pulsas es donde cae ese rodillo.

Caen los rodillos

menus/crate_open.yml. Un rodillo por caja, cada uno de toda la altura del cofre, con su propia línea de llegada crate.stagger-seconds después del anterior. Un patrón se dibuja en una pechera de diamante que lo lleva, un material como su propio icono.

Lo que pasó se queda

Nada se borra cuando un rodillo para. Lo que quedó a una casilla sigue en pantalla, porque la mitad de lo que vale una caja es la legendaria que pasó de largo.

Se paga según cae cada rodillo

Las llaves se gastan y los premios se deciden antes del primer fotograma. Cada rodillo paga al parar, con crate.on-win o crate.on-duplicate y su propia línea en el chat. Cerrar la ventana a mitad de caída no cuesta nada.

Usar lo ganado

Pulsar un premio en los rodillos abre el menú de trims, donde se combina.

Con crate.opening: SPATIAL los rodillos se sustituyen por la apertura en el mundo — ver La apertura en 3D.

RechazoMensaje
Sin exyliaarmortrims.cratefeature-locked
crate.enabled está apagadocrate.disabled
No hay llaves suficientescrate.no-keys — %amount% es el coste, %keys% las que tiene.
Su última apertura sigue cayendocrate.busy
El catálogo está vacíocrate.empty

Qué sale

Lo decide crate.reward:

ValorQué entrega una caja
UNLOCKEl premio se desbloquea en la cuenta. No se puede comerciar. Por defecto.
ITEMUn objeto de premio en vez de un desbloqueo.
BOTHDesbloqueado, y entregado además como objeto.

Un patrón o un material no tiene objeto propio, así que, siendo mitades todos los premios, ITEM y BOTH se comportan como UNLOCK: una llave nunca se gasta a cambio de nada. crate.won nombra lo que salió (%reward%) y su rareza (%tier%).

Repetidos

Caer en algo que el jugador ya tiene le devuelve llaves, tantas como diga crate.duplicate-refund, con crate.duplicate (%refund% es cuántas). Con el 1 por defecto un repetido es una tirada gratis, no una pérdida.

Comprar con moneda

Lo que sigue bloqueado se puede comprar en vez de ganarlo. Un patrón o material bloqueado con precio se dibuja con la plantilla *_purchasable_template del menú, con su precio; pulsarlo pide confirmar, cobra y lo desbloquea igual que una caja. El vestidor 3D vende las mismas mitades con su botón BUY & SAVE. Comprar pide exyliaarmortrims.buy, que todo el mundo tiene por defecto.

config.yml
shop:
  enabled: true
  tier-prices:
    common: 500
    rare: 1500
    epic: 4000
    legendary: 10000
ClavePor defectoQué hace
enabledtrueSi las entradas bloqueadas se pueden comprar desde el menú de trims.
tier-pricesarribaEl precio de cada rareza, para una entrada que no pone el suyo. Una rareza que no está aquí no se vende.

Una entrada de trims.yml puede poner su propio price, que gana al de su rareza:

trims.yml
patterns:
  silence:
    tier: legendary
    price: 25000                          # la moneda por defecto
materials:
  netherite:
    tier: epic
    price: {amount: 50, currency: gems}   # una moneda con nombre
ReglaDetalle
MonedasUn número es la moneda por defecto de ExyliaLib; currency nombra otra. La economía es la de ExyliaLib, sobre ExyliaEconomy, Vault o PlayerPoints.
No se vendeLo que ya se tiene, por nodo o por desbloqueo, simplemente se puede llevar. Una entrada sin precio, con una moneda que ninguna economía atiende, o un jugador sin exyliaarmortrims.buy, se dibuja con *_locked_template como antes.
Una errataUn precio que no se puede leer — cero, negativo, texto — no es precio: la entrada no se vende, en vez de salir gratis.
De una en unaUna compra por jugador a la vez. Si el desbloqueo falla, se devuelve el dinero.

La confirmación y cada resultado — comprado, ya lo tienes, no te llega — son textos de ExyliaLib, bajo purchase en su messages.yml. Tras la compra el menú se vuelve a abrir.

Ajustes

config.yml
crate:
  enabled: true
  start-keys: 0
  duplicate-refund: 1
  reward: UNLOCK
  blocks: []
  max-at-once: 4
  spin-frames: 34
  stagger-seconds: 2.0
  opening: INVENTORY
  key-item:
    material: TRIPWIRE_HOOK
    glow: true
ClavePor defectoQué hace
enabledtrueApagada, la caja lo dice en vez de abrirse.
start-keys0Llaves que recibe un jugador la primera vez que se le ve.
duplicate-refund1Llaves devueltas por algo que ya tenía.
rewardUNLOCKUNLOCK, ITEM o BOTH — ver arriba.
blocks[]Los bloques que abren la caja. Se enlazan en el juego, no a mano.
max-at-once4Cuántas cajas puede abrir un jugador de una vez. La pantalla admite siete. exyliaarmortrims.crate.multi.<n> lo sube por rango.
spin-frames34Cuántas caras recorre el primer rodillo antes de parar. Tope de 200, unos once segundos.
stagger-seconds2.0Cuánto después de parar un rodillo para el siguiente. 0 los para a la vez.
openingINVENTORYINVENTORY: los rodillos caen por menus/crate_open.yml. SPATIAL: la apertura se juega en el mundo — ver abajo.
key-itemarribaCómo se dibuja la llave que se puede llevar en la mano. Su nombre y su lore están en messages.yml.

on-spin, on-win y on-duplicate son bloques de efecto completos de ExyliaLib — título, action bar, boss bar, sonido, partícula y fuego artificial — que suenan mientras giran los rodillos y luego una vez por rodillo al caer. Vienen con un sonido cada uno: BLOCK_NOTE_BLOCK_HAT, ENTITY_PLAYER_LEVELUP y BLOCK_NOTE_BLOCK_BASS.

La apertura en 3D

crate.opening: SPATIAL juega una apertura delante del jugador en vez de los rodillos: una caja en el mundo, un rodillo que frena sobre el premio, la revelación y una vista previa — un patrón se le prueba al jugador como set completo en el primer material del catálogo, un material muestra su icono. Agacharse salta al final y entrega el premio al momento.

El premio se sortea igual en los dos casos: las llaves, las probabilidades, los repetidos y los pagos no cambian. Su aspecto es spatial/crate.yml, la escena de caja de ExyliaLib. Un cliente anterior a la 1.21.4 recibe los rodillos.

Bloques de caja

Un bloque físico, en cualquier parte del mundo, que abre la caja al pulsarlo:

/armortrimsadmin crate block add      # el bloque que miras, hasta seis bloques de distancia
/armortrimsadmin crate block remove
/armortrimsadmin crate block list
/armortrimsadmin crate block clear

Se escriben en config.yml, no en el mundo, así que un bloque enlazado sobrevive a pegar una schematic, a una edición del mundo y a un rollback. Mientras está enlazado no se puede romper, volar ni empujar, y pulsarlo ya no hace lo que hace su material — una caja dibujada en un barril no debe abrir un barril.

Entregar trims sin caja

/armortrimsadmin unlocks grant <jugador> <premio>
/armortrimsadmin unlocks revoke <jugador> <premio>

<premio> es pattern:<id> o material:<id>. El mismo desbloqueo que escribe una caja, para un plugin de recompensas o un ticket de soporte. Sobrevive a que caduque un rango y no necesita plugin de permisos. Para quitarle a un jugador todo lo que desbloqueó, usa el reinicio de jugador de ExyliaLib con @account.

Permisos y desbloqueos son dos entradas distintas

Un jugador puede usar una mitad que desbloqueó o una que le da su rango. Vender todas las combinaciones con un rango sigue siendo dos líneas — exyliaarmortrims.pattern.* y exyliaarmortrims.material.* — e independiente de lo que haya sacado de cajas.

¿Falta algo en esta página? Dínoslo en Discord