TrMenu
SpigotMCGithubMineLatino
  • Inicio
  • Índice
  • Como empezar
    • Descarga
    • Instalación
    • Configuración
  • Convertidor/Migración
  • Menú
    • Creación
    • Configuración
      • Título
      • Diseño
      • Formas de abrir
      • Opciones
      • Eventos
      • Scripts
      • Tasks
      • Propiedades
    • Botones
      • Configuración
      • Display
        • Material
        • Cantidad
        • Nombre
        • Descripción
        • Ubicación
        • Efecto
        • Data Interna
      • Acciones
      • Sub-Botones
  • accion
    • Información
    • Tipos
      • Simples
      • Complejas
      • Funcionales
      • Menú
      • Item
      • Datos
      • Compatibilidad
      • Otros
    • Opciones
  • script
    • Información
    • Condición
    • Kether
    • Javascript
      • Objetos
        • Utilidades
        • Conexión
      • Funciones
      • Expresiones
    • Jexl
  • opciones
    • Argumentos
    • Registro de comandos
    • Atajos con eventos
    • Comparador de items
    • RGB
    • Scripts integrados
    • Contenedor de items
  • plugin
    • Comandos de TrMenu
    • Placeholders
    • Plugins compatibles
  • DEV
    • API
      • Event
      • Receptacle
      • MenuFactory
    • Ejemplos
  • EXTRA
    • Yaml Basics
    • Licencia
    • Historia
    • Curiosidades
Con tecnología de GitBook
En esta página
  • 1. Tellraw
  • 2. Catcher
  • 3. Javascript
  • 4. Kether
  • 5. Jexl

¿Te fue útil?

  1. accion
  2. Tipos

Complejas

Tipos de acciones complejas

AnteriorSimplesSiguienteFuncionales

Última actualización hace 11 meses

¿Te fue útil?

1. Tellraw

  • El tellraw es un mensaje en el chat, al pasar el mouse por encima puede mostrar información y ejecutar ciertas cosas al darle click.

  • Desde la versión 2.01 de TrMenu el texto se puede escribir en formato JSON.

  • TrMenu trae integrado su propio formato donde puedes añadir opciones al texto como: hover: Texto que se mostrará al pasar el mouse por encima del texto, se pueden añadir varias líneas separadas por \n. suggest: Texto que será sugerido al jugador al darle click al texto. command: Comando que será ejecutado por el jugador al darle click al texto. url: Link que será abierto por el jugador al darle click al texto.

  • Para añadir el formato de TrMenu a una línea de texto se debe escribir el texto dentro de <>. Texto: <texto que puede tener opciones>. Texto con opción: <Texto@hover=&fInformación sobre el texto>.

  • Formas de escribirlo:

    • Normal: tellraw

    • RegEx: (tell(raw)?|json)s?

Formato de TrMenu

# Las opciones que añadas al texto deben iniciar con @
# Por ejemplo "@command=spawn@hover=&fTexto blanco"
- 'tellraw: &eHola %player_name%! Dale <&fclick aquí@url=trmenu.minelatino.com@hover=Al darle click se\nabrirá el link> &epara ir a la wiki de TrMenu.'
Formato de TrMenu v2

# La primer opción debe iniciar con ?
# Las demás opciones incian con &
# Por ejemplo "?command=spawn&hover=&fTexto blanco"
- 'tellraw: &eHola %player_name%! Dale <&fclick aquí?url=trmenu.minelatino.com&hover=Al darle click se\nabrirá el link> &epara ir a la wiki de TrMenu.'
Formato de TrMenu v1

# Las opciones que añadas al texto deben iniciar con ?
# Por ejemplo "?command=spawn?hover=&fTexto blanco"
- 'tellraw: &eHola %player_name%! Dale <&fclick aquí?url=trmenu.minelatino.com?hover=Al darle click se\nabrirá el link> &epara ir a la wiki de TrMenu.'
Formato en JSON

