DeluxeMenus icon

DeluxeMenus -----

The all in one GUI menu plugin!



1.10.0 The "requirements" update
1.10.0
This update will break all existing menus that utilize the JavaScript based requirement system. Your menus will not disappear but if you are using any "view_requirement" or "click_requirement" you will need to update your menus to the new requirement system.


DeluxeMenus will no longer check if a player has the permission node for a menu for it to be opened. Now all permission requirements must be specified in an "open_requirement" for the menu.

To make things easier on everyone, I have switched the entire "requirement" system to allow more flexibility and also make things easier on the end user as JavaScript was required in the pre 1.10.0 versions of DeluxeMenus.

Below is an explanation and format of how the new "requirement" system works:
Code (yml (Unknown Language)):
# ==============================================================
#
# Requirement information
#
# Requirements can be set as the following:
#
# open_requirement: This requirement is checked when a menu is opened
# view_requirement: This requirement determines if an item should be set in a menu slot
# left_click_requirement: This requirement is checked when an item is left clicked
# right_click_requirement: This requirement is checked when an item is right clicked
#
# Requirement types:
#   javascript - Evaluates a javascript expression that must return true or false
#     configuration options:
#       expression:
#
#   has item - Checks if a player has a specific item
#     configuration options:
#       material:
#       amount:
#       data:
#       name:
#       lore:
#
#   has permission - Checks if a player has a specific permission
#     configuration options:
#       permission:
#
#   string contains - Checks if a string contains another string
#     configuration options:
#       input:
#       output:
#
#   string equals - Checks if a string equals another string
#     configuration options:
#       input:
#       output:
#
#   string equals ignorecase - Checks if a string equals another string ignoring case
#     configuration options:
#       input:
#       output:
#
#   > - Checks if a number is greater than another number
#     configuration options:
#       input:
#       output:
#
#   >= - Checks if a number is greater than or equal to another number
#     configuration options:
#       input:
#       output:
#
#   == - Checks if a number is equal to another number
#     configuration options:
#       input:
#       output:
#
#   <= - Checks if a number is less than or equal to another number
#     configuration options:
#       input:
#       output:
#
#   < - Checks if a number is less than another number
#     configuration options:
#       input:
#       output:
#
#
#
# So why would we want to use requirements?
# By default, DeluxeMenus does not require a player meet any conditions to open your menu.
# If you want to require a menu need a certain permission node for it to be accessed, or a certain amount of money
# for a menu to be opened, You do that with an 'open_requirement'.
# Below is an example of how you would deny opening a menu if the viewer does not have permission:
#
# menu_title: 'Menu that requires permission to open'
# open_command: testmenu
# size: 9
# open_requirement:
#   requirements:
#     this_requirement_name:
#       type: has permission
#       permission: 'testmenu.open'
#       deny_commands:
#       - '[message] you do not have permission to open testmenu'
#
#
# Below is a full example of use cases for requirements:
#
#                 menu_title: 'Menu that requires permission to open'
#                     open_command: testmenu
#                     size: 9
#                     open_requirement:
#                       requirements:
#                         this_requirement_name:
#                           type: has permission
#                           permission: 'testmenu.open'
#                           deny_commands:
#                           - '[message] you do not have permission to open testmenu'
#                     items:
#                       mymenuitem:
#                         priority: 2
#                         material: DIRT
#                         slot: 0
#                         name 'You dont have 100 diamonds to view this item'
#                       mymenuitem:
#                         priority: 1
#                         material: DIAMOND
#                         slot: 0
#                         name 'You have lots of diamonds so you can see this item'
#                         view_requirement:
#                           requirements:
#                             diamond_requirement:
#                               type: has item
#                               material: diamond
#                               amount: 100
#                         left_click_requirement:
#                           requirements:
#                             money_requirement:
#                               type: '>='
#                               input: '%vault_eco_balance_fixed%'
#                               output: 1000
#                               deny_commands:
#                               - '[message] you only have %vault_eco_balance_fixed%'
#                         left_click_commands:
#                         - '[message] you have over 1000 dollars!'
#                         right_click_requirement:
#                           requirements:
#                             staff_requirement:
#                               type: string equals
#                               input: '%vault_rank%'
#                               output: staff
#                               deny_commands:
#                               - '[message] you are not staff'
#                         right_click_commands:
#                         - '[message] you are staff'
#
# deny_commands: are optional and will be executed if the requirement is not met.
# ==============================================================
----------, Aug 28, 2017
Resource Information
Author:
----------
Total Downloads: 507,357
First Release: Sep 1, 2015
Last Update: Dec 13, 2023
Category: ---------------
All-Time Rating:
604 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings