Compatibility
Minecraft: Java Edition
Platforms
Tags
Creators
Details

ā” SmartMenus
A powerful and modern GUI system for Minecraft servers ā built on SmartInvs.
Create anything from simple server menus to shops, rank upgrades, player browsers, quest interfaces, NPC menus, inventory managers, server selectors, and even full-screen 90-slot GUIs.
SmartMenus combines a powerful YAML configuration system with dynamic server data, advanced conditions, scripting, Bedrock support, and a free online visual editor.
No coding required.
š ļø Free Online GUI Builder
Don't want to manually write YAML?
SmartMenus includes a free browser-based Visual Builder where you can create your menus visually.
- š±ļø Click slots directly on a Minecraft inventory grid
- ā” Configure actions and click types
- š Add conditions and view requirements
- š Configure pagination and button types
- š Live YAML preview
- š„ Import existing SmartMenus configurations
- š¾ Automatic saving
- š¤ Download your finished
.ymlfile - ā No account or installation required
Build the menu visually, export it, put it on your server, and reload SmartMenus.
š± Java + Bedrock Support

SmartMenus supports Geyser and Floodgate players.
Your existing Java GUIs can automatically be converted into Bedrock Forms without creating a second configuration.
Supported forms include:
- Simple Forms
- Modal Forms
- Custom Forms
- Dialogue Forms
You can also create dedicated Bedrock interfaces using:
OPEN_BEDROCK_FORM
OPEN_BEDROCK_DIALOGUE
One configuration. Java and Bedrock.
š„ļø Full-Screen 90-Slot GUIs
SmartMenus can use both the chest and player inventory area:
54 GUI slots + 36 bottom inventory slots = 90 interactive slots.
Every slot can use actions, conditions, placeholders, and advanced button types.
Two rendering modes are available:
DEFAULT
Works without additional dependencies and safely restores the player's inventory when the GUI closes.
PACKET_EVENT
Uses PacketEvents to render the bottom inventory entirely client-side.
This means the player's real inventory is never modified, providing crash-safe and flicker-free full-screen interfaces.
š Dynamic GUIs
SmartMenus isn't limited to static YAML items.
With DYNAMIC_PAGINATION, menus can automatically generate buttons from live server data.
Built-in sources include:
- š„
ONLINE_PLAYERS - š
WORLDS - š
PLAYER_INVENTORY - š
PLAYER_ENDERCHEST - šļø
PERMISSION_GROUPS
For example, you can create a live player browser where every online player automatically appears as a clickable head showing their:
Name ⢠World ⢠Health ⢠Level ⢠Ping ⢠Gamemode
Players joining or leaving are handled dynamically.

