Bedrock Menus
This page explains Floodgate/Geyser-compatible menus for Bedrock players, both in YAML and through the web editor.
Menu anatomy (YAML)
Shared actions
CONSOLE;cmd— runs a console command with placeholders resolved.PLAYER;cmd— makes the player run a command (slash automatically added).MESSAGE;text— sends a formatted chat message.BROADCAST;text— sends a message to all online players and the console.SOUND;sound;volume;pitch— plays a sound for the player (volume/pitch optional, defaults to 1.0).OPEN_MENU;menu_name— opens another Bedrock menu by name.REFRESH_MENU— reopens the currently open menu for the player.CONNECT;server_name— sends the player to a proxy server (Bungee/Velocity auto-detected).CLOSE— closes the menu (no extra data).
Display conditions
display_conditions can wrap buttons or components. Use a simple list (all true) or an all/any/none map. Conditions support the same operators as Java menus and are evaluated before the element is added; hidden elements are skipped entirely.
SIMPLE forms
SIMPLE forms show a list of buttons and optional images.
content: A list of lines combined into the body text.buttons: Each entry definestext, optionalimage(URL),actions, and optionaldisplay_conditions.
Example (SIMPLE)
type: SIMPLE
menuName: "&bWelcome"
content:
- "&7Pick an option"
buttons:
start:
text: "&aStart"
actions:
- "PLAYER;spawn"
store:
text: "&eStore"
image: "https://example.com/icon.png"
actions:
- "CONSOLE;warp store {player_name}"
display_conditions:
any:
- "{vault_eco_balance} >= 100"
MODAL forms
Modal forms always show two buttons and run their actions only when the related conditions pass.
content: Body text list.buttons.button1andbuttons.button2: Each containstext,actions, and optionaldisplay_conditions(controls action execution, not visibility).
Actions fire only when the matching button is clicked and its conditions evaluate to true.
CUSTOM forms
Custom forms let you mix components. Each component has type, text, optional defaults, actions, and optional display_conditions.
Supported component types:
DROPDOWN:optionslist anddefaultindex.INPUT:placeholderanddefaulttext.TOGGLE:defaultboolean.SLIDER:min,max,step, anddefaultvalues.STEPSLIDER:stepslist anddefaultindex.LABEL: Static text, no actions.
Actions can reference player placeholders and {component_key} values (plus {component_key_text} for dropdown/stepslider labels) collected from the submitted form.
Example (CUSTOM)
type: CUSTOM
menuName: "&dFeedback"
components:
username:
type: INPUT
text: "Name"
placeholder: "Your IGN"
actions:
- "MESSAGE;&aThanks, {username}!"
rate:
type: STEPSLIDER
text: "Rate us"
steps:
- "Bad"
- "Okay"
- "Great"
default: 1
actions:
- "MESSAGE;&eYou picked {rate_text}"
- "CONSOLE;eco give {player_name} 5"
Using the web editor
- Run
/bm editorin-game and open the link in your browser. - Copy the verification command from the site, paste it in-game or console (
/bm confirm <code>), and run it. - Reopen the browser tab; your Bedrock menu YAML files will be available to edit.
[ Screenshot placeholder: Web editor showing a Bedrock CUSTOM form file with dropdown, toggle, and slider components visible in the sidebar. ]