Dialog Panel Configuration
Dialog panels provide structured input interfaces using buttons, sliders, dropdowns, and other form-like elements. Unlike inventory panels, dialog panels are laid out as Minecraft style menus and are ideal for custom forms, menus, or user settings.
When opening a Dialog Panel from an Inventory Panel, run the close command first. Otherwise, the Inventory Panel stays open in the background and will reopen when the Dialog Panel closes.
Overview
Dialog panels do not use inventory slot positions but instead arrange UI components in a linear or grid-style layout. Players can interact with text, options, input fields, buttons, and more.
Each dialog panel consists of two main sections:
layout:
— defines the layout and sequence of componentsitems:
— defines each UI element used in the panel
Key Features
- Text & Info Blocks: Use rich text or hoverable tooltips to explain features.
- User Inputs: Input fields, toggles, ranges, and dropdowns support structured data entry.
- Buttons with Logic: Buttons can run server commands, open URLs, or trigger other panels.
- Component Layout: Use
layout:
anditems:
to organize elements.
Dialogs follow a three-phase layout:
- Text and item components are always rendered at the top
- Input components (like input, option, range, boolean) are placed in the middle
- Buttons appear at the bottom
Within each section, you can arrange components in any order you like using the layout:
map — but they will always group by type in this top-middle-bottom structure.
Configuration Options
Type
Defines this panel as a dialog (form-based) GUI.
type: 'dialog'
Title
Sets the panel’s title.
title: 'Example Dialog Panel'
Command
This is the in-game command players use to open the panel. You can include arguments, and reference them using %commandpanels_session_<arg>%
inside the panel. E.g. if the command is example player
, using /example RockyHawk
will open the panel and the placeholder %commandpanels_session_player%
will return "RockyHawk".
command: 'ban player'
Aliases
This will define other commands that can be executed that will still open this panel.
The arguments used in the command will also be used for these aliases too, so if you
have command: 'ban player'
defined, you can use /ban Player
, /mute Player
, /kick Player
, or /warn Player
they will all open the panel the same way.
aliases: ['mute','kick','warn']
Commands
A list of commands to be executed automatically when the panel is opened.
commands:
- '[msg] Panel has been opened'
- '[session] set player RockyHawk'
Floodgate
If the player is using Bedrock Edition (via GeyserMC), this option can redirect them to a compatible floodgate
panel instead.
floodgate: 'floodgate_panel_example'
Has Exit Button
If set to true
, the last button you have listed in the order will be moved to the bottom of the Dialog in the exit button location. If a user closes the Dialog by pressing the ESC
key, the Command Actions from the exit button will also be triggered even if the button isn't pressed.
has-exit-button: false
Escapable
If true
, players can exit the dialog using ESC
or form cancel methods.
escapable: true
Columns
Sets the number of columns the dialog should span across.
columns: 1
Order Layout
The layout:
section determines the display sequence of components.
Each entry follows the format:
layout:
0:
- '<component-name>'
- '<component-name>'
The panel processes the display by iterating over sorted order keys and rendering listed components. If multiple components are listed under the same order number, conditions will be parsed and the first component that meets conditions will be used.
Note: Components do not render in the same order as declared in items:
— the order list controls display sequence.