š Advanced Button System
SmartMenus provides numerous specialized button types, including:
NONE ⢠INVENTORY ⢠BACK ⢠HOME ⢠NEXT ⢠PREVIOUS ⢠JUMP ⢠PAGINATION ⢠DYNAMIC_PAGINATION ⢠SWITCH ⢠INPUT ⢠CHAT_INPUT
š INPUT
Allow players to physically place items inside a GUI.
Perfect for:
- Custom crafting
- Quest item submissions
- Sacrifice systems
- Upgrade stations
- Item exchanges
š¬ CHAT_INPUT
Ask the player for text and capture their response.
Useful for:
- Searches
- Custom names
- Admin interfaces
- Player input
- Configuration menus
š SWITCH
Create dynamic toggle buttons based on PlaceholderAPI values or other states.
Perfect for:
- PvP toggles
- Fly toggles
- Player settings
- Preferences
- Feature switches
ā” Powerful Actions
Buttons can execute multiple actions, such as:
- Console commands
- Player commands
- Messages
- Broadcasts
- Titles
- Action bars
- Sounds
- Teleports
- Server connections
- Opening other menus
- Random commands
- JavaScript
- And more
Different actions can even be assigned to:
Left Click ⢠Right Click ⢠Shift Click ⢠Middle Click ⢠Double Click
This makes it possible to create highly interactive menus without writing custom plugin code.
š Advanced Conditions
SmartMenus includes 23 condition types for controlling who can see or use an item.
Check things like:
- š° Vault balance
- š OreoEssentials currencies
- ā XP / levels
- š¦ Vanilla items
- šØ ItemsAdder / Nexo items
- š Permissions
- šļø LuckPerms groups
- š Worlds
- š¦ļø Weather
- šŗļø WorldGuard regions
- š§ ModeledNPC proximity
- š OreoEssentials warps
- š¢ PlaceholderAPI values
- š§ Mathematical expressions
- š JavaScript
Conditions can prevent players from clicking an item or completely hide the item using view-requirements.
You can also create fallback items using else-item, allowing different items to appear depending on whether requirements are met.
else-item configurations can even have their own view-requirements and another else-item, allowing multi-level conditional displays.
For example:
VIP ā MVP ā Default
This makes it easy to display different buttons depending on permissions, ranks, currencies, or any other supported condition.
šØ Modern Item & Text System
Customize GUI items with:
- Custom materials
- Custom Model Data
- ItemsAdder
- Nexo
- HeadDatabase
- Enchantments
- Glow
- Item flags
- Dynamic lore
- Auto-updating placeholders
- Hex colors
- Gradients
- Rainbow text
- PlaceholderAPI
SmartMenus can continuously refresh menu items, making live statistics and dynamic interfaces easy to create.
š Network Support
Create network server selectors using:
SERVER_CONNECT
Compatible with Velocity and BungeeCord networks.
Use SmartMenus to build server selectors, game-mode selectors, lobby navigation, or complete network hubs.
š§ NPC GUIs
SmartMenus integrates directly with ModeledNPCs.
Bind a GUI to an NPC and automatically open it when players interact with them.
Great for:
- Shops
- Quest NPCs
- Bankers
- Teleporters
- Dialogue systems
- Server selectors
- Reward NPCs
š Integrations
SmartMenus supports optional integrations with:
- PacketEvents
- PlaceholderAPI
- Vault
- LuckPerms
- WorldGuard
- ItemsAdder
- Nexo
- HeadDatabase
- ModeledNPCs
- OreoEssentials
- Geyser / Floodgate
None of these integrations are required for the core plugin.
Install only the integrations your server needs.
š° OreoEssentials Integration
SmartMenus has deep integration with OreoEssentials.
Use unlimited custom currencies such as:
Tokens ⢠Gems ⢠Crystals ⢠Coins ⢠Shards
You can build shops and interfaces using any configured OreoEssentials currency.
SmartMenus can also restrict menu items based on OreoEssentials warps or require a player to physically be near a specific warp before interacting with an item.
This is useful for:
- Physical server shops
- NPC stores
- Banks
- Region-based menus
- Teleport interfaces
- Quest locations
š” What Can You Build?
š Shops š Server selectors šļø Rank stores š§ NPC shops š Quest boards š„ Player browsers š Inventory managers š Ender Chest interfaces āļø PvP menus š Settings menus š”ļø Sacrifice systems š Reward interfaces š World selectors š„ļø Full-screen hubs š® Bedrock forms āļø Script-driven interfaces
From a small /menu GUI to a complete interactive server interface, SmartMenus is designed to scale with your server.
āļø Commands
/smartmenus
/smartmenus open <gui> [player]
/smartmenus reload
GUIs can also have their own custom commands, such as:
/menu
/shop
/server
This allows players to open specific GUIs without needing to use the main SmartMenus command.
š¦ Installation
- Download SmartMenus.
- Put the
.jarinside your server'splugins/folder. - Restart your server.
- Create your GUIs inside
plugins/SmartMenus/guis/. - Run
/smartmenus reload.
Done. ā”
š„ļø Requirements
- Minecraft 1.16+
- Java 16+
- Paper / Purpur / Pufferfish recommended
ā¤ļø Completely Free
SmartMenus is free and will stay free.
There is no paid version required to access the core features.
If you enjoy the plugin, consider:
- Leaving a review
- Reporting bugs
- Suggesting features
- Sharing SmartMenus with other server owners
- Supporting the project by providing feedback
ā” SmartMenus
From a simple menu to a complete interactive interface.

Java + Bedrock ⢠Visual Online Builder ⢠Dynamic Data ⢠90 Slots ⢠Conditions ⢠Actions ⢠Scripting
Created by Oreo Studios
Powered by SmartInvs


