🏁Requirements
The requirements feature allows you to perform actions based on a permission check.
Requirements
Syntax
# open-requirement
# click-requirement
view-requirement:
# Set the minimum number of requirements to be able to say this is a success.
# By default the value will be the same as the number of requirements.
minimum-requirement: <number>
# List of requirements, all information about each type below
requirements:
- type: permission
permission: "example.permission"
deny:
- type: message
messages:
- "&cYou don't have permission !"
- type: placeholder
placeholder: "%player_gamemode%" # need PAPI ecloud Player
value: "CREATIVE"
action: equals_string
# Specific deny actions
deny:
- type: message
messages:
- "&cYou mus be in creative"
- type: regex
input: "%player_item_in_hand%" # need PAPI ecloud Player
regex: "(NETHERITE_|DIAMOND_|IRON_|GOLDEN_|STONE_|WOODEN_|LEATHER_|BOW|CROSSBOW|FISHING_ROD|SHEARS|SHIELD|TRIDENT|TURTLE_HELMET|ELYTRA|FLINT_AND_STEEL)"
deny:
- type: message
messages:
- "&cYou dont have items in your hand !"
# Global Success actions
success:
- type: sound
sound: ENTITY_PLAYER_LEVELUP
# Global Deny actions
deny:
- type: message
messages:
- "&cYou doesn't have an item in your hand."
In addition to global deny and success actions, you can define specific deny and success actions for each requirement.
View Requirement
Defines the requirements a player must meet to see a button in the inventory.
Example:
view-requirement:
deny:
- type: chat
messages:
- "Hey, my name is %player%"
success:
- type: sound
sound: ENTITY_PLAYER_LEVELUP
requirements:
- type: permission
permission: "admin.use"
- type: placeholder
placeholder: "%player_is_flying%"
value: "yes"
action: equals_string
Open Requirement
Defines the requirements a player must meet to open the inventory.
Example
open-requirement:
requirements:
- type: regex
input: "%player_item_in_hand%"
regex: "(NETHERITE_|DIAMOND_|IRON_|GOLDEN_|STONE_|WOODEN_|LEATHER_|BOW|CROSSBOW|FISHING_ROD|SHEARS|SHIELD|TRIDENT|TURTLE_HELMET|ELYTRA|FLINT_AND_STEEL)"
deny:
- type: message
messages:
- "&cYou doesn't have an item in your hand."
In the example below, there is a check for the item in the player's hand. If the item matches the regex pattern, the player can open the inventory. Otherwise, they will receive a message, and the inventory will not open.
Click Requirement
Defines multiple requirements for clicking the button. You need to specify several requirements and the corresponding clicks.
You can apply all clicks directly by using the following format:
clicks:
- ALL # or ANY
You can set the click type to ALL
or ANY
to apply the actions to all clicks. The list of clicks that will be included can be managed in the config.json
file.
Example:
click-requirement:
left-click: # You must put a name for your requirement, it will not be used.
clicks:
- LEFT
- SHIFT_LEFT
requirements:
- type: placeholder
placeholder: "%player_gamemode%"
value: "CREATIVE"
action: equals_string
deny:
- type: sound
sound: VILLAGER_NO
pitch: 0.5f
volume: 1.5f
success:
- type: message
messages:
- "&aLeft click !"
right-click: # You must put a name for your requirement, it will not be used.
clicks:
- RIGHT
- SHIFT_RIGHT
requirements:
- type: placeholder
placeholder: "%player_gamemode%"
value: "CREATIVE"
action: equals_string
deny:
- type: sound
sound: VILLAGER_NO
pitch: 1.5f
volume: 0.5f
success:
- type: message
messages:
- "&aRight click !"
Requirements type
permission
permission
- type: permission
permission: <permission>
Checks if the player has the specified permission. To reverse the condition, add an exclamation mark !
in front of the permission, like this: !<permission>
.
placeholder
placeholder
- type: placeholder
placeholder: <placeholder>
value: <placeholder value>
action: <placeholder action>
target: <player / placeholder with player name>
Allows you to define a permission using a placeholder. You must specify the placeholder, the action to be performed with the value, and the value that will be checked. For more information, click here.
You can specify a player; otherwise, the player who opens the inventory will be used by default.
Actions:
BOOLEAN
(alias:b=
): Checks if a value is true or false.EQUALS_STRING
(alias:s=
): Checks if the text is strictly equal to the value.EQUALSIGNORECASE_STRING
(alias:s==
): Checks if the text is equal to the value, ignoring case.CONTAINS_STRING
(alias:sc
): Checks if the text is contained within the value.DIFFERENT_STRING
(alias:s!=
): Checks if the text is different from the value.SUPERIOR
(alias:>
): Checks if a number is strictly greater than the value.LOWER
(alias:<
): Checks if a number is strictly less than the value.SUPERIOR_OR_EQUAL
(alias:>=
): Checks if a number is greater than or equal to the value.LOWER_OR_EQUAL
(alias:<=
): Checks if a number is less than or equal to the value.EQUAL_TO
(alias:==
): Verifies that two numbers are identical.
regex
regex
- type: regex
regex: <regex>
input: <placeholder>
Checks if the input matches the specified regex pattern. The input can be a placeholder.
Visit regexr.com to create your regex pattern.
item
item
- type: item
material: <material>
amount: <amount of item>
modelId: <model id> # default 0
Checks if the player has a specific item in their inventory.
job
job
- type: job
job: <job name>
Allows to check if the player has the job. Works with JobReborn plugin.
luckperm
luckperm
- type: luckperm
group: <group name>
Allows to check if the player is in a group. Works with LuckPerms plugin.
playername
playername
- type: playername
player-name: <placeholder>
Allows to check if a placeholder returns a text that can be a player nickname.
money
money
- type: money
amount: <amount>
currency: <currency name>
economy: <economy name> # Only the zEssentials, CoinsEngine and EcoBits plugins need this
Check if the player has enough money in their account. This only works with BeastTokens, Vault, PlayerPoints, ElementalTokens, ElementalGems, Level, Experience, zEssentials, EcoBits, CoinsEngine and VotingPlugin. CurrenciesAPI : https://github.com/Traqueur-dev/CurrenciesAPI
and
and
Allows to combine multiple requirements into one.
- type: and
requirements:
- ...
This feature is only available with zMenu+ !
or
or
Allows to combine multiple requirements into one and have a minimum of required.
- type: or
minimum: 1
random: false
requirements:
- ...
The random option determines whether the list of requirements should be traversed randomly or not.
This feature is only available with zMenu+ !
Last updated