Removed outdated importers, most of them aren't actively developed anymore
Updated dependencies
Moved to the new LapisCore PrettyTimeUtil
Fix for H2 databases throwing a "JdbcSQLNonTransientConnectionException"
Updated to Latest LapisCore
Major updates to underlying frameworks
This update will download a newer version of LapisDataStore
Updated to latest LapisCore bringing all improvements made in that API
This update now uses the Libraries system that was introduced in 1.17 for getting LapisDatastore
What this means for you:
pre 1.17: You need the LapisDatastore plugin installed
1.17+: You just install the plugin and Spigot does the rest for you
This update is big, I've updated to LapisCore 1.8.2 and Java 11
This means that the old way of loading LapisDatastore no longer works. So you'll need to install LapisDatastorePlugin on your server to continue using LapisBans from this version forward. I've tried to make it as easy as possible, there is a link on the top of the plugin description to download the plugin and it will auto-update so you don't have to maintain another plugin.
This is made to happen because I can't include LapisDatastore inside LapisBans because it would make the jar file far too big for what Spigot allows. So all of that code is hidden away in the extra download in older versions of LapisBans, but in newer java versions I can't do it like that so I have to have it as its own plugin.
Let me know if you have any issues with updating to use this newer version, I'm always here to help
Major code cleanup
No noticeable changes to end-users
Made cross-server SQL updates Async
This should improve lag when on bungee server networks
Attempt to fix MaxBansPlus import error (MaxBansPlus has some issues with its API, this is an attempt to make it work)
Added return statement that was missing in importer command
Fixed LapisDataStore setup
Fixed console filter
Added reason to history items
Fixed a bug with broadcast messages
Updated Spigot and LapisCore
Updated pro guard settings to meet new spigot rules
Added undo messages for punishments for extra translation and theming options
There was a bug where permissions weren't calculated when a player joined causing an error with the /lapisbans player command\
This has been fixed
This version will update the messages.yml to include options for punishment names like Ban
Requested by
@Neeviq
This is preferable to be able to translate most if not all of the plugin into your servers language
The long-awaited release of 2.0.0
The only thing not in this version is importing from v1 as it uses an entirely different storage scheme
Make sure you delete the v1 plugin if you have it before installing this version. If you have been using the beta you will be good to go but you should reset the messages.yml to get accurate command help
use /lapisbans help to see all of the commands
Let me know if you encounter any issues. in my testing, everything worked as intended but I may have missed somethings
Added a paged UI as the history command, I will be adding a text version for the console in the next update
Added file watcher
Added update checker
Update to LapisCore 1.7.1
The only core feature left to implement is the /lapisbans command.
this will include importing and player stats
Keep in mind that help messages might not match new command structures. This will also be in the next update
Added rollback command
Improved punishment reversal
History should be in the next beta
Added Warn command
Added RemoveWarnings command
Added warning notifications for warnings received while offline
Added warning commands support (Command run when players get x number of warnings)
Fixed hiding and revealing of shadow banned players
Fixed warning broadcast
Support for the latest LapisBansAPI
Fixed LapisCore packaging
Added mute and unmute (These are only lightly tested)
Did some work on tab completing (Still not exactly how I want it)
Other bug fixes and optimisations
The last update was packaged incorrectly, this has been fixed.
Please see my last post in the discussions forum for details on this version
It doesn't contain the update checker so you must check back here for updates
Please don't use this on production servers, it is intended for test servers only at the moment
The plugin will download LapisDataStore on first run, this file is required for the interactions with databases
Fixed connection closed error in MySQL
Fixed command overriding in LapisCore
Fixed null pointer exception in MySQL
The cache for H2 has been disabled since it has no real benefit for H2 and is throwing errors.
THIS IS A BETA VERSION (This is because I haven't tested it as much as I would like)
Added database connection termination when not in use
Fixed data conversion between H2 and MySQL (excluding history)
Updated LapisCore to avoid null pointer while registering commands
Fixed data store conversion to avoid null pointer
SQL cache now ignores prefixes in bungee updates (This means different servers can have different prefixes and updates will still occur)
MaxPansPlus importer can now import IP Bans
Updated to the latest version of LapisCore (This means better and more robust commands and a unified file watcher)
Updated the API to support database prefixes
Database prefixes use to break everything
Now they shouldn't
Made permissions easier
Added /punishments to see all active punishments in a GUI
Added a ton of messages
Added table name prefix NOTE: This will destroy data if you don't rename the tables manually at the same time as you change the prefix
Fixed IP Ban %TIME_WORD% message
Assorted bug fixes and code cleanup
Adjusted offline warning notifications
Staff rollback has been fixed and tested
Fixed bans overriding causing no ban
Improved shadow ban and added player hiding
Fixed warning counts so they are accurate
Fixed reporting of warning reasons in player command
Added CanImport and CanRollback permissions
Changed to use the latest LapisBansAPI
This version wasnt tested as much as I would like as its 4 AM, I recomend testing it before updating
This update will regen both configs
Permssions are now managed better with checks for changing permissions
You can unban and view the history of players who havent joined the server before
The core of the plugin is handled by LapisCore making my life easier
New language system for time based messages
Graceful database disconnect on disable
New naming system for old config and messages files
Fixed messages file not being reloaded automatically
Added shadow ban unknown command message to the messages.yml
Added system for dealing with null pointer exceptions with all database operations
Fixed a file on found in YAML (Please don't use YAML on production servers)
Hopefully fixed a NPE for MySQL
Fixed expiry detection removing permanent bans
Adjustments to the Player and Address classes
Fixed ban duration and temp detection
Fixed banning players who haven't played before and null IP address reports
Temp bans will now properly expire
A new event API has been added
Other minor fixes
The time since ban on the permanent ban kick screen was incorrect, this has been fixed
The developer API is included from this version up. See the API section of the plugin description if you wish to use it
New players would get multiple BanPlayers database entries, this has been fixed
Specifically importing from
https://github.com/FabioZumbi12/MaxBans
Make sure you have that version as the importer wont work with any other version
Also made a ton of changes to make an API and to make life easier for me to update and fix any problems.
Use /lapisbans import MaxBansPlus to import all player warnings, bans and mutes
Currently doesn't support importing IP bans and mutes from MaxBansPlus but I am working on that
The next update should add MaxBans importing
Fixed a file not found exception when using YAML as the data storage type
I will soon be adding an importer for max bans
Let me know if you have any other bans plugins you would like added