Requerimientos

Todo sobre los requerimientos de DeluxeMenus

¡IMPORTANTE! Los requisitos de clic izquierdo/derecho/shift_left/shift_right/middle no funcionarán a menos que también tengas sus respectivos comandos de clic. Esto es cierto incluso si ha establecido la opción success_commands

Sintaxis

# Other available requirement types:
# open_requirement:
# view_requirement:
# left_click_requirement:
# right_click_requirement:
# shift_left_click_requirement:
# shift_right_click_requirement:
click_requirement:
  # Minimum requirements are optional.
  # If they are not set, then all
  # requirements will be needed for the
  # click commands to be executed.
  # In this example, only one of the
  # requirements will be needed.
  minimum_requirements: 1
  # This option is good for when you use minimum_requirements.
  # Instead of the plugin checking all the requirements,
  # it will stop when it has enough.
  stop_at_success: true
  requirements:
    # You can define multiple requirements.
    # Each requiremnt should have a unique name.
    requirement_name:
      type: TYPE
      # These commands will be exeucted if
      # the requirement they're set for is
      # met even if the others are not.
      # You should be careful and not confuse
      # these with click_commands: !!!
      success_commands:
      - "[ACTIONTYPE] ACTION"
      - "[ACTIONTYPE] ACTION"
      # These commands will be executed if
      # the requirement they're set for is
      # not met even if the others are.
      deny_commands:
      - "[ACTIONTYPE] ACTION"
      - "[ACTIONTYPE] ACTION"
      # This option is only required if you
      # want ot use minimum_requirements:
      # Minimum requirements will only work
      # for the optional requirements
      optional: true
  # This can only be defined for open and
  # left/right click requirement
  deny_commands:
    - "[ACTIONTYPE] ACTION"
    - "[ACTIONTYPE] ACTION"

Los requisitos le permiten restringir ciertas acciones o incluso un menú entero y sólo permitir que ciertos jugadores vean y/o utilicen el menú.

Requerimientos

Tipo

Descripción

Abrir requerimiento

Define los requisitos para abrir el menú.

Ver requerimiento

Define los requisitos para ver un elemento en el menú.

(Shift) Clic derecho/izquierdo requerimientos

Define los requisitos para hacer clic (shift) izquierdo/derecho en un elemento.

  • Los placeholders y los argumentos se pueden usar en los requisitos.

  • Si establece varios requisitos, todos ellos deben cumplirse (Utilice Tipo de JavaScript o minimum_requirements para añadir requisitos opcionales).

Tipos de requerimientos

Al invertir requisitos, asegúrese de poner el tipo entre comillas. Esto se debe a que "!" es un símbolo especial en YAML por lo que romperá la sintaxis.

Por ejemplo: type: "!has permission"

Tiene permiso

type: has permission
permission: TEXT

Comprueba si el jugador tiene el permiso especificado.

Para invertir el requisito (Comprobar si el jugador no tiene el permiso) puede simplemente añadir el signo de exclamación antes del nombre del tipo (como este tipo: "!has permission").

Tiene dinero

type: has money
amount: #

Comprueba si el jugador tiene la cantidad de dinero especificada (Vault es requerido).

Para invertir el requisito (Comprobar si el jugador no tiene la cantidad de dinero) puedes simplemente añadir el signo de exclamación antes del nombre del tipo (como este tipo: "!tiene dinero").

Para utilizar un marcador de posición como valor para el importe, sustituya el campo amount: por el placeholder.

Tiene item

type: has item
# material option supports material names, placeholders and arguments.
material: "TEXT"
data: #
# represents the CustomModelData the item should have.
modeldata: #
amount: #
name: "TEXT"
# lore can also be one single string: lore: "TEXT"
lore:
  - "TEXT"
# if this is enabled then the plugin will look for items that contain the value
# set at the option "name" in their name and not for the exact value
name_contains: boolean
# if this option is enabled then the plugin will check for the item name,
# without caring about the case.
name_ignorecase: boolean
# if this is enabled then the plugin will look for items that contain the value
# set at the option "lore" in their lore and not for the exact value
lore_contains: boolean
# if this option is enabled then the plugin will check for the item lore,
# without caring about the case.
name_ignorecase: boolean
# if this option is enabled, the plugin will consider only the items that 
# have no custom model data, no display name and no lore.
strict: boolean
# decides if the plugin should also check the armor slots of the player when
# looking for items
armor: boolean
# decides if the plugin should also check the off hand of the player when
# looking for items
offhand: boolean

Required fields:

  • Material

Comprueba si el jugador tiene el objeto especificado en el inventario. Para invertir el requisito (Comprobar si el jugador no tiene el objeto) basta con añadir el signo de exclamación antes del nombre del tipo (como este tipo: "!has object").

