In this section you will learn how a menu is structured, and how to modify it.
Please, read this carefully before asking for help.



Modifying an existing menu

  • Browse the folder /plugins/ChestCommands/menu/
  • Open the menu file with an editor (Notepad++ is recommanded).

Creating a new menu

The easy way: copy and paste an existing menu, change the settings, and add/remove/edit items.
It is recommanded to use lowercase file names, since the permissions are case sensitive.

Menu settings

You can find these settings in the top part of the menu YML file, under the config section "menu-settings".

name: '&1Menu' (Required)
This is the name that will show up when opening the menu, as a custom inventory title. It cannot be longer than 30 characters (including colors). &1 is the color blue.

rows: 6 (Required)
This sets how many rows the CommandChest with items is made of. The value must be between 1 and 6 (a double chest). If higher, clients will not display the rows correctly.

command: 'menu' (Optional)
This is the command that triggers the menu. It will overwrite existing commands and will open the menu. You can use multiple command separating them with a semicolon, for example command: 'menu; m; mainmenu'.

auto-refresh: 5 (Optional)
How frequently the menu will refresh variables. Note that money and points are automatically updated after every transaction.

open-with-item: (Optional)
    id: 'wool:1' - Used for opening a menu with a specific item. A specific data value can be required.
    right-click: true - true if the menu should be opened with a right click with the item.
    left-click: false - true if the menu should be opened with a left click with the item.

Menu items

Don't use uppercase, color codes or symbols in the internal name (read below), and remember that it must not be the same of another item name in the same menu.

Each item is made of an internal name (not visible to players in any way) and nodes, that can assign commands, custom names, and more to icons. A single item will appear like this:

   The internal name
    ID: bed
    COMMAND: 'spawn'
    NAME: '&aReturn to spawn'
       - 'This is the lore of the item.'
       - 'These lines appear below the name.'
       These are the nodes

NAME, COMMAND, ID, ... are called "nodes". Each item can have different nodes to customize it. Read more about each possible node (this is not the complete list) here.

Each item should have at least ID, POSITION-X and POSITION-Y.