BedrockGUI v2
BedrockGUI Complete Guide
A comprehensive guide to creating SIMPLE, MODAL, and CUSTOM forms with actions, conditions, and advanced features.
Form Types Overview
BedrockGUI supports three main form types:
SIMPLE: Button-based menus with multiple options
MODAL: Yes/No confirmation dialogs (exactly 2 buttons)
CUSTOM: Input forms with various components (text inputs, toggles, dropdowns, etc.)
General Overview
Provides Bedrock-style forms on Paper and Velocity; integrates with Floodgate for Bedrock detection
Unified action system with modern curly-brace syntax and placeholder support
Supports multi-action sequences, delays, random selection, and conditional logic
YAML-driven menus plus programmatic builders for dynamic forms
Admin command to reload and open forms
Action System
Syntax
Use:
action_type { - "value1" - "value2" }
Placeholders:
{player},{player_level},${vault_eco_balance}and values derived from form results
Actions
command
Executes commands as the player
Examples
server
Executes commands as the server console
Examples
broadcast
Broadcasts messages globally or to targeted audiences (permission/world/radius)
Examples
message
Sends colorized chat messages; supports
&and hex colorsExamples
sound
Plays sounds with optional volume and pitch
Examples
economy
Balance operations:
add,remove,set,check,payExamples
title
Shows title/subtitle with timing
fadeIn:stay:fadeOutExamples
actionbar
Shows short messages above the hotbar
Examples
inventory
Item operations:
give:item:amount,remove:item:amount,clear:all|item,check:itemExamples
open
Opens another form/menu
Examples
delay
Waits for milliseconds, then optionally runs a chained action
Examples
random
Selects and executes one action from a list; last colon may be weight
Examples
url
Sends HTTP(S) links to the player’s chat (clients render clickable)
Examples
conditional
Executes actions based on permission/placeholder checks
Examples
bungee
Sends a Plugin message thru the Bungeecord channel (Please reffer to this for more info: https://www.spigotmc.org/wiki/bukkit-bungee-plugin-messaging-channel/ )
Examples
Form Types
Simple Form
Title, optional description, multiple buttons
Configuration
Modal Form
Two buttons (Yes/No-style), optional description
Configuration
Custom Form
Structured inputs and interactive components; optional global actions
Components
input:text,placeholder,default, optionalactionslider:text,min,max,step,default, optionalactiondropdown:text,options,default, optionalactiontoggle:text,default, optionalaction
Configuration
Conditional Buttons (Simple/Modal)
Show/hide or change text/image/onClick based on conditions
Keys:
show_condition,alternative_text,alternative_image,alternative_onClick,conditions.*Evaluated when the form is built
Tips
Use placeholders to personalize messages and actions (e.g.,
{player},${vault_eco_balance})Combine actions for guided flows using multiple list items under a button’s
onClick
Menu Configuration Quick Reference
Under
forms.<menu_name>type:SIMPLE | MODAL | CUSTOMtitle: text (color codes supported)description: optional (Simple/Modal)
permission: optional required permissionbuttons: for Simple/Modal (withtext, optionalimage,onClicklist)components: for Custom (with fields per type)global_actions: actions run after Custom submit
Command binding example in
config.yml
Placeholders
Built-ins:
{player},{player_level},{player_gamemode},{player_world},${vault_eco_balance}Applied inside action handlers before execution; injected into
ActionContext
Admin Command
Paper:
/bedrockguiwithbedrockgui.adminpermissionVelocity:
/bedrockgui reload,/bedrockgui open <menu> [player]
Composition Examples
Guided sequence
Server operations
Best Practices
1. Form Design
Keep titles concise and descriptive
Use color codes consistently
Provide clear descriptions
Use appropriate icons/images
2. Action Chaining
Use delays between actions for better UX
Provide feedback for every action
Handle error cases gracefully
Use sounds to enhance experience
3. Conditional Logic
Always provide fallback actions
Test edge cases thoroughly
Use clear error messages
Validate user permissions
4. Performance
Avoid excessive action chains
Use appropriate delay times
Limit form complexity
Cache frequently used data
5. User Experience
Provide confirmation for destructive actions
Use consistent navigation patterns
Offer help/tutorial options
Support different player types (new/experienced)
6. Security
Validate all user inputs
Check permissions thoroughly
Sanitize placeholder values
Limit resource-intensive operations
Placeholder Support
BedrockGUI supports various placeholder types:
Built-in Placeholders
{player}- Player name{player_world}- Current world{player_health}- Player health{player_x},{player_y},{player_z}- Player coordinates{server_online}- Online player count{server_max}- Max player count{balance}- Player balance (if economy enabled)
PlaceholderAPI Support
All PlaceholderAPI placeholders are supported when the plugin is installed:
%player_name%- Player name%player_world%- Current world%vault_eco_balance%- Economy balanceAnd thousands more from various plugins
Note: PlaceholderAPI placeholders work in all contexts including:
Action data (messages, commands, etc.)
Conditional action conditions and values
Form titles, descriptions, and button text
Show conditions for buttons and forms
Form Result Placeholders
Results from custom forms can be used as placeholders:
{component_name}- Value from form component{input_field}- Text input value{toggle_state}- Toggle true/false{dropdown_selection}- Selected dropdown option
This guide covers all major features of BedrockGUI. For more advanced configurations and custom implementations, refer to the source code and example configurations provided with the plugin.
Last updated