- 'tellraw: ["",{"text":"&eHola %player_name%! Dale "},{"text":"&fclick aquí","clickEvent":{"action":"open_url","value":"trmenu.minelatino.com"},"hoverEvent":{"action":"show_text","value":"Al darle click se\nabrirá el link"}},{"text":" &epara ir a la wiki de TrMenu."}]'

2. Catcher

  • La acción de catcher permite al jugador escribir una o varias cosas para luego ser procesadas por TrMenu.

  • Cada cosa escrita es tratada como input.

  • Desde la versión 2.01 de TrMenu se permite más de 1 tipo de input en el mismo catcher, esto quiere decir, que el jugador puede escribir algo más de una vez para completar la acción de TrMenu.

  • El catcher puede ser cancelado si el jugador escribe "cancel" u otra palabra definida en la configuración de TrMenu.

  • Formas de escribirlo:

    • Normal: catcher

    • RegEx: (input)?-?catchers?

2.1 Tipos de Input

Tipo

Descripción

CHAT

Escribir algo en el chat.

SIGN

Escribir algo en un letrero.

ANVIL

Escribir algo en un yunque.

(Disponible desde TrMenu 2.01)

BOOK

Escribir algo en un libro.

(Disponible desde TrMenu 3.0)

2.2 Elementos del Input

  • type: Es el tipo de Input donde se escribirá.

  • before / start: Son las acciones que se ejecutarán al empezar el Input.

  • cancel: Son las acciones que se ejecutarán al cancelar el Input.

  • content: Es el contenido que tendrá escrito al abrir el letrero o libro.

  • display / name / title: Es el título que tendrá el inventario del yunque.

  • item-left: Es el ítem en formato JSON que estará a la izquierda en el yunque.

  • item-right: Es el ítem en formato JSON que estará a la derecha en el yunque.

2.3 Procesamiento del Input

  • TrMenu v1: Solamente permite 1 input por Catcher.

    • require: Es la condición del input.

    • valid: Son las acciones que se ejecutarán al cumplir la condición.

    • invalid: Son las acciones que se ejecutarán al no cumplir la condición.

  • TrMenu v2:

    • reactions: Son las acciones que ejecutará el input luego de recibir el texto del jugador.

  • TrMenu v3:

    • after / end: Son las acciones que ejecutará el input luego de recibir el texto del jugador.

2.4 Identificación del input

  • Los que escriba el jugador es el texto del input.

  • El texto del input puede ser utilizado en las acciones del input.

  • TrMenu v1: Se obtiene con $input.

  • TrMenu v2: Se utiliza el formato ${input_ID}, donde el ID es el nombre el Input.

  • TrMenu v3: Se obtiene con el valor de meta {meta:input-ID}, donde el ID es el nombre del Input.

2.5 Ejemplos del Catcher

  • En TrMenu v1 los elementos son escritos entre <>.

  • Desde la versión 2.01 de TrMenu el Catcher se escribe como un objeto complejo en la lista de acciones.

# Empieza con "-" porque es un elemento de una lista.
- catcher:
    # El nombre del input en este caso es "jugador"
    jugador:
      type: CHAT
      before: 'tell: &eEscribe el nombre de un jugador:'
      cancel: 'tell: &cCancelaste el Catcher.'
      after:
        - condition: 'js: utils.isPlayerOnline("{meta:input-jugador}")'
          deny:
            - 'tell: &cEl jugador {meta:input-jugador} no está conectado'
            - 'return'
    dinero:
      type: CHAT
      before: 'tell: &eEscribe la cantidad de dinero'
      cancel: 'tell: &cCancelaste el Catcher.'
      after:
        - condition: 'js: utils.isNumber("{meta:input-dinero}")'
          actions:
            - 'command: pay {meta:input-jugador} {meta:input-dinero}'
          deny:
            - 'tell: &c{meta:input-dinero} no es una cantidad valida.'
            - 'retype'
