Contenido generado con IA — puede contener errores.

Menús

Acciones y requisitos

Cada paso que puede ejecutar un clic, requisitos, líneas deny y las expresiones que usan.

Acciones

En una pantalla, action se ejecuta con clic izquierdo, action-right con clic derecho y action-shift con un clic mientras se corre. Los pasos se separan con ; y se ejecutan en orden. En los menús de cofre y 3D los mismos pasos son líneas de click, escritas entre corchetes.

PasoQué hace
[PLAYER] spawnEl jugador ejecuta /spawn (también player: spawn).
[CONSOLE] give %player_name% diamond 1La consola lo ejecuta (también console: ...).
[MESSAGE] {success}HechoUna línea de chat para el jugador.
[MONEY] take 100, [MONEY] give 100 [moneda]La economía del servidor, según el economy.yml de ExyliaLib. Un cobro que no pueden pagar detiene todos los pasos siguientes.
[SERVER] survivalLos envía a otro servidor de la red.
[TELEPORT] world,0,64,0Los mueve en este servidor (con comas, porque ; separa pasos).
[DELAY] 1sEspera antes de las líneas siguientes.
[CHANCE] 30Las líneas siguientes se ejecutan el 30% de las veces; si no, la lista se detiene ahí.
[HUD] texto;group:coinsUn aviso que entra deslizándose en el HUD del jugador; opciones anchor:, seconds:, group:.
[MOMENT] textoUn momento grande justo encima de la mira.
[BROADCAST] {highlight}%player_name% {letters}ha ganadoUna línea de chat para todos los conectados.
[DATA] set daily trueRecuerda un valor del jugador. Consulta Datos del jugador.
[TITLE] ..., [ACTION_BAR] ..., [ACTION] ns:idLos tokens de interacción de ExyliaLib.
open shopAbre otra pantalla (open shop tab=food fija su estado).
close, backCierra la pantalla; vuelve a la anterior.
sound entity.experience_orb.pickup 0.6 1.2Un sonido solo para el jugador.
toast success 'Comprado'Una nota corta en la pantalla (success, error, info, warning).
confirm '¿Comprarlo por 1.000?' yes=Comprar no=Cancelar then ...Pregunta primero; el resto solo se ejecuta si dice que sí.
input text name 'Tu apodo' then [PLAYER] nick ${name}Pide una línea de texto y continúa.
set tab food, toggle open, clear tabEstado de la pantalla, que se lee como %tab% o tab en las expresiones.
animate shake, animate #balance pop 8t backReproduce una animación una vez en el elemento pulsado (necesita un id) o en el indicado. Consulta Movimiento. Solo en pantallas.

En los menús de cofre y 3D, [CLOSE] cierra el menú y [SCREEN] <id> abre un menú de cualquier forma.

Un valor nunca se convierte en otro paso: el nombre de un jugador con un ; sigue siendo una palabra. Entrecomilla una palabra para conservar espacios o ;: [CONSOLE] say 'hola; mundo'.

Requisitos

require="<expresión>" en un elemento clicable: cuando es falsa, el clic ejecuta deny (o un sonido de rechazo discreto). require-right/deny-right y require-shift/deny-shift controlan solo ese clic.

<card require="balance() >= 50" deny="toast error 'Necesitas 50 monedas'; sound entity.villager.no"
      action="[MONEY] take 50; [CONSOLE] give %player_name% bread 16; toast success 'Compraste 16 de pan'">

Un rechazo se lee mejor cuando la propia tarjeta reacciona: deny="animate shake; sound entity.villager.no 0.4; toast error 'Necesitas 50 monedas'".

El mismo require y deny funcionan en un menú entero (consulta Apertura y alternativas) y, en los menús de cofre, en una ranura.

Esperas

cooldown en un elemento clicable de una pantalla hace que su action espere entre clics:

EscritoSignifica
cooldown="5s"5 segundos entre clics de este elemento (se guarda bajo su id).
cooldown="daily 24h"Una espera llamada daily, compartida por todas las pantallas que la nombren.

Los tiempos son 500ms, 20t, 5s, 10m, 24h, 7d o varios juntos (1h30m). Una espera de 5 minutos o más sobrevive a los reinicios. Mientras dura, un clic reproduce deny-cooldown (por defecto un sonido de rechazo y un toast "Ready again in …" en el idioma del jugador). Un clic que su require rechazó no inicia ninguna espera.

<card id="claim" cooldown="daily 24h"
      deny-cooldown="animate shake; toast warning ${t('wait', 'Next reward in')} ${fmt.time(cooldown('daily'))}"
      action="[CONSOLE] give %player_name% diamond 3; animate pop; toast success 'Claimed'">
  <small if="cooldown('daily') > 0">${fmt.time(cooldown('daily'))}</small>
  <small else>{success}Claim</small>
</card>

cooldown('daily') son los segundos que faltan, 0 cuando está listo, en cualquier expresión. El ejemplo de recompensas diarias está hecho con ella.

Expresiones

Comprobacionesperm('nodo'), balance() / balance('points'), has_item('diamond', 16), level(), world(), health(), food(), data('clave'), chance(30), cooldown('clave')
Redplayers('survival') (jugadores en ese servidor, según el último recuento del proxy), players() (toda la red), online('survival')
Textocontains(texto, 'parte'), matches(texto, 'regex'), plural(n, 'muerte', 'muertes')
Formatofmt.number(x), fmt.time(segundos)
Valores%cualquier_placeholder%, números, 'texto'
Operadores== != < <= > >=, and or not, + - * /, a ? b : c

Funcionan en if="..." (dibujar o no), en ${...} (cualquier texto) y en require. Los menús de cofre y 3D usan if: y require: con las mismas expresiones.

<small if="balance() >= 50" class="price-ok">50 monedas</small>
<small else class="price-short">50 monedas</small>

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