Custom GUI Menus | 1.21 icon

Custom GUI Menus | 1.21 -----

Highly customisable GUI system



Custom GUI Menus

What makes CustomGUIMenus different
Lightning Performance - Optimized caching system with zero inventory lag
Visual Menu Builder - Create stunning GUIs with simple YAML configs
Hot-Reload System - Update menus without server restarts
Multi-Language Ready - Built-in locale system (EN/ES/FR/DE included)
Multi-Command Actions - Execute multiple commands with single click
Dynamic Placeholders - Full PlaceholderAPI & built-in variables
Advanced Actions - Commands, messages, menu navigation, and more
Permission Control - Per-menu and per-item permission support
Sound Effects - Customizable click sounds and feedback
Fill System - Auto-fill empty slots with custom items

Ready-to-Go Setup
  • Drop in plugins/ → Restart → Create amazing GUIs!
# CustomGUIMenus Configuration
#

# Default locale to use (must match a file in the locales folder)
locale: en_US

# Settings for empty slot filling
fill-item:
# Material for fill items
material: BLACK_STAINED_GLASS_PANE
# Display name for fill items (use " " for empty)
name: " "

# Should the menu close when clicking outside the inventory?
close-on-click-outside: true

# Sound settings
sounds:
click:
# Enable click sounds
enabled: true
# Sound to play (see https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Sound.html)
sound: UI_BUTTON_CLICK
# Volume (0.0 - 1.0)
volume: 0.5
# Pitch (0.5 - 2.0)
pitch: 1.0

# Debug mode - shows extra information in console
debug: false

# PlaceholderAPI support
# Set to true if you have PlaceholderAPI installed
placeholder-api: false

# Menu settings
menu-settings:
# Should menus update when opened (re-parse placeholders)?
update-on-open: true
# Maximum number of menus that can be loaded
max-menus: 100

# Permission settings
permissions:
# Should the plugin check for menu-specific permissions?
# If true, players need customguimenus.menu.<menu-name> to open menus
check-menu-permissions: false
# Default permission for menus without a specific permission set
default-menu-permission: ""

# Advanced settings (don't change unless you know what you're doing)
advanced:
# Async menu loading
async-loading: false
# Cache menu instances
cache-menus: true
# Menu cache duration in seconds (if cache-menus is true)
cache-duration: 300
prefix: '&8[&6CustomGUI&8] '
messages:
no-permission: '&cYou don''t have permission to do that!'
menu-not-found: '&cMenu ''%menu%'' not found!'
player-only: '&cThis command can only be used by players!'
reload-success: '&aConfiguration reloaded successfully!'
menu-opened: '&aOpened menu: %menu%'
invalid-usage: '&cUsage: /gui <open|reload> [menu]'
console-cannot-open: '&cConsole cannot open GUI menus!'

Pre-configured example menus included:
• mainmenu.yml - Central hub with navigation
• shop.yml - Advanced shop with multi-command purchases
• help.yml - Information and commands display

Example Shop Menu Configuration
title: "&a&lShop Menu"
rows: 4
fill-empty: true

items:
11:
material: GOLDEN_APPLE
name: "&6Golden Apple"
lore:
- "&7Price: &a$100"
- "&7"
- "&e► Click to purchase!"
action: command
action-data:
- "eco take %player% 100"
- "give %player% golden_apple 1"
- "playsound minecraft:entity.experience_orb.pickup player %player%"
Supported Actions
• command - Execute console commands
• player-command - Execute as player
• console-command - Force console execution
• open - Open another GUI menu
• close - Close current menu
• message - Send player message
• broadcast - Server-wide message
• none - Decorative items

Built-in Placeholders
• %player% - Player name
• %displayname% - Display name
• %world% - Current world
• %x%, %y%, %z% - Coordinates
• %health% - Current health
• %food% - Food level
• %level% - Experience level
• %exp% - Total experience
• Plus full PlaceholderAPI support!

Why choose CustomGUIMenus?
0% Performance Impact - Async loading & smart caching
Active Development - Regular updates & new features
Developer-Friendly API - Clean integration for custom plugins
Backwards Compatible - Supports both single & multi-command formats
No Dependencies - Works standalone (PlaceholderAPI optional)

Perfect for every server type
Survival • Skyblock • Prison • RPG • Creative • Minigames • Hub/Lobby • Networks

Commands & Permissions
/gui - Main command
/gui open <menu> - Open specific menu
/gui list - List available menus
/gui reload - Reload configuration

Permissions:
• customguimenus.use - Basic usage
• customguimenus.admin - Full access
• customguimenus.menu.<name> - Specific menu access

Requirements
Minecraft 1.21 | Java 21+ | Paper/Spigot

For older versions (1.19-1.20), use Java 17 and adjust api-version

❤️ Support ❤️
If you enjoy this plugin, please consider leaving a ⭐ Rating and Review on Spigot!

For bug reports or feature requests, please use the Discussion Thread.

Discord: warrior0190


[​IMG][​IMG]
Resource Information
Author:
----------
Total Downloads: 9
First Release: Sep 6, 2025
Last Update: Sep 6, 2025
Category: ---------------
All-Time Rating:
1 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings