Punishments++ icon

Punishments++ -----

An easy and intuitive way to punish players!



Overview
Punishments++ is an easy to use punishment plugin to help keep your playerbase in line. With help of the GUIs you can navigate the plugin easily. The plugin supports minecraft versions 1.8-1.19 (although only 1.8 and 1.19 have been tested explicitly as of right now)


Features
  • Ban, ip-ban, mute or warn players
  • Set duration and reason for punishment
  • Lift punishments of players with a reason
  • View the punishment history of a player
  • Edit previously assigned punishments by changing the duration, lifting, or deleting the punishment
  • View the staff history of a staff member
  • Rollback changes a staff member made
  • Localizations to easily setup your own custom messages
  • Intuitive GUI support for staff members
  • Support for online MySQL databases and local H2 databases
  • Support for minecraft versions between 1.8 and 1.19
(Note that player bans do NOT automatically update across multiple servers linked to the same MySQL database as of version 1.0)

Screenshots and GIFs

[​IMG]
[​IMG]
[​IMG]
[​IMG]

Commands
  • /ban <Player> <Duration> <Reason>: Bans a player for a given duration and with a certain reason. (Duration syntax is located at the bottom of this resource) Whenever this command is executed with the first argument only, the plugin opens up a GUI to ban said player.
  • /mute, /ipban, /warn: Same syntax as /ban.
  • /unban <Player> <Reason>: Lifts all bans on the given player with the given reason.
  • /unmute, /unipban, /unwarn: Same syntax as /unban.
  • /punishmenthistory (/ph or /history) <Player>: Opens up the punishment history GUI for a player. If no player argument is specified, it opens up the executors own punishment history instead.
  • /profile (/playerprofile or /pp) <Player>: Opens up the profile GUI for a player.
  • /rollbackstaffchanges (/rbsc) <Player> <Duration>: Rolls back all the actions this staff member performed during the last given duration. If not duration is specified, it rolls back the entire staff history of this staff member. Warning: this action cannot be undone!
  • /staffhistory (/sh) <Player>: Opens up the staff history GUI for a given staff member.
Permissions
  • punishmentsplusplus.*: Grants permission to everything in the plugin.
  • punishmentsplusplus.punish.*: Grants permission to all punishment types.
  • punishmentsplusplus.punish.ban, punishmentsplusplus.punish.mute, punishmentsplusplus.punish.ipban, punishmentsplusplus.punish.warn: Grants permission only to their respective punishment type.
  • punishmentsplusplus.punishmenthistory.*: Grants permission to view and edit the punishment history for any given player.
  • punishmentsplusplus.punishmenthistory.self: Grants permission to view one's own punishment history.
  • punishmentsplusplus.punishmenthistory.others: Grants permission to view the punishment history of other players.
  • punishmentsplusplus.punishmenthistory.edit: Grants permission to edit anyone's punishment history.
  • punishmentsplusplus.staffhistory.*: Grants permission to view and edit the staff history for any given player.
  • punishmentsplusplus.staffhistory.self: Grants permission to view one's own staff history.
  • punishmentsplusplus.staffhistory.others: Grants permission to view the staff history of other players.
  • punishmentsplusplus.staffhistory.edit: Grants permission to edit anyone's staff history.
Config and MySQL

The config file in this plugin requires you to specify your database type. This can be any of these two: MySQL and H2. The plugin automatically defaults to H2, and therefore no prior setup is required to setup the plugins database. However, if you want to connect your database to an online MySQL database (for e.g. cross-server compatibility reasons) you can specify your database details in the config to enable the plugin to connect to it. Lastly you can enable debug stacktraces, this is only recommended whenever you want to report an error.

Code (YAML):
#H2 or MySQL
database_type
: H2

#Prints the error stacktrace whenever an error is thrown
enable_debug_stacktrace
: false

#SQL Connection Info
mysql
:
  host
: localhost
  port
: 3306
  database
: punishmentsplusplus
  username
: InsertYourUsernameHere
  password
: InsertYourPasswordHere

Localizations

In the localizations.yml file you can easily change plugin messages to suit your server better. Minecraft color codes are supported (e.g. &6 or &c) however custom hex codes are not.

Duration syntax

In some parts of this plugin you will need to specify a duration. (e.g. when specifying an expiration date for a punishment) The syntax for it is as follows:
Every time unit is characterized by a single character: y for years, M for months, w for weeks, d for days, h for hours, m for minutes and s for seconds. You can write the amount of the specified time unit before you write the character. A few examples of valid durations:
8d19h20m7s: 8 days, 19 hours, 20 minutes and 7 seconds
1y8M3d: 1 year, 8 months and 3 days
2y6m: 2 years and 6 minutes (watch the capitalization on the m!)
Resource Information
Author:
----------
Total Downloads: 393
First Release: Aug 18, 2022
Last Update: Aug 18, 2022
Category: ---------------
All-Time Rating:
0 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings