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
PlaceholderAPI is optional for supported display text. HeadDatabase and Skulls provide optional menu heads. Custom Model Data requires a supporting server and resource pack.
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!"