Compatibility
Minecraft: Java Edition
Platforms
Links
Tags
Creators
Details
This plugin was inspired by the punish plugin used on the Skycade Minecraft Server in 2018-2020.
About
This Minecraft plugin is a bangui plugin meant for server owners, admins, developers and mods to help manage servers and ban players. This plugin also adds an advanced silent punishment system so that only approved staff members can see certain punishments.
New MySQL and Bungeecord/Velocity support has been added in the latest update of the plugin.
How to enable MySQL:
- First, go to the config.yml file in the CustomPunish folder.
- Change
database:
enabled: false
from "false" to "true
Install this plugin on all of your paper/spigot/bukkit servers and it will sync punishments across your server. Do not install on the proxy server (Velocity, Bungeecord).
New Update
- /kick <player> [reason] [-s] was added. (forgot to add in initial release)
- /punish reload was added.
- IP address of the player will be shown in the PunishGUI. (Only if staff have the permission)
- Full permissions have been added for full staff customizability.
- Shows the punishment status of a player in the PunishGUI.
- PlaceholderAPI support has been added. Below is more information.
- Discord Intergration added. For instructions on how to install, see below.
GUI Functionality
- New Offence
- Offence and Unban/Unmute History
- Player Info
- Unban Functionality
- Silent Punishment and Public Punishment
Commands
- punish <player>: Opens the PunishGUI.
- punish reload: Reloads the plugins config.
Manual Punish Commands
- ban <player> [reason] [-s]: Bans the player permanently. Add -s to set to silent punishment.
- tempban <player> <time> [reason] [-s]: Bans the player for the set amount of time. Add -s to set to silent punishment.
- mute <player> [reason] [-s]: Permanently mutes the player. Add -s to set to silent punishment.
- tempmute <player> <time> [reason] [-s]: Mutes the player for the set amount of time. Add -s to set to silent punishment.
- /kick <player> [reason] [-s]: Kicks the player with the custom reason or default reason if not stated. Add -s to set to silent punishment.
- unban <player>: Unbans the player.
- unmute <player>: Unmutes the player.
PlaceholderAPI
Placeholders
- %custompunish_total_bans%: Returns the total number of bans issued on the server.
- %custompunish_total_mutes%: Returns the total number of mutes issued on the server.
- %custompunish_total_kicks%: Returns the total number of kicks issued on the server.
- %custompunish_total_punishments%: Returns the total number of all bans, mutes, and kicks combined.
- %custompunish_is_banned%: Returns "Yes" if the player is currently banned, or "No" if they are not.
- %custompunish_is_muted%: Returns "Yes" if the player is currently muted, or "No" if they are not.
- %custompunish_ban_reason%: Returns the reason for the player's current ban, or "N/A" if they are not banned.
- %custompunish_player_bans%: Returns the historical number of times the player has been banned.
- %custompunish_player_mutes%: Returns the historical number of times the player has been muted.
- %custompunish_player_kicks%: Returns the historical number of times the player has been kicked.
- %custompunish_player_total%: Returns the total number of all punishments the player has ever received.
Discord Integration Setup
- Go to the Discord Developer Portal and create a New Application.
- Go to the Bot tab, click Reset Token, and copy it. Scroll down and turn ON the Message Content Intent.
- Go to OAuth2 -> URL Generator, check the
botoption, and give itSend MessagesandEmbed Linkspermissions. Open the generated URL to invite it to your server. - In Discord, enable Developer Mode. Right-click your punishment log channel and click Copy Channel ID.
- Open
plugins/CustomPunish/config.yml, setdiscord.enabled: true, and paste yourtokenandchannel-id. - Restart your server. Punishments will now send embedded logs.
Permissions
- punish.gui: Allows opening the punishment GUI (/punish)
- punish.ban: Allows permanently banning players (/ban)
- punish.tempban: Allows temporarily banning players (/tempban)
- punish.mute: Allows permanently muting players (/mute)
- punish.tempmute: Allows temporarily muting players (/tempmute)
- punish.kick: Allows kicking players (/kick)
- punish.unban: Allows unbanning players (/unban)
- punish.unmute: Allows unmuting players (/unmute)
- punish.silent: Allows using the -s flag for silent punishments and clicking Gray Wool in the GUI
- punish.silent.see: Allows seeing silent punishments in chat
- punish.ip.see: Allows seeing player IP addresses in the punishment GUI
- punish.reload: Allows reloading the plugin config (/punish reload)
Dependencies
This plugin does not have any dependencies but to have a better experience and be able to manage permissions, it is highly recommened to install LuckPerms.
Bug Reports and Suggestions
Join the discord server to report any bugs and to suggest any additions i should make.