Configuración en TrMenu v2

# Empieza con "-" porque es un elemento de una lista
- catcher:
    # El nombre del input en este caso es "jugador"
    jugador:
      type: CHAT
      before: 'tell: &eEscribe el nombre de un jugador:'
      cancel: 'tell: &cCancelaste el Catcher.'
      reactions:
        - condition: 'isOnline.${input_jugador}'
          deny:
            - 'tell: &cEl jugador ${input_jugador} no está conectado'
            - 'return'
    dinero:
      type: CHAT
      before: 'tell: &eEscribe la cantidad de dinero'
      cancel: 'tell: &cCancelaste el Catcher.'
      reactions:
        - condition: 'isNumber.${input_dinero}'
          actions:
            - 'command: pay ${input_jugador} ${input_dinero}'
          deny:
            - 'tell: &c${input_dinero} no es una cantidad valida.'
            - 'retype'
Configuración en TrMenu v1

# Se utiliza - |- Para referirse a un texto multi-línea
- |-
  catcher:
    <type=CHAT>
    <before=tell: &eEscribe el nombre de un jugador:>
    <cancel=tell: &cCancelaste el Catcher.>
    <require=TrUtils.isPlayerOnline("$input")>
    <valid=set-args: $input>
    <invalid=tell: &cEl jugador $input no está conectado;break>
- |-
  catcher:
    <type=CHAT>
    <before=tell: &eEscribe la cantidad de dinero:>
    <cancel=tell: &cCancelaste el Catcher.>
    <require=TrUtils.isNumber("$input")>
    <valid=command: pay {0} $input>
    <invalid=tell: &c$input no es una cantidad valida.>
# En TrMenu v1 no existe el retype así que se debe volver a escribir desde cero

3. Javascript

  • En TrMenu v2 puedes añadir la opción <async> para ejecutar el script de manera no sincrónica al hilo principal del servidor.

  • Formas de escribirlo:

    • Normal: js

    • RegEx: ((java)?-?script|js)s?

# Ejecutar un Javascript en 1 sola línea
- 'js: player.sendMessage("&eHola, buenos días");'

# Ejecutar un Javascript de varias líneas
- |-
  js:
    if (player.hasPermission("permiso.123")) {
        player.sendMessage("&aSi tienes el permiso");
    } else {
        player.sendMessage("&cNo tienes el permiso");
    }

4. Kether

Disponible desde la versión 3.0 de TrMenu

  • Formas de escribirlo:

    • Normal: kether

    • RegEx: ke(ther)?s?

# Ejecutar un Kether de 1 sola línea
- 'kether: tell color *"&eHola, buenos días"'

# Ejecutar un Kether de varias líneas
- |-
  kether:
    if perm *permiso.123 then {
      tell color *"&aSi tienes el permiso"
    } else {
      tell color *"&cNo tienes el permiso"
    }

5. Jexl

Disponible desde la versión 3.3.2 de TrMenu

  • Formas de escribirlo:

    • Normal: jexl

    • RegEx: jexl

# Ejecutar un Jexl en 1 sola línea
- 'js: player.sendMessage("&eHola, buenos días");'

# Ejecutar un Jexl de varias líneas
- |-
  js:
    if (player.hasPermission("permiso.123")) {
        player.sendMessage("&aSi tienes el permiso");
    } else {
        player.sendMessage("&cNo tienes el permiso");
    }

Tellraw es parecido a la acción , la diferencia es que a algunas partes del texto le puedes añadir opciones adicionales.

Cada Input permite la opción de volver a ser escrito mediante la acción de .

Para obtener el texto del input se utilizan variables como los .

Ejecutar un con el lenguaje .

Ejecutar un con el lenguaje .

Ejecutar un con el lenguaje .

tell
volver a escribir
scripts integrados
script
Javascript
script
Kether
script
Jexl