Tiene Meta

Meta utiliza contenedores de datos persistentes, lo que significa que esta función sólo funcionará en servidores que tengan la versión 1.14 o posterior.

type: has meta
key: "TEXT"
meta_type: <STRING, BOOLEAN, DOUBLE, LONG, INTEGER>
value: EXPECTED VALUE

Required fields:

  • key

  • meta_type

  • value

Comprueba si el jugador tiene la meta especificada.

Si el meta_type es un formato numérico (DOUBLE, LONG, INTEGER) se comprobará si el metavalor del jugador es mayor o igual que el valor

Para invertir el requisito (Comprobar si la entrada no coincide con la salida) puede simplemente añadir el signo de exclamación antes del nombre del tipo (como este tipo: "!has meta").

Tiene xp

type: has exp
amount: #
level: boolean # true if you want to check for exp levels, false for exp points

Required fields:

  • amount

Comprueba si el jugador tiene el nivel de exp o puntos.

Si la opción de nivel no existe, comprobará los puntos de exp por defecto

Para invertir el requisito (Comprobar si la entrada no coincide con la salida) puede simplemente añadir el signo de exclamación antes del nombre del tipo (como este tipo: "!has exp").

Is Near

type: is near
location: "WORLDNAME,X,Y,Z"
distance: #

Required fields:

  • location

  • distance

Comprueba si el jugador está dentro de la distancia de localización.

Para invertir el requisito (Comprobar si la entrada no coincide con la salida) puede simplemente añadir el signo de exclamación antes del nombre del tipo (como este tipo: "!is near").

JavaScript

type: javascript
expression: 'EXPRESSION'

Ejemplo:

type: javascript
expression: '%vault_eco_balance% >= 100'

Evalúa una expresión JavaScript que debe devolver verdadero o falso.

Cadena igual

type: string equals
input: "TEXT"
output: "TEXT"

Ejemplo:

type: string equals
input: "%server_name%"
output: "HelpChat"

Comprueba si input: coincide con output: (distingue mayúsculas de minúsculas).

Para invertir el requisito (Comprobar si la entrada no coincide con la salida) puede simplemente añadir el signo de exclamación antes del nombre del tipo (como este tipo: "!string equals").

String Equals Ignore Case

type: string equals ignorecase
input: "TEXT"
output: "TEXT"

Ejemplo:

type: string equals ignorecase
input: "%server_name%"
output: "helpchat"

Comprueba si input: coincide con output:

Para invertir el requisito (Comprobar si la entrada no coincide con la salida) puede simplemente añadir el signo de exclamación antes del nombre del tipo (como este tipo: "!string equals ignorecase").

La cadena contiene

type: string contains
input: "TEXT"
output: "TEXT"

Ejemplo:

type: string contains
input: "%server_name%"
output: "chat"

Comprueba si input: coincide con output:

Para invertir el requisito (Comprobar si la entrada no contiene la salida) puede simplemente añadir el signo de exclamación antes del nombre del tipo (como este tipo: "!string contains").

Coincidencias Regex

type: regex matches
input: "TEXT"
regex: "EXPRESSION"

Comprueba si input: contiene la expresión regular en regex: Visita este sitio para crear expresiones regulares fácilmente.

Para invertir el requisito (Comprobar si la entrada no contiene la expresión regular) basta con añadir el signo de exclamación antes del nombre del tipo (asítype: "!regex matches").

Comparadores

type: (==, >=, <=, !=, >, <)
input: #
output: #

Compara input: con output:.

Ahora tanto la entrada como la salida admiten valores de coma flotante.

Opciones disponibles

Comparador

Descripción

==

input:es igual a output:

>=

input: mayor o igual que output:

<=

input:inferior o igual aoutput:

!=

input:no es igual aoutput:

>

input:superior a output:

<

input: menos deoutput:

Ejemplo

Requisito abierto

open_requirement:
  requirements:
    example_1:
      type: has permission
      permission: open.menu.one
  deny_commands:
    - "[message] &cYou don't have the permission."

Ver requisitos

view_requirement:
  requirements:
    example_2:
      type: string equals
      input: "%player_is_op%"
      output: "yes"

Requisito de clic izquierdo/derecho

# left_click_requirement: or
right_click_requirement:
  requirements:
    example_3:
      type: has money
      amount: 100
  deny_commands:
    - "[message] &7You don't have enough money."

Requisitos mínimos

click_requirement:
  minimum_requirements: 1
  stop_at_success: true
  deny_commands:
    - "[message] &7You don't have 1 of the 2 permissions required."
  requirements:
    perm1:
      type: has permission
      permission: perm.1
    perm2:
      type: has permission
      permission: perm.2
click_commands:
- "[message] &7You have 1 of the 2 permissions required."

Last updated