PunishmentGUI Overview
PunishmentGUI provides configurable punishment menus. It runs commands from your punishment plugin; LiteBans, AdvancedBan, or another command-based punishment system performs and stores the actual punishment.
PunishmentGUI 1.1.13 requires Java 17 or newer and uses Bukkit API 1.13. Choose a plugin build that supports your server version. The legacy material examples are for older installations.
Setup
- Install PunishmentGUI on the Bukkit/Spigot-compatible server where staff open the menu.
- Install and configure your punishment handler so its commands work on that server.
- Start the server to generate
plugins/PunishGUI/settings.ymlandlanguage.yml. - Edit the menu commands to match your punishment handler, then run
/punishreload. - Grant staff
punish.use, plus the punishment permissions required by commands they execute as players.
Commands and Permissions
| Command | Permission | Purpose |
|---|---|---|
/punish <target> or /punishment <target> |
punish.use |
Open the configured menu for the target name; in-game only. |
/punishreload or /reloadpunish |
punish.admin |
Reload settings, language, and menus; also available from console. |
The default menu is selected by Command: "{openmenu:main-menu}". The menu must exist under menus and its name must match. Use lowercase menu names.
Menu Commands and Actions
command.execute is a YAML list, even for one command. Leave off the leading /.
command:
enabled: true
execute:
- "warn {target} Please follow the rules"
action: ""
close-inventory: true
ConsoleRunsCommands: falseexecutes ordinary entries as the staff player. Their punishment-plugin permissions still apply.- Prefix an individual entry with
[Console]to run it from the backend console. SettingConsoleRunsCommands: trueruns every configured command as console. action: "{openmenu:another-menu}"opens another configured menu.- Item slots are one-based:
slot: 1is the first slot. close-inventorydefaults totrue; usefalsewhen an item should leave the menu open.
Grant access to console-backed punishment menus only to appropriate staff: console execution does not use the clicking player's punishment-plugin permissions.
In command entries, item names, and menu titles, {player} and {target} identify the punishment target. Command entries and item names also support {executor} for the staff player's display name. In message.text, {player} identifies the clicking player instead.
Optional Integrations
You can use PlaceholderAPI in supported text fields and HeadDatabase or Skulls for custom menu heads. These plugins are optional.
For item models from a resource pack, see Custom Model Data. Your server version must support it.
Configuration
- Bundled Settings and Legacy Material Names
- Settings Example with Modern Material Names
- Network Setup
The plugin populates these missing language entries on startup:
PUNISH:
USAGE: "&cUse Like: /punish <target>"
NAME-ERROR: "&cThat player name is invalid!"
COMMAND-CONSOLE: "&cConsole cannot use this command!"
RELOAD: "&aPlugin files have been reloaded!"