Creating & Editing Menus
Once you’ve finished installing sheets, you can create and test menus
Menu Structure
Each menu is defined with a configuration file (menu_name.yml
) inside the Sheets/menus folder and follows a structured format in YAML. Here's a breakdown of the key components of a menu:
Type
Description: The title displayed at the top of the menu.
Type: NORMAL or ANVIL
Optional: true
Example:
type: "NORMAL"
Title
Description: The title displayed at the top of the menu.
Type: String or Map of Strings
Optional: false
Example:
# Unified title
title: "Example Menu"
# Per Platform title
title:
java: "Example menu"
bedrock: "Bedrock menu"
# Single Platform title
title:
java: "Java Menu"
Content
Description: The content only bedrock users see below the title
Type: String
Optional: true
Example:
content: "&7Content that only the bedrock players see"
Size
Description: The size of the menu (must be a multiple of 9)
Type: Integer
Default: 27
Optional: false
Example:
size: 27
Commands
Description: A list of commands that can be executed to open the menu
Type: List of strings or List of Maps
Optional: true
Example:
# Example one
commands:
- somerandom command
# Example two
command: examplecommand
# Example three
commands:
- anothermenu
- command: anothermenu
arguments:
- name: "required-argument" # an example required argument
type: "string"
- name: "optional-argument" # an example optional argument
type: "string"
default: "something"
required: false
Permission
Description: A permission string required to open the menu and execute the menu commands
Type: String
Optional: true
Example:
permission: beds.examplemenu
Actions
Description: Defines the actions triggered when the menu is opened
Type: List of actions
Optional: true
Example:
actions:
- console: "give %player% diamond_sword" # Command ran a the console
- message: "You have received an epic sword!" # message sent to the player
- sound: "ITEM_PICKUP" # Sound played
- player: "say hi" # command ran by player (can also be command:)
- sound: "ENTITY_EXPERIENCE_ORB_PICKUP"
- menu: "anothermenu" # Open another menu
- close # Close the menu
Requirements
Description: Conditions that must be met for the menu to open
Checkout Requirements for the requirements
Type: List
Optional: true
Example:
requirements:
- permission: "a.permission.needed"
- permission: "!a.permission.not.wanted"
message: "You should not have this permission"
# - balance: "100" # balance needed to open this menu
# - balance: "!100" # Balance the user should not have more than
Checkout next page to create Requirements
Filler
Description: Items used to fill empty slots in the menu, only for java guis.
Type: Item
Optional: true
Example:
filler:
material: GRAY_STAINED_GLASS_PANE
name: "&7"
# slots: # Custom slots if needed
# - 15-17
Buttons
Description: Defines clickable items in the menu
Type: List of buttons
Optional: false
See individual button properties below here.
Example Menu
# The title of the menu when it is opened
title: "Example Menu"
content: "&7Content that only the bedrock players see"
# The size of the menu (must be a multiple of 9)
size: 27
commands:
- somerandom command
permission: beds.examplemenu
# Items to be displayed in the menu
buttons: # Check out buttons section
filler: # won't appear on bedrock
material: GRAY_STAINED_GLASS_PANE
name: "&7"
# slots: # Custom slots if needed
# - 15-17
Last updated