NeonDeluxeMenusEditor
A professional in-game visual editor for DeluxeMenus — create, edit, and manage your DeluxeMenus configurations without ever touching a YAML file.
NDEditor provides a complete WYSIWYG editing experience with drag-and-drop item placement, visual action and requirement builders, undo/redo history, live preview, automatic backups, and multi-storage support including MySQL, SQLite, JSON, and YAML. Fully compatible with Folia and Paper.
For downloads or plugin requests, visit our Discord server or our BuiltByBit page.
Features
NDEditor is built for maximum productivity and zero YAML headaches.
WYSIWYG Editor
Visual drag-and-drop menu editing directly in-game with slot numbers and live updates.
Undo / Redo
Full history tracking with configurable depth — never lose your changes.
Live Preview
Preview menus exactly as players see them, with placeholders resolved.
Multi-Storage
YAML, JSON, SQLite, MySQL, and MariaDB storage backends with HikariCP pooling.
Auto-Backups
Scheduled compressed backups with rotation, restore, and a dedicated backup manager GUI.
Import / Export
Bulk import or export DeluxeMenus configurations for migration and sharing.
Sound Effects
Fully configurable UI sounds for clicks, saves, errors, and special effects.
Folia Compatible
First-class support for Folia, Paper, and Spigot with async I/O.
Installation
Setting up NeonDeluxeMenusEditor takes just a minute.
- Download the latest
NeonDeluxeMenusEditor.jarfrom the official NeonStudios release channel. - Place the
.jarinside your server's/pluginsdirectory. - Install DeluxeMenus (soft dependency — recommended for full features).
- Restart your server completely. (Avoid using
/reload). - Modify configuration files in
/plugins/NeonDeluxeMenusEditor/to suit your needs.
PlaceholderAPI enables placeholder resolution in previews. Vault enables economy-related actions (give/take money).
Commands
All commands use the base /ndeditor command with aliases: /deditor,
/nde, /ndme.
Menu Management
| Command | Description | Permission |
|---|---|---|
/ndeditor create |
Create a new menu via wizard GUI | ndeditor.create |
/ndeditor edit <menu> |
Open the visual editor for a specific menu | ndeditor.edit |
/ndeditor editor |
Open the menu list / manager GUI | ndeditor.editor |
/ndeditor delete <menu> |
Delete a menu (with confirmation) | ndeditor.delete |
/ndeditor clone <source> <target> |
Clone an existing menu to a new name | ndeditor.create |
/ndeditor rename <old> <new> |
Rename an existing menu | ndeditor.edit |
/ndeditor list |
List all available menus | ndeditor.use |
/ndeditor preview <menu> |
Preview a menu as players see it | ndeditor.preview |
Import / Export
| Command | Description | Permission |
|---|---|---|
/ndeditor import |
Import menus from file | ndeditor.import |
/ndeditor export <menu> |
Export a menu to file | ndeditor.export |
Backup & Restore
| Command | Description | Permission |
|---|---|---|
/ndeditor backup |
Create a manual backup | ndeditor.backup |
/ndeditor restore <name> |
Restore a backup | ndeditor.restore |
/ndeditor backups |
Open the Backup Manager GUI | ndeditor.backup |
Utility
| Command | Description | Permission |
|---|---|---|
/ndeditor config |
Open the DeluxeMenus Config Editor GUI | ndeditor.admin |
/ndeditor files |
Open the DeluxeMenus File Manager GUI | ndeditor.admin |
/ndeditor reload |
Reload all configuration files | ndeditor.reload |
/ndeditor debug |
Toggle debug mode | ndeditor.debug |
/ndeditor version |
Show plugin version info | ndeditor.use |
/ndeditor help |
Show the help menu | ndeditor.use |
Permissions
NDEditor uses a granular permission system. All permissions default to OP.
| Permission | Description | Children |
|---|---|---|
ndeditor.admin |
Full administrative access — grants all permissions below | All |
ndeditor.editor |
General editor access | create, edit, preview, use |
ndeditor.use |
Basic usage (help, version, list) | — |
ndeditor.create |
Create new menus | — |
ndeditor.edit |
Edit existing menus | — |
ndeditor.delete |
Delete menus | — |
ndeditor.import |
Import menus from files | — |
ndeditor.export |
Export menus to files | — |
ndeditor.reload |
Reload plugin configuration | — |
ndeditor.backup |
Create backups | — |
ndeditor.restore |
Restore backups | — |
ndeditor.debug |
Access debug mode | — |
ndeditor.preview |
Preview menus | — |
GUI Editors
NDEditor provides a suite of interconnected GUI editors — all accessible in-game without touching any files.
Menu Manager
The main hub (/ndeditor editor) shows all your DeluxeMenus in a paginated grid. From here you
can:
- Create — Click the Emerald button to launch the creation wizard
- Edit — Click any menu to open the visual editor
- Delete / Clone — Right-click or shift-click for advanced options
- Search — Use the Compass to filter menus by name
- Import — Click the Hopper to import from files
Visual Menu Editor
The WYSIWYG editor (/ndeditor edit <menu>) mirrors the actual menu layout. Features
include:
- Click empty slots to add new items
- Click occupied slots to open the Item Editor
- Drag items between slots for repositioning
- Bottom toolbar: Save, Undo, Redo, Settings, Preview, Back
Item Editor
A comprehensive item configuration GUI with dedicated sub-editors:
- Material Selector — Browse materials by category (Building, Decoration, Redstone, Tools, Combat, Food, Brewing, Heads, etc.)
- Lore Editor — Add, remove, and reorder lore lines visually
- Action Editor — Configure click actions with 15 action types (player/console commands, open/close menu, messages, sounds, permissions, money, and more)
- Requirement Editor — Set view/click requirements (permission, money, item, string comparisons, regex, JavaScript, numeric comparators)
- Enchantment Editor — Add/remove enchantments with level selection
- Item Flag Editor — Toggle flags like HIDE_ENCHANTS, HIDE_ATTRIBUTES
- Potion Editor — Configure potion effects
- Head Selector — Select player heads by name
Additional GUIs
- Backup Manager (
/ndeditor backups) — Browse, restore, and delete backups - Config Editor (
/ndeditor config) — Edit DeluxeMenus' own config.yml visually - File Manager (
/ndeditor files) — Browse, create, delete, and rename DeluxeMenus menu files - Placeholder Browser — Browse available placeholders from PlaceholderAPI
config.yml
The main configuration file controlling general behavior, storage, backups, caching, and performance.
General Settings
# License Configuration
license: ''
# General Settings
general:
# Language file to use
language: "en"
# Enable debug mode (verbose logging)
debug: false
# Enable update checker
update-checker: true
# Enable bStats metrics
metrics: true
# Maximum undo/redo history per session
max-history: 50
Storage Configuration
storage:
# Storage type: YAML, JSON, SQLITE, MYSQL, MARIADB
type: "YAML"
# MySQL / MariaDB settings
mysql:
host: "localhost"
port: 3306
database: "ndeditor"
username: "root"
password: ""
table-prefix: "nde_"
pool:
maximum-pool-size: 10
minimum-idle: 2
connection-timeout: 30000
idle-timeout: 600000
max-lifetime: 1800000
keepalive-time: 30000
# SQLite settings
sqlite:
file: "data.db"
Backup Configuration
backup:
# Enable automatic backups
auto-backup: true
# Auto-backup interval in minutes
interval: 60
# Maximum number of backups to keep
max-backups: 20
# Backup directory (relative to plugin folder)
directory: "backups"
# Compress backups
compress: true
Editor, Cache & Performance Settings
# Editor Settings
editor:
auto-save: 300 # Auto-save interval in seconds (0 = disabled)
confirm-delete: true # Show confirmation for destructive actions
confirm-overwrite: true
default-menu-size: 27 # Default menu size for new menus
sounds: true # Enable sound effects
particles: true # Enable particle effects
# Cache Settings
cache:
enabled: true
expiry: 300 # Seconds
max-size: 100 # Max cached menus
# Performance Settings
performance:
async-io: true
inventory-update-interval: 2 # Ticks
max-concurrent-ops: 4
# Dependency Management
dependency:
auto-download: false
min-deluxemenus-version: "1.13.0"
auto-download-placeholderapi: false
editor.yml
Controls editor behavior, default values for new menus/items, material categories, and the available action and requirement types.
Editor Behavior
behavior:
lock-on-edit: true # Lock slot when editing
auto-save-on-close: true # Save on editor close
show-slot-numbers: true # Show slot numbers in empty slots
allow-drag: true # Allow drag operations
show-tooltips: true # Show tooltips on editor buttons
defaults:
menu:
title: "&aNew Menu"
size: 27
update-interval: 10
register-command: true
item:
material: "STONE"
amount: 1
Action Types
These are the click action types available in the Action Editor GUI:
| Action | Prefix | Description |
|---|---|---|
| Player Command | [player] |
Run a command as the player |
| Console Command | [console] |
Run a command from the console |
| Open Menu | [openguimenu] |
Open another DeluxeMenu |
| Close Menu | [close] |
Close the current menu |
| Send Message | [message] |
Send a chat message to the player |
| Broadcast | [broadcast] |
Broadcast a message to all players |
| Play Sound | [sound] |
Play a sound effect |
| Give Permission | [givepermission] |
Grant a permission to the player |
| Take Permission | [takepermission] |
Remove a permission from the player |
| Take Money | [takemoney] |
Deduct money (requires Vault) |
| Give Money | [givemoney] |
Give money (requires Vault) |
| Action Bar | [actionbar] |
Display an action bar message |
| JSON Message | [json] |
Send a raw JSON message |
| Refresh Menu | [refresh] |
Refresh the current menu |
| Connect Server | [connect] |
Send the player to another BungeeCord server |
Requirement Types
These are the requirement types available in the Requirement Editor GUI:
| Requirement | Type Key | Description |
|---|---|---|
| Has Permission | has permission |
Check if the player has a permission node |
| Has Money | >= |
Check if the player has enough money |
| Has Item | has item |
Check if the player has a specific item |
| String Equals | string equals |
Compare two strings for equality |
| String Contains | string contains |
Check if a string contains a substring |
| Regex Match | regex matches |
Match against a regular expression |
| JavaScript | javascript |
Evaluate a JavaScript expression |
| >= Comparator | >= |
Greater than or equal numeric comparison |
| <= Comparator | <= |
Less than or equal numeric comparison |
| == Comparator | == |
Exact numeric equality |
gui.yml
Customize all GUI titles, filler items, navigation buttons, and layout slot positions. All titles support MiniMessage format.
GUI Titles
titles:
menu-list: "Menu Manager"
menu-editor: "Editing: {menu}"
item-editor: "Item Editor — Slot {slot}"
material-selector: "Material Selector — Page {page}"
action-editor: "Action Editor"
requirement-editor: "Requirement Editor"
lore-editor: "Lore Editor"
enchant-editor: "Enchant Editor"
placeholder-browser: "Placeholder Browser"
confirmation: "Confirm Action "
backup-list: "Backup Manager"
create-menu: "Create New Menu"
head-selector: "Head Selector"
potion-editor: "Potion Editor"
flag-editor: "Item Flags"
search-results: "Search Results"
Common GUI Elements
elements:
filler:
material: "BLACK_STAINED_GLASS_PANE"
name: " "
back-button:
material: "ARROW"
name: "← Back"
next-page:
material: "ARROW"
name: "Next Page →"
previous-page:
material: "ARROW"
name: "← Previous Page"
close-button:
material: "BARRIER"
name: "Close"
confirm-button:
material: "LIME_WOOL"
name: "Confirm"
cancel-button:
material: "RED_WOOL"
name: "Cancel"
sounds.yml
Configure all sound effects used in the editor. Format: SOUND_NAME:VOLUME:PITCH. Set any
sound to NONE to disable it.
# UI Navigation sounds
navigation:
click: "UI_BUTTON_CLICK:0.5:1.2"
open-menu: "BLOCK_CHEST_OPEN:0.5:1.0"
close-menu: "BLOCK_CHEST_CLOSE:0.5:1.0"
page-turn: "ITEM_BOOK_PAGE_TURN:0.5:1.0"
back: "UI_BUTTON_CLICK:0.3:0.8"
# Editor sounds
editor:
place-item: "BLOCK_NOTE_BLOCK_PLING:0.5:2.0"
remove-item: "BLOCK_NOTE_BLOCK_BASS:0.5:0.5"
move-item: "ENTITY_ITEM_PICKUP:0.3:1.5"
save: "ENTITY_PLAYER_LEVELUP:0.5:2.0"
undo: "BLOCK_NOTE_BLOCK_HARP:0.3:0.8"
redo: "BLOCK_NOTE_BLOCK_HARP:0.3:1.2"
select: "BLOCK_NOTE_BLOCK_BELL:0.3:1.5"
# Feedback sounds
feedback:
success: "ENTITY_PLAYER_LEVELUP:0.5:1.5"
error: "ENTITY_VILLAGER_NO:0.5:1.0"
warning: "BLOCK_NOTE_BLOCK_BASS:0.5:1.0"
confirm: "ENTITY_EXPERIENCE_ORB_PICKUP:0.5:1.0"
deny: "ENTITY_ENDERMAN_TELEPORT:0.3:0.5"
delete: "ENTITY_IRON_GOLEM_DEATH:0.3:0.5"
# Special effect sounds
effects:
create-menu: "ENTITY_PLAYER_LEVELUP:0.7:1.5"
delete-menu: "ENTITY_GENERIC_EXPLODE:0.3:1.5"
import: "BLOCK_BEACON_ACTIVATE:0.5:1.2"
export: "BLOCK_BEACON_DEACTIVATE:0.5:1.2"
backup: "BLOCK_ANVIL_USE:0.3:1.2"
restore: "BLOCK_BEACON_ACTIVATE:0.5:1.0"
preview: "BLOCK_END_PORTAL_SPAWN:0.3:1.5"
messages.yml
All plugin messages are fully customizable. Supports MiniMessage, Legacy
(&), and HEX (#RRGGBB) color formats. Available placeholders vary by
context.
Message Categories
| Category | Description | Key Placeholders |
|---|---|---|
general.* |
Permission errors, reload status, unknown commands | — |
menu.* |
Create, edit, delete, clone, rename, list messages | {menu}, {source}, {target}, {old},
{new}, {count}, {items}, {size}
|
editor.* |
Session management, item operations, undo/redo, save | {menu}, {slot}, {from}, {to},
{action}
|
io.* |
Import/export success and failure messages | {count}, {menu} |
backup.* |
Backup create, restore, delete, list | {name}, {date}, {size}, {count} |
dependency.* |
DeluxeMenus and PlaceholderAPI detection status | {version}, {required} |
preview.* |
Preview start, stop, update | {menu} |
confirm.* |
Confirmation dialogs for destructive actions | {menu} |
input.* |
Chat input prompts for names, titles, commands, etc. | — |
Prefix
prefix: "NDEditor » "
Storage
NDEditor supports five storage backends. Change the storage.type setting in
config.yml.
| Type | Best For | Notes |
|---|---|---|
YAML |
Small servers, easy editing | Default. Human-readable files in the plugin folder. |
JSON |
API integrations | Machine-friendly format. |
SQLITE |
Medium servers | Single-file database. No external setup needed. |
MYSQL |
Large networks | HikariCP connection pooling. Cross-server sharing. |
MARIADB |
Large networks (MariaDB) | Same config as MySQL, optimized driver. |
Backups
NDEditor includes a robust backup system to protect your menu configurations.
- Automatic Backups — Scheduled at a configurable interval (default: 60 minutes)
- Manual Backups — Create on demand with
/ndeditor backup - Compression — Backups are compressed as ZIP files when enabled
- Rotation — Oldest backups are automatically deleted when
max-backupsis exceeded - Restore — Restore any backup via command or the Backup Manager GUI
- Backup Manager GUI — Browse, restore, and delete backups from
/ndeditor backups
Dependencies
NDEditor integrates with several plugins for enhanced functionality.
| Plugin | Required? | Purpose |
|---|---|---|
| DeluxeMenus | Soft dependency | The menu plugin that NDEditor edits. Core integration for menu registration, reload, and syncing.
Minimum version: 1.13.0. |
| PlaceholderAPI | Optional | Enables placeholder resolution in menu previews and the Placeholder Browser GUI. |
| Vault | Optional | Required for economy-related actions (Give Money, Take Money). |
Set dependency.auto-download: true in config.yml to automatically download
DeluxeMenus if it's missing. A server restart is required after download.
Support
Join Our Discord
Get help from our team, report bugs, request features, and connect with the community.
dsc.gg/neonstudios