Compatibility
Minecraft: Java Edition
Platforms
Creators
Details
HexaForms
An advanced menu system for Minecraft servers with PlaceholderAPI integration and Bedrock form support.
Features
- Java & Bedrock Support: Automatic detection of Bedrock players and display of native forms
- PlaceholderAPI Integration: Full support for all PlaceholderAPI placeholders
- Flexible Configuration: Simple YAML-based menu configuration
- Condition Checking: Advanced condition checking for menu items
- Action System: Various actions like commands, messages, sounds
- Enchantment Support: Support for enchantments and glow effects
Installation
-
Make sure you have the following plugins installed:
- PlaceholderAPI
- Floodgate (optional, for Bedrock support)
- Geyser (optional, for Bedrock support)
-
Download the HexaForms.jar to your plugins folder
-
Restart the server
-
Configure the menus in the
plugins/HexaForms/menus/
folder
Configuration
Main Configuration (config.yml)
messages:
player-only: "&cThis command can only be used by players!"
menu-not-found: "&cMenu '%menu%' not found!"
no-permission: "&cYou don't have permission!"
condition-denied: "&cYou don't meet the requirements for this!"
reloaded: "&aPlugin reloaded successfully!"
default-menu: "main_menu"
auto-save: true
debug-mode: false
placeholders:
enabled: true
cache-time: 1000
bedrock:
enabled: true
fallback-to-java: true
image-cache: true
Menu Configuration
Create YAML files in the plugins/HexaForms/menus/
folder:
# Menu Basic Configuration
title: "&6&lShop Menu"
content: "&7Purchase items and equipment"
size: 54
# Bedrock Form Configuration
bedrock_form:
title: "&6&lShop Menu"
content: "&7Purchase items and equipment"
buttons:
- text: "&a&lWeapons"
image:
type: "url"
data: "https://example.com/weapon.png"
actions:
- "[command] shop weapons"
- "[sound] ENTITY_PLAYER_LEVELUP 1 1.5"
conditions:
- "permission:shop.weapons"
# Java Menu Items
items:
weapons_button:
slot: 10
material: DIAMOND_SWORD
display-name: "&a&lWeapons"
lore:
- "&7Click to browse weapons"
- "&eYour balance: %vault_eco_balance%"
glowing: true
actions:
- "[command] shop weapons"
- "[sound] ENTITY_PLAYER_LEVELUP 1 1.5"
conditions:
- "permission:shop.weapons"
Commands
/menu [menuName]
- Opens a menu (default: main_menu)/menureload
- Reloads the configuration
Permissions
hexaforms.menu.use
- Allows access to menus (default: true)hexaforms.reload
- Allows reloading the plugin configuration (default: op)hexaforms.admin
- Allows access to admin menus (default: op)
Actions
Available Action Types
Commands:
-
[player] <command>
- Executes a command as the player. -
[console] <command>
- Executes a command from the console. -
[commandevent] <command>
- Executes an unregistered command as the player.IMPORTANT: Currently, this action is simply an alias for the [player] action.
Messages:
-
[message] <text>
- Sends a message to the player. You can use placeholders and color/format codes here. -
[broadcast] <text>
- Sends a message to everyone online including the console. You can use placeholders and color/format codes here. -
[minimessage] <text>
- Sends a message to a player using the more modern MiniMessage format! -
[minibroadcast] <text>
- Sends a message to everyone online using the more modern MiniMessage format! -
[json] <JSON-text>
- Send a json message to the player. Use this website to easily generate the JSON text. -
[jsonbroadcast] <JSON-text>
- Send a json message to everyone online. Use this website to easily generate the JSON text. -
[chat] <message>
- Send a message in chat as the player who this action got executed for.
Menu Control:
-
[openguimenu] <menu-name> [arguments]
- Opens another GUI from DeluxeMenus. All arguments from the current menu are passed to the opened menu by default. If the opened menu also has arguments, they can be specified as well. -
[close]
- Closes the currently opened GUI. -
[refresh]
- Refresh items in the current menu view. This updates the shown Items themselves.
Network:
-
[connect] <server-name>
- Connects the player to a server on the same BungeeCord.IMPORTANT: Requires BungeeMessaging. This is present on BungeeCord and WaterFall. On Velocity it might be disabled by default. Check your proxy config.
Sounds:
-
[sound] <sound> <volume> <pitch>
- Play a sound for the player. -
[broadcastsound] <sound> <volume> <pitch>
- Broadcast a sound to all players on the server. -
[broadcastsoundworld] <sound> <volume> <pitch>
- Broadcast a sound to all players in the world.
Economy:
-
[givemoney] <amount>
- Give a certain amount of money to the player. Vault is required for this action to work. -
[takemoney] <amount>
- Take a certain amount of money from the player. Vault is required for this action to work.
Experience:
-
[giveexp] <amount>L
- Give a certain amount of exp levels or points to a player. To give levels, add L at the end, otherwise remove it. -
[takeexp] <amount>L
- Take a certain amount of exp levels or points from a player. To give levels, add L at the end, otherwise remove it.
Permissions:
-
[givepermission] <perm.node>
- Give a permission to a player. Vault is required for this action to work. -
[takepermission] <perm.node>
- Take a permission from a player. Vault is required for this action work.
Meta Data:
[meta] <set/remove/add/subtract/switch> <key> <type> <value>
- Modifies the player's meta. add/subtract are for number types. switch is for boolean, it will swap it from true/false. Check here for more detail.
Placeholder:
-
[placeholder] <papi-placeholders>
- Parse placeholders for a player without any chat or console output from DeluxeMenus.IMPORTANT: If the placeholders have output, it is not hidden!
Examples
actions:
# Commands
- "[player] warp spawn"
- "[console] give %player_name% diamond 1"
- "[commandevent] home"
# Messages
- "[message] &aWelcome to the shop!"
- "[broadcast] &6%player_name% entered the shop!"
- "[minimessage] <gradient:green:blue>Welcome!</gradient>"
# Sounds
- "[sound] ENTITY_PLAYER_LEVELUP 1 1.5"
- "[broadcastsound] ENTITY_EXPERIENCE_ORB_PICKUP 1 1"
# Economy
- "[givemoney] 1000"
- "[takemoney] 500"
# Experience
- "[giveexp] 10L"
- "[takeexp] 5"
# Permissions
- "[givepermission] shop.vip"
- "[takepermission] shop.basic"
# Menu Control
- "[openguimenu] vip_shop"
- "[close]"
- "[refresh]"
# Meta Data
- "[meta] set shop_visits int 1"
- "[meta] add balance double 1000"
# Network
- "[connect] lobby"
Conditions
Available Condition Types
permission:<permission>
- Checks permissionsplaceholder:<placeholder> <operator> <value>
- Checks placeholder valuesworld:<worldname>
- Checks the player's worldgamemode:<gamemode>
- Checks the game modetime:<range>
- Checks the game time
Examples
conditions:
- "permission:shop.weapons"
- "placeholder:vault_eco_balance >= 1000"
- "world:world"
- "gamemode:survival"
- "time:0-12000"
PlaceholderAPI
The plugin supports all PlaceholderAPI placeholders:
%player_name%
- Player name%vault_eco_balance%
- Account balance (Vault)%player_health%
- Player health%player_world%
- Current world- And many more...
Bedrock Support
For Bedrock players, native forms are automatically displayed:
- Automatic detection of Bedrock players
- Native form API
- Image support (URL and path)
- Fallback to Java menus if problems occur
Troubleshooting
Common Issues
- Menu not displaying: Check permissions and configuration
- Placeholders not working: Make sure PlaceholderAPI is installed
- Bedrock forms not working: Check Floodgate/Geyser installation
Debug Mode
Enable debug mode in config.yml:
debug-mode: true
Support
For problems or questions:
- Check the server logs
- Make sure all dependencies are installed
- Test with debug mode
- Discord
License
This plugin is licensed under CC-BY-NC-4.0.