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.

Plugin Source

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.

  1. Download the latest NeonDeluxeMenusEditor.jar from the official NeonStudios release channel.
  2. Place the .jar inside your server's /plugins directory.
  3. Install DeluxeMenus (soft dependency — recommended for full features).
  4. Restart your server completely. (Avoid using /reload).
  5. Modify configuration files in /plugins/NeonDeluxeMenusEditor/ to suit your needs.
Optional Dependencies

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

YAML — config.yml
# 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

YAML — config.yml
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

YAML — config.yml
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

YAML — config.yml
# 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

YAML — editor.yml
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

YAML — gui.yml
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

YAML — gui.yml
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.

YAML — sounds.yml
# 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

YAML — messages.yml
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-backups is 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).
Auto-Download

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
All Documentation