A new configuration value has been added to allow you to customize how punishments are filtered! Before, all punishments, even if they were revoked (unbanned, unmuted, etc.), were considered during the execution of the punishment; now, we've provided a way to filter revoked punishments when the plugin counts the punishments a user has.
Example:
YAML:Hacking: # Unique ID for the punishment reason: "Hacking" # Reason for the punishment. This will be displayed to the player. forgiveness: "100d" # Forgiveness time for the punishment, once this time is over, the offense will not be counted. # If you want no forgiveness, remove this entry from the config. filter-revoked-punishments: false # When true, revoked punishments will not be counted towards the total, default false. menu-item: # The item that will be displayed in the punishment menu. name: "&cHacking" # The name of the item in the punishment menu. material: "BOOK" # The material of the item in the punishment menu. position: 10 # The position of the item in the punishment menu. lore: # The lore of the item in the punishment menu. - " " - "&fViolation #1: &e7 days &c(BAN)" - "&fViolation #2: &e30 days &c(BAN)" - "&fViolation #3: &ePermanent &c(IP BAN)" - " " - "&fTotal Punishments: &e%total%" ladder: # The ladder that this punishment is on, punishments must be in descending order. FIRST: # The first offense type: BAN # The type of punishment can be BAN, MUTE, KICK, or WARN duration: "7d" # The duration of the punishment, if the type is BAN or MUTE force-silent: true # Whether the punishment should be silent (the issuer cannot choose otherwise) commands: # The commands to run when the punishment is issued - "lp user %player% parent remove VIP" # Remove the VIP group from the player SECOND: # The second offense type: BAN duration: "30d" force-silent: true THIRD: # The third offense type: BAN ip: true # Whether the punishment should be an IP ban/mute duration: "perm" force-silent: true
- Fix NPE in Staff Leaderboard Menu
- Fix display issue in Staff History Menu
- Fix Bedrock Functionality in History Menu
Update internal dependencies and fix a startup bug where if the lore is empty, it will throw an error.
Punishments 3.0 Phase 2
Once again I'm back with a MAJOR announcement regarding our beloved plugin! Phase 2 is ready to go!
Enhanced Configuration
As promised, this update provides enhanced configuration to the menu system, allowing you to configure every menu entirely.
Each menu is its own respective configuration file for organizational purposes. They can be found in the menus subfolder.
Staff Leaderboard System
We're introducing a new feature to Punishments which in short is a leaderboard system to display staff members according to their total punishments.
We think it's a fun addition for staff members curious on where they stand compared to other staff members. This obviously could be used as "competition", which is why we added an option to disable it in settings.json, though it is enabled by default.
Reload Command
We've introduced a reload command which allows you to reload your configurations ingame. The command is /punishreload.
Bug Fixes
- Fixed a display issue when going back or forward in history menus.
- Minor optimizations
After a hiadus we are back with a major update which is explained more in depth in the Negative Games Discord server, so I'll provide a rundown here:
- Rebrand to Punishments
- Only supporting the latest version
- Major config revamp (but still limited at the moment)
- Added testing server using BBB's system
- External configuration server to sync your configuration across multiple instances
- Added /record
- Added /staffhistory
- Overall performance improvement
This update will allow you to use the plugin in 1.20.1 as the main library used in Negative Games plugins, The Framework Library, has updated to support 1.20.1.
This update provides a new feature a user asked me to add to the plugin. The concept is pretty simple, I call it "forgiveness". Essentially a certain duration of time after the ORIGIN DATE of the punishment, the punishment will no longer be involved in the calculation to determine which length of punishment to grant the player. Updating from 2.0.7 to now will not require you to modify yourpunishments.yml, by default punishment forgiveness will benone. Which means there will be no forgiveness granted for the punishments. You can modify this by adding the following to entries in thepunishments.ymlfile:
forgiveness-offset: "<time>"
The<time>variable is a placeholder for the time duration of your choice.
Example:
Code:HACKING: # Identifier reason: "Hacked Client" # Reason of Punishment forgiveness-offset: "100d" # After this declared time, the player can be "forgiven" # and the punishment will not be involved with the calculation stackables: # Stackables (meaning the more you get banned the higher the length!) - "ban:7d;broadcast hahaha %player% got banned what a noob" - "ban:14d" - "ban:30d" - "ban:perm"
This would mean after 100d from the origin of the punishment, the punishment would be void and not included in the calculation but will still be in their history to view.
