Reworked mirror command which now has more options which are being calculated in a different way than before. Visual particles showing where block will be placed with information of how many updating dynamically. By default mirror is limited to max 16 blocks placed per action, so informational message in action bar will indicate how many blocks from how many potential ones will be placed, in case potential placed block amount exceeds max allowed then we will only place first ones in the batch. 22 different mirror modes with 3 modes which can place blocks in a circle in defined amounts. Additionally now its possible to define offset of starting point giving you 8 options which will cover all mirror combinations you might ever need, so its no longer mirrored around one specific block, it can mirror on block edge point allowing you to build in even block numbers.
Performance improvement when you have forced player data load on player login enabled
Fix for invremove not working correctly
Fix for an error message in some cases when you send bungee type message
Bringing back java 8 server support. How long it will last I cant say, but for time being its back.
Some changes relating to shulkerbackpack handling to address potential exploit with hacked clients
Fix for an issue with recipe command which could have skipped some of the recipes if you had custom data packs or 3rd party plugins partially replacing existing items
Added auto backup system for database. This will be enabled by default and will save basic database information every 24 hours. Checks of backups will happen after 1 minute of server startup and then on regular 1 hour intervals. By default only player data and player rewards tables will be saved, as those are most crucial to have, while rest 2 can have quite a bit of information which can inflate backup file. Independent if you are running Mysql or sqlite type databases, backups will be saved in separate DatabaseBackups folder as sqlite files which will provide simpler management. Additionally backup files can be automatically zipped to take up less space. Keep in mind that in case you will want to restore players data (yes, you can do that now) then that file will be unzipped, which could take few extra seconds (in case you do have 700MB unzipped database, otherwise its more or less instant) and file will remain there until auto backup goes around and removes it. This doesn't apply to custom backup files (doesn't end with cmi.sqlite.db) which will remain until you remove those manually. Zipping files can drop storage size from 500MB to something like 65MB, tho I would still recommend to only backup main 2 tables just like it is set by default
New command as /cmi database [action] (playerName) (dataType) (fileName) got added which can either create new backup file (from console only) or restore specified players data from specified tables on the fly. Creating backups by default will create one with current time which will be part of auto backup system and in case total file count gets over the limit then oldest files will be removed. If custom name is provided (should end with .db) then it will be used and will not be auto removed, so you can create permanent backup files. Player restoration can be done from either last backup file (the file which ends with cmi.sqlite.db) if specific file isn't provided, or the one you provide. By default saving or restoring player data will do it for main data table and player rewards one, otherwise you will need to define specific ones you want to restore/backup or configure config file appropriately.
Fix for an error message when performing titlemsg command with recent versions
Fix for an issue relating to silent chests
Fix for usermeta not working correctly when you have saved hex color codes like {#226655}
Fix for cheque being deposited with left or Q keys, now its properly limited to only right click action