Fixes
- Fixed issues with ProtectionStones import system, which caused issues while trying to import a lot of protections. Now it's made to asynchronously (on most part) import the protections to prevent crashes. This process takes time to ensure that it's being properly done.
- Fixed issue with merged protections, which had a chance to generate a loop between protections which gave issues on the plugin.
- Fixed issue with merged protections, where child protections weren't properly initialized, and were shown on inventories like on
/pb listand/pb merge.
Fixes
- Fixing issue with purge system loading, not being able to retrieve information about the protection's owner on load, and disabling the purge system with an error.
Fixes
- Fixed issue with the new cache system, as was generating a cached query only for actions done above the 0 Y.
Additions
Fixes
- Switched protection internal query system to cache the requests for a location within an area, allowing the plugin to go faster when looking for protections in a location. This cached requests has a TTL configurable in the Config.yml file which allows you to define the time it'll be kept alive.
- Added condition to prevent Config.yml file to be adjusted if the field Settings.Protection.Auto-purge.Execute-every-seconds, which caused a crash on the plugin.
This update fixes a issue with the previous update, which causes the server to not be able to load the plugin due a process with a missing condition. If you used 0.1.6.1, it should work on the first load but not on the second. Also, the new query system is intended to offer a better performance while the plugin is working. If you see any TPS issues please inform about it and we'll be checking.
Additions
Removed
- Switched auto-purge system to remove protections exactly when this protections are expired.
- Removed setting Settings.Protection.Auto-purge.Execute-every-seconds.
This update will trigger the removal of protections which are expired and didn't get wipe out due the auto-purge. This means that, if you have the Discord hook enabled, this will spam a little bit.
◆ Included new menu to merge a protection to a parent or split childs from a protection through the management inventory. This new button is included as a slime block. [NEW]
◆ Included new changes for inventories, trying to make item building an async task to reduce the required time to prepare inventories. [NEW]
◆ Added internal placeholders to be available on inventory_protections_list. [NEW]
◆ Added internal placeholders to be available on /pb info. [NEW]
◆ Included new internal placeholders for players: {player_current}, {player_max}. [NEW]
◆ Included new internal placeholders for protections: {protection_owner_last_played}, [/B]{protection_expires_in}[/B]. [NEW]
◆ Added new command /pb admin lastlogin [protection id], which allows to see the last time the owner of a protection was online. [NEW]
◆ Fixed issue with message library, which wasn't processing properly multiple placeholders with the same pattern, causing errors on the plugin.
◆ Fixed issue with protection blocks and protections items, using a default stone item besides the original one, if the original one couldn't be loaded (Commonly, due version downgrade). This allows you to keep the plugin on-line, and to manage the protection blocks and reset their items to set the ones which work on this version.
◆ Fixed issue with title and subtitle option, not managing properly the last message sent, throwing an error in console and not sending the titles.
◆ Fixed issue with player heads, causing errors on the plugin due changes on 1.21.1.
◆ Fixed issue with recipes, where, depending on the shape, weren't being processed properly, and was causing issues loading and unloading recipes. Now recipes will have a square shape based on the minimum amount of slots used to make the recipe, meaning that now items can be placed anywhere on the crafting table meanwhile has the same shape as the recipe specified on the protection block.
◆ Added change which allows to add max capacity increments and decrements, by adding the max permission using '+' or '-' on the number. This change allows the following format on all the permissions which allows to define a max amount: [NEW]
◆ Included changes to prevent the exit/enter message from being displayed if it's the same as the last message.
- protectionblocks.max.5 (Legacy permission)
- protectionblocks.max.+1 (Add permission)
- protectionblocks.max.-2 (Subtract permission)
- protectionblocks.max.+1#rank1 (Add permission with identifier, used to make multiple +1 meanwhile their identifiers are different)
- protectionblocks.block1.max.+1 (Works in other limit permissions)
◆ Made changes to move the commands section to Commands.yml. [NEW]
◆ Made changes to move the permissions section to Permissions.yml. [NEW]
SQL changes are made in this version. Rollback is not a thing if you don't make a backup of the database. Make sure to check first with a copy if the plugin updates properly.
◆ Made changes to prevent async issues due searching the current protections on a location.
◆ Fixed issue with merge message, which was showing up due treating the same protection as a diferent protection, showing everytime a protection was created.
◆ Fixed issue with fly bypass, not being used to ignore the checkings when a player had this permission.
◆ Fixed issue with WorldGuard regions, having one more block extended in two sides of the protection. The fix of this issue is applied automatically with the last version.
This will reduce one block from two sides of every protection, leaving people with less area than before. Make sure to inform the users that their protections may get shrinked a little bit.
Tested on: 1.20.6, 1.21
◆ Added new inventory which allows to decide which protection to use while doing an action. This inventory is currently used on /pb, /pb merge and /pb split. [NEW]
◆ Added new setting which allows to define the format of the default display name once a protection is created. [NEW]
◆ Added new merge system, which allows to merge protections into other protections. A permission is set by default to prevent from being used by common players from the start. [NEW]
◆ Added setting Settings.Protection.Allow-multi-thread-searching, which allows the plugin to make multi-thread searches which helps searching the player current protections faster. This is an option which only people with more than one core may use to take advantage of it.
◆ Made changes to cache the location of the protections on a simple object which will use less memory and will help the plugin detect the current protections of a player faster.
◆ Made changes to include a new cache system on players to save the nearby protections, which is refreshed everytime the player exits this area. This checking is only intended to improve the movement checking.
◆ Fixed issues with /pb files import blocks, which wasn't updating the material of an item as it wasn't considering the new implementation which allows to switch the material of a protection block. Also some improvements have been made.
◆ Fixed issue with internal placeholders which weren't being updated.
◆ Fixed issues which happens due asynchronous managements on protections, causing errors in console on protection creation or removals. Harmless, but left errors in console, low chance.
⚠ SQL changes are made in this version. Rollback is not a thing if you don't make a backup of the database. Make sure to check first with a copy if the plugin updates properly.
