Skip to content

Menu Example ​

Example Configuration ​

# Title
title: '&eDemo Menu'
# Open command
openCommand: 'mc'
# Open item
openItem: 'clock'
# Open permission Permission format: playerMenu.open.menu.yml Set false to indicate no permission required
permission: true
# Menu size
size: 54
# Sound played when opening this menu (1.12+ support)
# Sound list: https://bukkit.windit.net/javadoc/org/bukkit/Sound.html
sound: ""
# Menu node commands content supports variables
# [message] Send message [allMessage] Send message to all players
# [title] Send title [allTitle] Send title to all players Format: title:subTitle
# [actionbar] Send actionbar [allActionbar] Send actionbar to all players
# [command] Execute command [op] Execute command as OP (try not to use this, use Console instead) [Console] Execute command from console
# [close] Close menu [server] Cross-server [open] Open sub-menu
# id If this node exists, please delete the id node before making modifications in the configuration
menu:
  '20':
    # Button position
    index: 20
    # Button name
    name: '   &8[&cSend Message&8]'
    # Button material
    material: ARROW
    lore:
      - "&f- &7Click to send message"
    # Button enchantment
    isEnchant: false
    # Hide attribute effects (1.8+) Default value: true
    hideFlag: true
    # Hide enchantment effects (1.8+) Default value: true
    hideEnchant: true 
    # Button custom model data
    custom-model-data: 0
    # Tooltip style (1.21.2+)
    tooltipStyle: ""
    # Custom model (1.21.2+)
    itemModel: ""
    commands:
      - '[message] Hello'
      - '[title] Main Title:Sub Title'
      - '[actionbar] Hello'
  '21':
    index: 21
    name: '   &8[&cExecute Command&8]'
    material: ARROW
    lore:
      - "&f- &7Click to return to spawn"
    isEnchant: false
    custom-model-data: 0
    commands:
      - '[command] say Executing command'
      - '[Console] say Console executing command'
  '22':
    index: 22
    name: '   &8[&cPoints Consumption&8]'
    material: ARROW
    lore:
      - "&f- &7Click to consume points"
    isEnchant: false
    custom-model-data: 0
    # Requires 100 points to click
    point: 100
    # Sound played when clicking button (1.12+ support)
    sound: "BLOCK_ANVIL_HIT"
    # Sound played when conditions are not met (1.12+ support)
    # Sound list: https://bukkit.windit.net/javadoc/org/bukkit/Sound.html
    failSound: "BLOCK_CHEST_CLOSE"
    commands:
      - '[command] say You have activated VIP'
      - '[allMessage] Congratulations %player_name% for activating points VIP'
  '23':
    index: 23
    name: '   &8[&cMoney Consumption&8]'
    material: ARROW
    lore:
      - "&f- &7Click to consume money"
    isEnchant: false
    custom-model-data: 0
    # Requires 100 money to click
    money: 100
    commands:
      - '[command] say You have activated money VIP'
      - '[allMessage] Congratulations %player_name% for activating money VIP'
  '24':
    index: 24
    name: '   &8[&cCan Only Purchase 3 Times&8]'
    material: ARROW
    lore:
      - "&f- &7Click to purchase with money"
      - "&f- &7Limited to 3 uses"
    isEnchant: false
    custom-model-data: 0
    # Requires 100 money to click
    money: 100
    # Identifier function (if manually adding id node, use negative numbers, cannot be duplicated, need id to determine cd and limit)
    id: -1
    # Limit to only 3 uses of this button
    limit: 3
    commands:
      - '[command] say You have activated money VIP'
      - '[allMessage] Congratulations %player_name% for activating money VIP'
  '29':
    index: 29
    name: '   &8[&cVariable Conditions&8]'
    material: ARROW
    lore:
      - "&f- &7Variable conditions support 6 symbols"
      - "&f- &7 = ; !=; >; <; >=; <="
      - "&f- &7 = ; !=; no restrictions"
      - "&f- &7>; <; >=; <= must be numbers"
    isEnchant: false
    custom-model-data: 0
    # Custom conditions
    conditions:
      - '%player_name% = Rice'
      - '%player_money% > 100'
    commands:
      - '[message] say You clicked this button'
  '30':
    index: 30
    name: '   &8[&cTime Conditions&8]'
    material: ARROW
    lore:
      - "&f- &7Click to use"
      - "&f- &7Limited to once every 10 seconds"
    isEnchant: false
    custom-model-data: 0
    # Identifier function (if manually adding id node, use negative numbers, cannot be duplicated, need id to determine cd and limit)
    id: -2
    # Unit: seconds
    cd: 10
    commands:
      - '[message] say You clicked this button'
  '31':
    index: 31
    name: '   &8[&cHead Button&8]'
    material: PLAYER_HEAD
    lore:
      - "&f- &7Head button"
      - "&f- &7Can use specified player name like: menu"
      - "&f- &7Can also use player variable %player_name%"
    isEnchant: false
    # Head texture
    head: '%player_name%'
    custom-model-data: 0
    commands:
      - '[message] say Cool head'
  '32':
    index: 32
    name: '   &8[&cPermission Button&8]'
    material: REDSTONE
    lore:
      - "&f- &7Permission button"
      - "&f- &7Player needs permission: abc to see this button"
    isEnchant: false
    # Permission node
    permission: 'abc'
    custom-model-data: 0
    commands:
      - '[message] say Congratulations for discovering the permission button'
  '38':
    index: 38
    name: '   &8[&cSell Items for Money&8]'
    material: APPLE
    lore:
      - "&f- &7Click to sell items"
      - "&f- &7Sell 64 apples for 100 money"
    isEnchant: false
    custom-model-data: 0
    # Shop type sell is selling buy is purchasing
    shopType: 'sell'
    # Items to sell Format: material:quantity
    shopMaterial: "APPLE:64"
    # Shop money price
    shopMoney: 100
  '39':
    index: 39
    name: '   &8[&cBuy Items with Money&8]'
    material: APPLE
    lore:
      - "&f- &7Click to buy items"
      - "&f- &7100 money buys 64 apples"
    isEnchant: false
    custom-model-data: 0
    # Shop type sell is selling buy is purchasing
    shopType: 'buy'
    # Items to sell Format: material:quantity
    shopMaterial: "APPLE:64"
    # Shop money price
    shopMoney: 100
  '40':
    index: 40
    name: '   &8[&cSell Items for Points&8]'
    material: POTATO
    lore:
      - "&f- &7Click to sell items"
      - "&f- &7Sell 64 potatoes for 100 points"
    isEnchant: false
    custom-model-data: 0
    # Shop type sell is selling buy is purchasing
    shopType: 'sell'
    # Items to sell Format: material:quantity
    shopMaterial: "POTATO:64"
    # Shop points price
    shopPoint: 100
  '41':
    index: 41
    name: '   &8[&cBuy Items with Points&8]'
    material: POTATO
    lore:
      - "&f- &7Click to purchase items"
      - "&f- &7100 points buys 64 potatoes"
    isEnchant: false
    custom-model-data: 0
    # Shop type sell is selling buy is purchasing
    shopType: 'buy'
    # Items to sell Format: material:quantity
    shopMaterial: "POTATO:64"
    # Shop points price
    shopPoint: 100
  # Separator panel You can write multiple coordinates for index
  pane:
    enable: true
    index: 0,1,2,3,4,5,6,7,8,9,17,18,26,27,35,36,44,45,46,47,48,49,50,51,52,53
    material: BLACK_STAINED_GLASS_PANE
    isEnchant: false
    name: "       &8[&7Separator Panel&8]"
    lore:
      - "&7Hey, don't poke me randomly"
    custom-model-data: 0