Articles on: Plugin Setup

How to install and use DeluxeMenus [Java]

DeluxeMenus let's you create custom GUIs for your Java edition server. Ever see those chest GUIs where you get to join different servers/buy items and wonder how it's possible to do? This is the plugin to go to for that!

Installing the plugin

Head to this link and download the plugin.
Then, drag and drop the file into the plugins folder to upload it to WitherPanel. Alternatively, you can upload it via sFTP.
Lastly, restart your server to apply the changes

Understanding the GUI syntax

Let's try to make a simple GUI first, with no items in it. For every GUI, you'd need to make a new .yml file and specify the name of the GUI file in the config.yml . By default, these are the default files that come with the plugin

  menu_title: "My New GUI"
  open_command: /newgui
  open_requirement: EXPRESSION
    - "[COMMAND] /say I rock!"
    - "[COMMAND] /give @s diamond 1"
  inventory_type: "CHEST"
  size: 27
  update_interval: 5

Important! You can have open_commands do more than just running a command. See this section to check out all the possible actions.

Configurable options

menu_title - What you want the GUI title to say at the top of the GUI
open_command - What command you want players to run so that the GUI opens up. In our case, it's /newgui
open_requirement - Sets requirements a player should have to open the GUI menu. This can get a little complicated, but the plugin's documentation on this is top-notch, so I advise you read that so you can understand what you can do.
open_commands - Specify what commands you want to run when the GUI is opened. In our case, everytime a GUI is opened, it says I rock and gives me a diamond
inventory_type - Specify what kind of inventory type you want. Not all GUIs are the same. The most commonly used is chest, but you have a wide array of options to pick from, read them all here
size - Determine the size ( number of slots ) in the GUI
update_interval - Specify how often you want to update the GUI ( for example you may want to do some live updated problems

Phew! That was a lot of explanation. Just fiddle around a little more with this, before we get to the fun part - defining items within the GUI.

Adding items into your GUI

Now let's try to get some items into your GUI, and have them do specific things, such as run commands, display information, and so on! Here's the basic syntax

  "My new item": 
    material: STONE
    slot: 20

Basic Configuration options

The basic config options to get an item into your GUI, that does nothing

ItemName - Define the name of your item
material - What item you want it to be. For example if you want a compass, put COMPASS. If you want a nether star, put NETHER_STAR
slot - Specify what position in the GUI you want it to be placed.

Normal configuration options

Now let's have your items do a lot of things
display_name - What you want the name to look like to the player when they view it. We could use this to say something like Click to teleport
display_name: "Click to teleport"

lore - We can define the lore of an item in this section. You can add lines per line of text you want. For example, one line could be Buying cost and another line could be `Selling Cost
  - "Want to go to our new server?"
  - "Left-click to join!"
  - "Right-click to learn more about us!"

Left/Right/Middle-click commands - Now you can specify what you want the item to do when a user left/right/middle clicks the item of your choice
  - "[COMMAND] /say our server is all about having fun!"
  - "[COMMAND] /say Ready to join then? Left click the item!"

- "[COMMAND] /server newserver"
- "[COMMAND] /say connecting you to that server!"```
I've only provided examples for left/right click commands, but you get the point!

Phew again! I advise you to now start playing around with the most basic options here and try to build a GUI that does a bunch of things you can show off to your friends. Once you've done that, you can now head on to the advanced configuration options

Advanced Configurations

You can go very deep into building GUIs with advanced configuration options, by specifying permissions, placeholders, exclusive actions, true/false actions, refreshing item lists, and so much more! Here's a link to all the options you can do while you -
Build a GUI - See all the configurable options here
Customize items - See all the configurable options here
Specify requirements to do certain actions - See all the configurable options here

Example GUIs

Want to see just how far you can go with DeluxeMenus? Here's a nice compiled list of the most common GUIs people want to make. Most of these GUIs require PlaceholderAPI expansions to work.

You can find the required expansions, as well as the examples here

There is endless possibilites with this plugin. That's why we at WitherHosting all love it so much! You can make pretty much any menu you want, in any type, and do some very powerful things

Commands and permissions

/dm open <menu> - - Opens the specified menu.
/dm open <menu> <player> - - Opens the specified menu to the specified player.
/dm open <menu> -p:<target> - deluxemenus.placeholdersfor - Opens the specified menu for you, but the placeholders in it will be parsed as the specified target.
/dm open <menu> <viewer> -p:<target> - deluxemenus.placeholdersfor - Opens the specified menu to the specified player but the placeholders in it will be parsed as the specified target.
/dm list - deluxemenus.list - Lists loaded menus.
/dm execute <player> <action> - Player needs to be Op - Executes any action for a player.
/dm reload - deluxemenus.reload - Reloads the plugin's files.
/dm reload <menu> - deluxemenus.reload - Reload a menu.
deluxemenus.openrequirement.bypass.* - Bypasses open requirements for every menu.
deluxemenus.openrequirement.bypass.<menu> - Bypasses open requirements for a specified menu
deluxemenus.placeholdersfor.exempt - Blocks other players from using you in this command /DM Open <Menu> -p:<You>.

Article made by vijaypondini#0001 ( ID 631466030023049217 )

Updated on: 14/06/2022

Was this article helpful?

Share your feedback


Thank you!