#  A DeluxeMenus basic configuration guide for beginners
#=========================================================
#
# This note will help you understand the basic functions and configuring of DeluxeMenus: commands, requirements, items and others, and from then on you can start to work with more advanced stuff. You can delete this note or any note below at any time. But if you are still here anyway, then let's move down below
#

# Open Command
#
# This setting is the command that will be used to open this menu. Supports normal String or a String List
# NOTE: Use "open_command: []" to create a menu with no commands needed
#
# open_command: <command>
# open_command:
#   - <command1>
#   - <command2>
#
open_command: levelgui4

# Size
#
# This allows you to set the size of the menu inventory. Range from 9-54.
# If this option is not present in the menu configuration, it will default to 54.
#
size: 54

# Menu title
#
# This is the title of the menu. You can change it with your custom name
# Color codes and placeholders are supported
#
menu_title: '&f得斯'

# Open requirement
#
# This setting section allows you to define requirements the menu viewer must meet
# to be allowed to open this menu in game.
#
# Any menu you want to restrict access to based on permission
# should have a basic "has permission" requirement
#
# This setting and requirements can be explained more in depth by checking out
# the requirements_menu.yml file in your menus folder.
# For full reference, check https://github.com/help-chat/DeluxeMenus/wiki/Requirements
#

# Item section. This is where you can start add items into menu, and add functions into each items that you did.
# For depth explanation on the functions, you can check on the note given from config.yml
# For full reference, check https://github.com/help-chat/DeluxeMenus/wiki/Item
#
items:
  # Here you need to set the name ID of the item. This name however, does not display on the menu. Every item must have a unique name ID.
  # In this example, we will call this item name ID: "teststone"
  'level49notdone':
    material: HAY_BLOCK
    slot: 12
    priority: 3
    display_name: "&2&lLEVEL ④⑨ &8| &4LOCKED"
    lore:
      - "&8---"
      - "&#99FF33Rewards ▾"
      - " &8; &71 Crossbow"
      - " &8; &71 Trident Unbreaking 2"
      - " &8; &71 Lectern"
      - " &8; &71 Respawn Anchor"
      - ""
      - "&#99FF33Requirements ▾"
      - " &8; &7Balance $900000"
      - "&8---"
      - "&4&l> &cFirst meet the requirements, be level 48"
  'level49complete':
    material: HAY_BLOCK
    slot: 12
    priority: 2
    display_name: "&2&lLEVEL ④⑨ &8| &2COMPLETE"
    lore:
      - "&8---"
      - "&#99FF33Rewards ▾"
      - " &8; &71 Crossbow"
      - " &8; &71 Trident Unbreaking 2"
      - " &8; &71 Lectern"
      - " &8; &71 Respawn Anchor"
      - ""
      - "&#99FF33Requirements ▾"
      - " &8; &7Balance $900000"
      - "&8---"
      - "&2&l> &2Left click to level up"
    left_click_commands:
      - "[console] lp user %player_name% permission set deluxemenus.levelgui.level49 true"
      - "[console] levels give %player_name% 1"
      - "[console] give %player_name% crossbow 1"
      - "[console] give %player_name% lectern 1"
      - "[console] give %player_name% respawn_anchor 1"
      - "[takemoney] 900000"
      - "[close]"
    view_requirement:
      requirements:
        has_money:
          type: has money
          amount: 900000
        perm:
          type: "has permission"
          permission: deluxemenus.levelgui.level48
  'level49done':
    material: HAY_BLOCK
    slot: 12
    priority: 1
    display_name: "&2&lLEVEL ④⑨ &8| &aDONE"
    lore:
      - "&8---"
      - "&#99FF33Rewards ▾"
      - " &8; &71 Crossbow"
      - " &8; &71 Trident Unbreaking 2"
      - " &8; &71 Lectern"
      - " &8; &71 Respawn Anchor"
      - ""
      - "&#99FF33Requirements ▾"
      - " &8; &7Balance $900000"
      - "&8---"
      - "&a&l> &aYou have done this already"
    view_requirement:
      requirements:
        perm:
          type: "has permission"
          permission: deluxemenus.levelgui.level49
  'level50notdone':
    material: GOLD_BLOCK
    slot: 13
    priority: 3
    display_name: "&2&lLEVEL ⑤⓪ &8| &4LOCKED"
    lore:
      - "&8---"
      - "&#99FF33Rewards ▾"
      - " &8; &71 Diamond Horse Armor"
      - " &8; &71 Dragon Breath"
      - " &8; &732 Spectral Arrow"
      - " &8; &71 Mystic Crate Key"
      - ""
      - "&#99FF33Requirements ▾"
      - " &8; &7Balance $1000000"
      - "&8---"
      - "&4&l> &cFirst meet the requirements, be level 49"
  'level50complete':
    material: GOLD_BLOCK
    slot: 13
    priority: 2
    display_name: "&2&lLEVEL ⑤⓪ &8| &2COMPLETE"
    lore:
      - "&8---"
      - "&#99FF33Rewards ▾"
      - " &8; &71 Diamond Horse Armor"
      - " &8; &71 Dragon Breath"
      - " &8; &732 Spectral Arrow"
      - " &8; &71 Mystic Crate Key"
      - ""
      - "&#99FF33Requirements ▾"
      - " &8; &7Balance $1000000"
      - "&8---"
      - "&2&l> &2Left click to level up"
    left_click_commands:
      - "[console] lp user %player_name% permission set deluxemenus.levelgui.level50 true"
      - "[console] levels give %player_name% 1"
      - "[console] give %player_name% diamond_horse_armor 1"
      - "[console] give %player_name% dragon_breath 1"
      - "[console] crate givekey %player_name% mystic 1"
      - "[console] give %player_name% spectral_arrow 32"
      - "[takemoney] 1000000"
      - "[close]"
    view_requirement:
      requirements:
        has_money:
          type: has money
          amount: 1000000
        perm:
          type: "has permission"
          permission: deluxemenus.levelgui.level49
  'level50done':
    material: GOLD_BLOCK
    slot: 13
    priority: 1
    display_name: "&2&lLEVEL ⑤⓪ &8| &aDONE"
    lore:
      - "&8---"
      - "&#99FF33Rewards ▾"
      - " &8; &71 Diamond Horse Armor"
      - " &8; &71 Dragon Breath"
      - " &8; &732 Spectral Arrow"
      - " &8; &71 Mystic Crate Key"
      - ""
      - "&#99FF33Requirements ▾"
      - " &8; &7Balance $1000000"
      - "&8---"
      - "&a&l> &aYou have done this already"
    view_requirement:
      requirements:
        perm:
          type: "has permission"
          permission: deluxemenus.levelgui.level50
  'glass1':
    material: GREEN_STAINED_GLASS_PANE
    slots:
      - 0
      - 3
      - 4
      - 5
      - 8
      - 11
      - 15
      - 19
      - 25
      - 28
      - 34
      - 38
      - 42
      - 45
      - 48
      - 50
      - 53
    display_name: "&f"
  'glass2':
    material: BLACK_STAINED_GLASS_PANE
    slots:
      - 1
      - 2
      - 6
      - 7
      - 9
      - 10
      - 16
      - 17
      - 18
      - 26
      - 27
      - 35
      - 36
      - 37
      - 43
      - 44
      - 46
      - 52
      - 51
    display_name: "&f"
  'previouspage':
    material: paper
    slots:
      - 47
    display_name: "&a&lPREVIOUS PAGE"
    left_click_commands:
      - '[player] levelgui3'
      - '[close]'
  'close':
    material: BARRIER
    slots:
      - 49
    display_name: "&c&lCLOSE THE MENU"
    left_click_commands:
      - '[close]'


