Skip to content

Ember Menus

Ember Menus

Build custom menus in game. One jar, every version from 1.16 to today.

Type /emenus, click a slot, and you are building. There is no YAML step, no restart, and nothing to learn before you can make something useful.

  • Built by clicking

    The canvas is the menu, at its real size, drawn exactly as players will see it. Click a slot to fill it. Press ++q++ for the tools.

  • Every version, one jar

    1.16.5 through the current release, on Paper, Purpur, Spigot and Folia. Java 8 bytecode with every version-specific call behind reflection.

  • Glowing borders in two clicks

    A sixteen-colour palette, borders, backgrounds, and a glow toggle. No hunting for the right stained glass ID.

  • Eight menus already made

    Hub, random teleport, kits, ranks, server selector, profile, vote and rules, installed and working on first start.

  • Any placeholder, anywhere

    Every field takes PlaceholderAPI, including material names and conditions, not just display names.

  • Browse what other owners have shared and install one with a click. Every command it can run is shown to you first.

Thirty seconds to a working menu

/emenus create shop

The editor opens on an empty grid.

  1. Left-click a slot. Holding an item uses that item straight away.
  2. Give it a display name and a line or two of description.
  3. Open What clicking does and add an action, for example [message] &aHello or [open] warps.
  4. Press ++q++, then Borders and background, and click a colour.
  5. Press ++q++, then Open command, and type shop.
  6. Save.

Players now open it with /shop. Nothing was edited by hand and the server was never restarted.

Closing the editor saves

Press Escape and your work is written to disk. Discard changes in the tools screen is the deliberate way to throw it away, and it puts the file back exactly as it was when you opened the editor.

It is still just a file

Every menu is one file in plugins/EmberMenus/menus/, named after the menu. The builder writes the same file a person would write by hand, sorted top-left to bottom-right so it reads in the order the menu appears.

menu:
  title: "&8&l| &#ff8f00&lSHOP &8&l|"
  rows: 5
  open_command:
    - shop
  items:
    border:
      material: ORANGE_STAINED_GLASS_PANE
      display_name: " "
      glow: true
      priority: -100
      slots: "0-8, 9, 17, 18, 26, 27, 35, 36-44"
    tools:
      material: IRON_PICKAXE
      slot: 13
      display_name: "&#ff8f00Tools"
      lore:
        - "&7Everything for mining."
      left_click_commands:
        - "[open] shop_tools"
        - "[sound] UI_BUTTON_CLICK"

Edit it by hand whenever you prefer, then run /emenus reload. The promise is that you never have to open a config file, not that you are stopped from doing so.

Coming from another menu plugin

/emenus import DeluxeMenus/gui_menus

Reads the folder, converts what it finds, and writes the results into our own folder. Your original files are not touched. Anything that could not be converted is named in the output rather than dropped quietly.

Where to go next

The builder Every screen and what it does
Items and icons Heads, custom items, model data
Actions Everything a click can do
Requirements Showing different things to different players
Ready-made menus The eight that ship, and what each needs
Community menus Sharing yours, and installing theirs
Languages The seven that ship
Compatibility What has actually been tested
Commands and permissions The reference tables