Bring native Bedrock Edition forms to your Java server!
BedrockGUI is a powerful utility for Paper, Velocity and Bungeecord that allows server owners to create native Bedrock-style interactive forms. By integrating with Floodgate, it provides a seamless UI experience for Bedrock players while remaining manageable via simple YAML configurations.
🚀 Web Designer | 📖 Documentation | 💬 Discord Support
- Simple Forms: Button-based menus. Support for custom images via URLs, textures, or player names.
- Modal Forms: Simple Yes/No confirmation dialogs.
- Custom Forms: Complex data entry with Text Inputs, Sliders, Dropdowns, and Toggles.
- Dynamic Forms: Runtime-conditional components based on permissions or player state.
- Java Menus: Early support for traditional chest-based GUIs.
Execute complex logic using a modern curly-brace syntax. Chain actions together to create guided player flows.
- Commands: Run commands as the player or the console.
- Economy: Integrate with your economy plugin for balance checks and transactions.
- UI Feedback: Send titles, action bars, and colorized messages.
- Inventory: Manage player items (give/remove/check).
- Flow Control: Use
delay,random, andconditionalactions to build intelligent menus. - BungeeCord: Send players to different servers via plugin messaging.
- URLs: Send clickable links directly to chat.
- Floodgate: Native support for Bedrock player detection.
- PlaceholderAPI: Use any PAPI placeholder in your titles, button text, or action values.
- ShopGUI+ & EconomyShopGUI: Dedicated shop bridge actions (see
essentials-addonmodule). - Bedwars: Native forms for BedWars2023, BedWars1058, and ScreamingBedWars — in-game shop, team upgrades, arena selector, stats, spectator, and party menus, auto-detecting the installed plugin (see
bedwars-addonmodule). - YAML Configuration: No need to recompile; edit your menus in real-time.
| Module | Target | Output |
|---|---|---|
common |
Shared API & core logic | BedrockGUI-API.jar |
paper |
Paper / Spigot / Folia | BedrockGUI-Paper.jar |
velocity |
Velocity proxy | BedrockGUI-Velocity.jar |
bungeecord |
BungeeCord / Waterfall | BedrockGUI-Bungee.jar |
essentials-addon |
Paper shop addons | BedrockGUI-EssentialsAddon.jar |
bedwars-addon |
Paper Bedwars addons | BedrockGUI-BedwarsAddon.jar |
| Command | Description | Permission |
|---|---|---|
/bedrockgui |
Administrative control | bedrockgui.admin |
/bedrockgui reload |
Reloads all configurations | bedrockgui.admin |
/bedrockgui open <menu> [player] |
Opens a specific form for a player | bedrockgui.admin |
- Java 21 or higher
- Gradle (or use the included
gradlewwrapper)
# Build everything
./gradlew build
# Build a specific platform
./gradlew buildPaper
./gradlew buildVelocity
./gradlew buildBungeecord
./gradlew buildEssentialsAddon
./gradlew buildBedwarsAddonBuilt JARs are written to each module's build/libs/ directory.
All versions are centralized in gradle.properties. To update any dependency, change the version in that single file — no need to edit individual module builds.
- Web Designer: Use our visual editor to build your forms without touching a text editor.
- Wiki: For detailed configuration and action examples, visit the BedrockGUI Guide.
| Action | Description | Example |
|---|---|---|
command |
Run as player | command { - "me hello" } |
server |
Run as console | server { - "say Hello!" } |
message |
Colorized chat | message { - "&aWelcome!" } |
title |
Title/subtitle | title { - "Welcome!:Enjoy:10:60:10" } |
actionbar |
Hotbar message | actionbar { - "&eLoading..." } |
sound |
Play sound | sound { - "ui.button.click:0.8:1.0" } |
economy |
Balance ops | economy { - "check:500" - "remove:500" } |
inventory |
Item ops | inventory { - "give:diamond:3" } |
open |
Open another menu | open { - "shop_menu" } |
delay |
Wait + chain | delay { - "1000" - "message:Done!" } |
random |
Weighted pick | random { - "message:A:2" - "message:B:1" } |
conditional |
If/else logic | See docs |
broadcast |
Global message | broadcast { - "Welcome!" } |
url |
Clickable link | url { - "https://example.com" } |
BedrockGUI/
├── common/ # Shared API, form builders, action system
├── paper/ # Paper/Spigot/Folia platform
├── velocity/ # Velocity proxy platform
├── bungeecord/ # BungeeCord/Waterfall platform
├── essentials-addon/ # ShopGUI+ & EconomyShopGUI bridges
├── bedwars-addon/ # BedWars2023 / BedWars1058 / ScreamingBedWars forms
├── docs/ # API reference, user guide, addon development guide
├── gradle.properties # Centralized dependency versions
└── build.gradle # Root build config
Building your own addon? See the Addon Development Guide — it
covers the BedrockGUI API surface, the provider-based addon architecture, form and action patterns,
GUI-interception strategies, multi-plugin support, and testing, so you don't have to read through the
core code each time. The essentials-addon and bedwars-addon modules are complete worked examples.
This project is proprietary. All rights reserved.