# ==============================================================
#
# Random tips, tricks, and useful info below
#
# ==============================================================
#
# PER ITEM PERMISSION AND PRIORITY INFO:
#
# Per item permissions and priorities are optional.
# High priority = 1, Lowest priority = 2147483647.
# This allows you to show different items for a specific menu slot depending on the highest priority
# item permission a player has. This makes your menus very dynamic :)
#
# You CAN NOT specify a permission without a priority!
# You CAN specify a priority without a permission.
# You should always create a low priority item without a permission which will act as the no permission
# item if a player does not have permission for any of the items that require permission, otherwise
# no item will be set in the slot if a player does not have permission for any of the permission items.
#
# ==============================================================
#
# You specify the command which opens the menu. Make sure this command
# does not conflict with any existing commands on your server!
# A GUI menu without an open command specified will not be loaded!
#
# Menus configuration layout:
# menu_title: '<title of menu goes here>'
# command: <command to open this menu goes here>
# inventory_type: '<add this option if you want to create a menu of a different InventoryType aside from chest>'
# open_requirement:
#   requirements:
#     <unique name for this requirement>:
#    type: <type for this requirement>
#    <unique options per requirement type would go here>
#    deny_commands:
#    - '[message] you do not meet requirements to open this menu'
#   size: <size of this menu, increments of 9, max size is 54>
#   update_interval: <time in seconds this gui should update for a player if an item is set to uodate placeholders>
#   items:
#     <item identifier>:
#       material: <name or id>
#       material: head-<name of player>
#       material: hdb-<HeadDatabase id> (requires plugin HeadDatabase)
#       data: <integer, used for data values for wool etc>
#       amount: <amount of this item to show>
#       slot: <slot number to put this item, slots start at 0 and end at 53 for a size 54 inventory>
#       priority: <this is used if you have multiple items set for the same slot>
#       view_requirement: <see view requirement info below. The lowest priority item a player meets all view requirements for will be shown>
#       update: <true/false if this item should update placeholders on the interval set for the gui menu this item is in>
#       hide_attributes: <true/false if this item should display item attributes>
#       hide_enchantments: <true/false if this item should display item enchantment / level> (useful for 'enchantment glow' items)
#       hide_effects: <true/false if this item should display item effect attributes>
#       hide_unbreakable: <true/false if this item should display item unbreakable attributes>
#       banner_meta: (this is used if you want to display a custom banner with specific patterns)
#       - <dyecolor>;<PatternType> (more information on where to find DyeColor and PatternType names below)
#       - 'RED;BASE'
#       - 'WHITE;CREEPER'
#       display_name: <display name to show for this item>
#       lore:
#       - 'This is the lore of the itemm'
#       - 'placeholders can be used in the display_name or lore.'
#       enchantments: valid enchantment names can be found here: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/enchantments/Enchantment.html
#       - '<ENCHANTMENT>;<LEVEL>'
#       - 'SILK_TOUCH;1'
#       left_click_commands:
#       right_click_commands:
#       shift_left_click_commands:
#       shift_right_click_commands:
#       middle_click_commands:
#       click_commands:
#       left_click_requirement: <Learn how to use this option in the requirements_menu.yml>
#       right_click_requirement: <Learn how to use this option in the requirements_menu.yml>
#       shift_left_click_requirement: <Learn how to use this option in the requirements_menu.yml>
#       shift_right_click_requirement: <Learn how to use this option in the requirements_menu.yml>
#       middle_click_requirement: <Learn how to use this option in the requirements_menu.yml>
#       click_requirement: <Learn how to use this option in the requirements_menu.yml>
#
#
# You can specify if a GUI menu should be loaded from another file:
#
# gui_menus:
#   <menuName>:
#     file: 'menuName.yml'
#
# This allows you to keep your config clean and not have tons of GUI menus cluttering it.
# The file format the GUI menu is loaded from must end in .yml
# GUI menus loaded from other configuration files must follow a specific format as well...
# To get started loading GUI menus from different files, simply create a GUI menu in this config and specify the file it will load from.
# After that is done, use /dm reload and DeluxeMenus will create a folder and file specific to the GUI menu you specified.
# If the file specified is created by DeluxeMenus (because it did not exist), a default GUI menu layout will be saved to that file.
# From here you can edit it to your liking and use /dm reload to update your GUI menu!
#
# This loading from external config files is only available for gui menus and will not work for click menus yet....
#
# banner_meta must be listed with a specific format:
# banner_meta:
# - <DyeColor>;<PatternType>
#
# Valid DyeColor names can be found here: https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/DyeColor.html
# Valid PatternTypes can be found here: https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/block/banner/PatternType.html
# ==============================================================
#
# 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 money - Checks if a player has enough money (Vault required)
#     configuration options:
#       amount
#
#   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
#
#   stringequalsignorecase - 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
#
#   regex matches - Checks if a placeholder parsed string matches a regex pattern
#     configuration options:
#       input
#       regex
#
#
#
# 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'
#
# ==============================================================
#
# Every item in the items list must have a unique <item identifier>
#
# If you choose to update placeholders for a specific item, you must specify update_interval: <time>
# in the menu options for the specific menu.
#
# Every click_command must start with a specific identifier to know what to do for the execution.
# Valid click_command identifiers:
#
# [console] - Execute a command from the console
# Usage: - '[console] <command with no slash>'
#
# [player] - Execute a command for the menu viewer
# Usage: - '[player] <command with no slash>'
#
# [commandevent] - Fire a PlayerCommandPreprocessEvent for commands that do not use the bukkit command system
# Usage: - '[commandevent] <command with no slash>'
#
# [message] - Send a message to the menu viewer
# Usage: - [message] <message to send to the player
#
# [openguimenu] - Open a GUI menu (can only be used in GUI menu click_commands)
# Usage: - '[openguimenu] <guiMenuName>'
#
# [connect] - Connect to the specified bungee server
# Usage: - '[connect] <serverName>'
#
# [close] - Close the viewers open menu
# Usage: - '[close]
#
# [refresh] - Refresh items in the current menu view
# Usage: - '[refresh]
#
# [broadcastsound] - Broadcast a sound to the server
# Usage: - '[broadcastsound]
#
# [sound] - Play a sound for a the specific player
# Usage: - '[sound]
#
# [json] - Send a json message to the menu viewer
# Usage: - '[json] {"text":"message"}'
#
#
#
# You can delay any of the click command being performed by ending the command with
# <delay=(time in TICKS)>
# example:
#     - '[close]'
#     - '[message] it has been 5 seconds since the menu closed!<delay=100>'
#     - '[message] it has been 10 seconds since the menu closed!<delay=200>'
#
sweet: true