Additions
- Added checking to prevent players from getting teleported into protections where the home location is not safe. This will check for the first three blocks in order to find any solid block where the player has a chance to stand on. It'll also check if the location is filled with solid blocks which may lead to the sufocation of the player.
- Added command /pb transfer which allows players to transfer they protections to other players. This should work together with the permissions of the players, for this reason it requires them from being online to check if they can keep the amount of protections that are being transfered to them.
- Added command /pb sell and /pb buy to allow players to put protections for sale and to purchase them.
Fixes
- Fixed issue with protection blocks, where people was able to hide them by breaking them without being members. This does not cause the removal of the protections, only hide the block.
- Fixed issue with block management inventory, not using the proper item on the price slot if the price was specified, not allowing the player to see the configured price.
Changes
- Moved command /pb buy to /pb store, which allows to purchase protection blocks. In the future, this will allow players to choose between blocks and protections.
⚠️ The /pb buy command on the Commands.yml file will be transferred to its new location, but the name and aliases will reset to prevent conflicts with the new command just in case. Make sure to modify the command in case you have translated commands.
Fixes
- Fixed issue with blocks duplication, where, on laggy servers or with lot of protections, protections were able to be deleted twice.
- Fixed issue with blocks duplication (vanilla items), where fast tools were able to duplicate blocks using the small amount of time where the block was visible again.
- Fixed issue with guard system, where the values in the guard system weren't loaded, leaving the protection unguarded. Values for the guard system on specific protections may have been resetted due this issue. If you've used the guard system, check protections that were guarded to see if they are still guarded or not.
- Fixed issue where players were able to place protections over other protections due missing checkings after the API implementation.
- Fixed issue on players' search list inventory, where staff in vanish were shown on the inventory. Now they aren't shown based on if the player can or not see, value returned by the internal API from Spigot.
Additions
- Added compatibility for player placeholders on inventory_protections_manage.yml, which will show the information of the user looking through the inventory.
- Now it's possible to leave single-line lore fragments from inventory_protectionblocks_list.yml empty, the plugin will ignore this lines.
Fixes
- ⚠️ Fixed issue with loverpa checkings, which was by default disabled due API changes, leading to protections being over other protections or WorldGuard regions.
- Fixed issue with items lore on inventory_protectionblocks_shop.yml inventory, showing the same lore twice if the block had an empty lore.
- Now showing the actual command path of the /pb setspawn command in the startup message which tells you that there's no spawn defined on the plugin.
Additions
- Updated Config.yml file which contains comments for the new sections.
- Added guard system, available through the /pb admin guard command, which allows to guard protections to prevent them from being purged temporary (or permanently) by purges.
- Added /pb admin staffmode command, which is used to bypass certain limitations of the plugin without using a permissions plugin. (Due the lack of time, checking are being moved to this system partially).
- Added compatibility with standard internal placeholders on inventory_protections_manage.yml file.
Changes
- Modified plugin version nomenclature, standing now for {major}.{minor}.{fix} as no huge updates are currently expected to happen.
- Switched value representation on Blocks.yml files for their radius, switching to diamater. Now coordinates will reference the diameter of the blocks and not their radius (2x2x2 is now 5x5x5 for example). This does not modify the current data on the Blocks.yml file, to keep your values updated, you'll have to export the blocks.
⚠️ This new changes modifies lot of things on the system. This update has been tested on multiple ways and hasn't been an issue. Specific configurations or the quantity of modified and created protections may cause other kind of issues which are unexpected. It's recommended to create a new backup just in case. Any issue can be reported and we'll work on their fixes.
- Modified internal system to be adapted for the new API-Based services, which are available through RoyaleProtectionBlocksAPI class. A new GitHub with its documentation will come soon.
Fixes
- Fixed issue with recipes, which caused issues with recipes that had some empty slots, like the first or second one, on the upper and lower row.
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 list` and `/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
- 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.
Fixes
- 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
- Switched auto-purge system to remove protections exactly when this protections are expired.
Removed
- 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]
-
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)
◆ Included changes to prevent the exit/enter message from being displayed if it's the same as the last message.
◆ 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.
◆ Added PlaceholderAPI on inventory customization library, allowing to use placeholders from PlaceholderAPI in the commands specified on
Commands and
Console-commands.
[NEW]
◆ Added new setting
Settings.Protection.Maximum-display-name-length, which allows to define the maximum length for the new specified display names. This can be set on a range from 0 to 255 characters. The length checking includes the colors on the specified text.
[NEW]
◆ Added
/pb priority <priority> [region ID] command which allows to modify the WorldGuard region priority. This includes a chat menu to specify which region to affect if there are múltiple protections on the same spot.
[NEW]
◆ Added new permissions
protectionblocks.priority.max.<amount> and
protectionblocks.priority.max.bypass used to define the max number people can use for priority. If there's no permission defined, it'll not block their input, meaning they'll be able to use any positive amount.
[NEW]
◆ Fixed issue with
/pb kick command, which was using the player executing the command instead of the kicked player to check if he had the bypass or not.
◆ Fixed issue with some color formats on the display name of the protection blocks.
◆ Fixed issues with
/pb admin transfer which wasn't transferring the information from ProtectionStones properly.
◆ Blocked sticky piston interactions, which prevents them from moving the protection block.
◆ Fixed issue with flags, not being on the same order as on the config.
◆ Added new command
/pb admin view which allows to see the boundaries of the protections in real time, including other players' protections. The behavior of the boundaries is intended to be used also by the players, replacing the
/pb view command behavior, in future updates.
[NEW]
◆ Added new per-item settings
Commands and
Console-commands for the inventory configurations to execute commands after clicking the item.
[NEW]
◆ Fixing issue with overlap checking, which wasn't managing properly the setting
Settings.Protection.Allow-regions-inside-another-from-same-owner.
◆ Fixed issue with protections not allowing to rename protections.
◆ Made new changes to optimize some consumptions.
◆ Added new command
/pb admin flag which allows to set a value to a protection or to all protections on a specified flag. This flag, beside
/pb admin resetflags, does not require from being registered on the
Flags.yml file. If you leave the value empty, and you only specify the name of the flag, it'll remove the flag from the protections instead.
[NEW]
◆ Fixed issue with protection area checking, which after the improvements, added an offset to the calculation, leading to a checking on an area which was set 1 block away on every direction.
Tested on: 1.20.4, 1.20.6, 1.21
◆ Made changes to move all the flags to a new
Flags.yml file, which will allow to define the default flags and the editable flags on the same place.
[NEW]
◆ Included messages to send when a player is charged for changing a flag or for buying a protection block through the
/pb buy command.
[NEW]
◆ Included internal placeholders on flags, to allow include information about the protections in the placeholder. PlaceholderAPI is still available to be used on protection flags. This interal placeholders will be available lately on the Wiki, and are only single use, once replaced after being set the value on the flag, they won't be available again on this value.
[NEW]
◆ Included new system which allows to block or unblock protections. This system allows to block them through the commands or using a new timed system which can be enabled through the setting
Settings.Protection.Block-protections-if-exceeding-limits, which blocks protections automatically with a timer if the player, when the timer is executed, doesn't have the required permissions to maintain the current amount of protections. This permission blocks based on the general max permission or the block-based max permission, which will only block protections related to this block.
/pb buy command.
[NEW]
◆ Included new
RoyaleProtectionBlocksAPI class, which contains the method
getInstance() which allows to retrieve the instance of the API, which will be used to return the current instance of the API. This currently contains the
PlayerInteractionsService instance, which allows to simulate player actions through the API. This API will get more services within the next updates.
[NEW]
◆ Included new changes which regenerates the WorldGuard protection if couldn't be found instead of removing the protection. (This behavior was intentional, but as we are trying to achieve a full standalone version from the plugin, we think it might be more useful than removing the protection)
◆ Fixed issue with purge, which was working with the server start time, now it'll save a log with the last purge and will execute after the specified time based on this last log.
◆ Fixed issue with default flags not taking the group to specify on the worldguard region.
◆ Fixed issue with protections being removed due a bad checking position, if another protection was being placed where the protection was located. This didn't remove the protection completely, only from the protections service so a restart should help.
◆ Fixed issue with Discord implementation, preventing it from blocking the server, made a much better control, and ensuring that it does not overflow the endpoint requests, allowing it to wait once Discord does not allow more request until the next available amount.
◆ Made some changes which should improve the plugin checkings, requiring less resources so it should consume less and allow more protections and players.
Tested on: 1.20.4, 1.20.6
◆ Added
{protection_owner} placeholder on list inventory.
[NEW]
◆ Added hook to DeluxeCombat to block certain actions while in combat.
[NEW]
◆ Moved permissions to start working with the new standard, which allows to edit the value of the internal permissions through the
Config.yml file.
[NEW]
◆ Included
/pb fly command, which allows to fly on protections where you are an owner.
[NEW]
◆ Included new setting
Settings.Protection.Flight.Unauthorized-area-remove-after-seconds, which allows to define the amount of seconds before removing the flight ability after leaving the protection.
[NEW]
◆ Included new setting
Settings.Protection.Flight.Exclude-worlds, which allows to define in which worlds the flight control is excluded. (This is an alternative to add the permission
protectionblocks.fly.bypass)
[NEW]
◆ Included new setting
Settings.Protection.Flight.Enable-flight-control, which allows you to define if the flight control should be enabled or not. (By default it's set on
true)
[NEW]
◆ Moved some commands like
reload,
transfer and others to
/pb admin. Also their permissions on the command has been switched to follow the path. If you customized this commands, please remember to copy the previous values and set it on the new sections of the config.
◆ Made general max capacity permission required to allow players to use protection blocks. Now protection blocks max capacity permission is not standalone, and won't give players a valid max amount of available protections, only a max amount with that block. This allows to make things like a max capacity of 10 protections, and having multiple blocks with a max capacity of 5 for example, making players decide how the have to manage their protections within this limits. If you wish to work through the max capacity of the blocks or keep working using it, I suggest adding the permission
protectionblocks.max.bypass.
◆ Fixed title on list inventory which wasn't processing colors.
◆ Fixed issue after deleting a protection block, which was causing other protections to be removed even when they weren't related to the protection block.
◆ Made changes to ensure the worldguard region is updated with the new values on the protection block. (This currently does not check protections which are being extended instead of shrinked)
◆ Included new field
Permission for items in the inventory to include a permission and hide this items if the player does not have permissions for it.
[NEW]
◆ Fixed issue with protection block hidden on removal trial by a non-authorized user, as there were some parts of the code where the fix wasn't applied.
◆ Fixed issue with discord notification about the flags modification when the flag was not set previously.
◆ Removed logs at the start related to slf4j.
◆ Added new
/pb admin resetflags which allows to reset flags by default. On console, it'll affect to all protections, in-game, it'll affect only to the protection you're in, unless you specify the
--all parameter. You can use the
--flags parameter to specify which flags to restore. This command only restores to default flags which are registered on the
Default-flags configuration.
[NEW]
◆ Fixed issue with protection blocks with unlimited Y, which seems to give issues with certain configs or values, as on some places it's working properly, and others don't. Made changes to use a proper data which shouldn't cause issues.
⚠️ It's suggested to remove the previous regions that were created during the 0.1.2 Alpha version if you had protections with unlimited Y.
◆ Fixed issue with players removing unauthorized protections, which was hiding the protection block, but not showing it up again after the error.
◆ Made changes on the commands to offer a better way to manage them internally. May lead to some commands working not as expected.
◆ Made changes to allow the usage of PlaceholderAPI on the enter/exit messages on the
Config.yml file. Also trying to make a standard to offer the RoyaleProtectionBlocks internal placeholders with the same name, but still looking for a way to optimize it.
Tested on: 1.20.4, 1.20.6
◆ Added display item which can be defined on the management inventory of any region, allowing players to customize the item shown on the
/pb list command.
[NEW]
◆ Added new
/pb info command which will allow to see general information of the protection block, members, owners and banneds.
[NEW]
◆ Added new field for item sections
Custom-model-data, which allows to set a custom model data on the items from the inventories.
[NEW]
◆ Included new fields on `config.yml` file which allows to set the messages shown on entering or exiting a protection. This new messages works aside from the ones from WorldGuard.
[NEW]
◆ Preparing new API, similar to the one for RoyaleCustomTags. Included events:
- PlayerEnterExitProtectionEvent
- ProtectionCreationAttemptEvent
- ProtectionCreationEvent
- ProtectionRemovalAttemptEvent
- ProtectionRemovalEvent
◆ Fixed issue with `/pb purge`, which was deleting every region, but the count was incorrect at the end of the process.
◆ Moving location information of the protection to database. Location flag will be removed on a few releases.
◆ Fixed issues on libraries which caused incompatibilities with 1.20.6 due item structure changes.
◆ Fixed issue with placing blocks over the limit, as the block wasn't returned due some system changes.
◆ Added support for bStats.
[NEW]
◆ Added support for Discord Webhook system. (Experimental)
[NEW]
◆ Fixed issue with removed protections, which were causing an issue due their removal, as their protections couldn't be retrieved anymore.
◆ Fixed issue where players leaving from inside a protection were causing and error in console, which shouldn't be harmful.
◆ Fixed issue with external libraries, which were colliding with other plugins using similar libraries.
◆ Fixed issue with teleport, which was applying the cost even in cooldown.
◆ Fixed wrong code which was spamming an error message, which was used while trying to check if the regions where properly obtained due reported issues.
◆ Fixed issue with ban flag which wasn't acting properly on regions with more than one region on the same place and where only one region has the player banned.
◆ Fixed issue with placeholders, not retrieving the proper protection, and using the new system to retrieve which is the current protection of a player.
◆ Fixed issue with buckets, which were removing the protection blocks due a wrong checking of the modifications, and also added checking to prevent this issue when placing the bucket on the same block as the protection block is.
◆ Fixed important vulnerability which the permission for the setspawn command was missing, letting players to use it. Moved command to a new
/pb admin section which should fix the issue without requiring manual changes. ⚠️
◆ Reincorporated support on wave format for RGB colors, adapted to the new structure. Ex:
<w12#0100bb#090979#00d4ff>I'm surfing through the colors </>
◆ Included new library
Reflections used to retrieve the required data for the plugin to get loaded. This incorporation has been made due issues with the system implemented on 0.1.0 Alpha which seemed to be limited to Java 10 and higher. This changes allows the plugin to work again on
1.13.2 - 1.16.5.
◆ Fixed issue with async creation, not executing the error process properly on creation fail.
◆ Fixed issue with ProtectionStones importation, where results weren't showing properly due part of an async process.
◆ Fixed issue with
/pb list <username> trying to filter protections, as it was using the UUID of the player with the inventory open instead of the specified player.
◆ Added update checker which will send messages on console and on join to OP players when the version of the plugin is different from the Spigot version.
[NEW]
◆ Added
/pb unclaim method which allows to remove the protection you're in with a command.
[NEW]
◆ Added new setting
Settings.Open-shop-on-empty-list which allows to set the shop as the inventory to open when you don't have protections.
[NEW]
◆ Added new setting
Settings.Protection.Minimum-distance-between-protections which allows to define a minimum amount of blocks as the minimum distance between the new created protections.
[NEW]
◆ Switched creation and removal of protections system to work on async.
◆ Switched exit and enter control on protections, which also changes the way the banned players are being controlled.
◆ Changed so the buy menu items are sorted by price by default.
◆ Included the possibility to use more variables on other fields in the
inventory_protections_manage.yml file.
◆ Fixed heads on members, banneds and owners inventories where lore wasn't being applied.
◆ Fixed issue with
Search world menu, which wasn't working properly due the wrong name on the search button and on the code.
◆ Fixed issue with colors caused by Pufferfish and other forks on 1.20.4.
◆ Fixed issue with FAWE, where the preparation of the plugin internal hook for compatibility was causing issues on the place where it was being loaded.
◆ Fixed issue where view wasn't being removed after removing the protection.
◆ Fixed issue with PlaceholderAPI hook, which was reloading with the plugin, and couldn't reincorporate the placeholder.
◆ Repaired gradient feature for messages, and switched format to:
<(([klmno]*)|(\/))?((#[0-9a-fA-F]{6})*)>
Example solid color:
<#B2E5F8>Hey </>*
Example gradient:
<#B2E5F8#F4B3EF>Hey </> or
<#B2E5F8>Hey </#F4B3EF> (Colors can go on both sides)*
Example multiple gradients:
<#B2E5F8#F4B3EF#638B95>Hey </>*
Including modifiers:
<l#B2E5F8>Hey </>*
◆ Included new placeholder
%protections_protectionblock_current_{protectionBlockId}% which shows the amount of protections using this protection block.
[NEW]
◆ Included new placeholder
%protections_protectionblock_max_{protectionBlockId}% which shows the max amount of blocks you can have of this specific block. If there's no specific permission for this block, then it'll be blank.
[NEW]
◆ Included new
Settings.Protection.Teleport-stay-still, which tells people to stay still on their position for a certain amount of seconds before getting teleported, which gets cancelled on movement.
[NEW]
◆ Fixed issue with exceptions, messages not being saved on the
Lang.yml file so they weren't editable.
◆ Fixed issue with protection blocks, as being heads weren't showing their skins due the new item generation system.
◆ Fixed issue with ban flag, as the handler wasn't being properly loaded due being loaded on the load step, moved to the enable step instead.
◆ Fixed issue using
/pb files export blocks, as it was using an old method which wasn't updated with the new 1.20.2 version.
◆ Fixed issue with
/pb show or show button with blocks with skin, as it wasn't using the new method from 1.20.2 version.
◆ Fixed issue with
/pb buy command, not being available even with the Vault hook enabled due some missing checkings.
◆ Included new cache system for player heads to prevent performance issues.
[NEW]
◆ Fixed issue with title in `/pb list`, when checking protections from other players being the placeholder not parsed as the parsing system wasn't applied in the title.
◆ Fixed issue with protection icon in `/pb list`, which was using the protection block item as template instead of only getting the material type
◆ Fixed issue with command system which wasn't processing properly the commands when a soft-dependency is missing.
◆ Fixed issue with ProtectionStones not loading the hook properly, as it was trying to hook on load and not on enable.
◆ Fixed issue with purge command and timer, were it couldn't hide first the protection blocks before deleting the protections.
◆ Fixed issue with purge command, due new changes, it was not processing properly asynchronous deletion.
◆ Fixed issue with some messages in the default Lang.yml containing a code text due a replacement error.
◆ Fixed issue with player heads, not being applied due new system.
◆ Included checking before deleting a protection which is located on a general place, which will ensure that it can't be deleted twice.
◆ Fixed issue on banneds, members, owners and shop menus where the current method to prepare the items was not properly made, and throw errors in console.
Tested on 1.20.4 Paper
◆ Parsed plugin into the new system completely. Some features may fail with some specific configurations, we suggest making a backup before.
[NEW]
◆ Included possibility to use MySQL instead of SQLite (Currently there's no auto-import from SQLite to MySQL).
[NEW]
◆ Incorporating new cooldown and async execution system for commands, to execute on async commands which uses data that may affect the server, and cooldowns which allows to add some cooldown on the commands individually.
[NEW]
◆ Included new possibility to specify +/- behind the max of a permission to use it to increase or decrease the current max amount instead of being a fixed value. Also the first permission to give a fixed value will be the only one to be used as the base instead of the highest number.
[NEW]
◆ Included new command
/pb home [region id/display name] which allows to teleport to the home of a specified protection. It uses the display name of the protection if it has been set, otherwise it'll use the original region ID.
[NEW]
◆ Included new cost for teleports, which can be configured on the Config.yml file. It should work on the GUI and the new command.
[NEW]
◆ Included new cooldown for teleports, which allows to define the time between every success teleport. This only affects to the teleport after succeed, does not work the same as the cooldown from the command specifically.
[NEW]
◆ Fixed issue with importation of blocks due null values (Export included null values to make sure to give all the information, but wasn't properly managed on import).
◆ Made changes to allow change the block type of a protection block, which will simulate a hide and show of the protection blocks already used to reload their visual aspect.
◆ Now protections are removed if a protection block is removed.
⚠ The new plugin standard has been applied in this new compilation, and currently didn't give issues with some basic testings, but some commands or features may fail due any missing data on the parsing process.
⚠ Due to the new command system implemented on the plugin, probably any changes on the information in the plugins will not be available in-game, as the path of subcommands has changed from
<Command>.<SubCommand> to
<Command>.Subcommands.<SubCommand>. In order to fix it, you'll have to add the
Subcommands section before the commands that are members of a command, and add one level to the subcommands' section. I suggest removing the commands section (Make a backup before) and letting it generate the default one to have an example.
ⓘ This update, due the new system change, may give some issues depending on the configuration as every server has its own way to work with the plugin. In case anything fails or you have some issues to adapt your current configuration with the new system, we are available to offer support on this process.
Incoming features for v0.1.1 Alpha
◆ Research for the implementation of a custom permission system so people can define what people can do inside a protection.
◆ Research for the implementation of an API system on the plugin, which will require some changes on the current system.
◆ Research for the implementation of a custom region system, which will be partial and still work together with WorldGuard, but will help with the transfer of the data to a standalone system.
◆ Implementation of ProtocolLib, which will be used currently only for the
/pb view command.
◆ New setting to define a range outside protections which prevents other protections from being placed.
◆ Customizable icons on the
/pb list menu for protections.
◆ New sort button for the
/pb shop menu.
Reuploaded 0.0.26 file due mistake uploading another project on the wrong place.
◆ Included new changes to fix issues with custom heads, which stops the spam error from console due using the 1.20.2 version.
◆ Included new permission
protectionblocks.teleport and
protectionblocks.teleport.others to be able to use the teleport option on protections, also granted access to members to teleport to the protections, as they will have the protection shown on the inventory too. The teleport permission for common users comes by default.
[NEW]
◆ Included new filter on the
/pb list command to filter protections by all, own and others. Default is set to all.
[NEW]
◆ Included new placeholders:
▲
%protections_protection_owner% (Owner of the current protection)
[NEW]
▲
%protections_protection_id% (ID of the current protection)
[NEW]
▲
%protections_protection_name% (Name of the current protection)
[NEW]
▲
%protections_protection_size% (Size of the current protection)
[NEW]
▲
%protections_player_current% (Current amount of protections)
[NEW]
▲
%protections_player_max% (Max amount of protections [Only useful if using the global limit and not the protection block limit])
[NEW]
◆ Included checking to prevent pistons from moving the protection block.
◆ Included changes required to make it compatible with 1.20.2.
◆ Switched
Default-flags section structure to work with Value and Group options per flag. Old flags will be parsed to the new structure.
⚠ This version couldn't get more confirmations about its performance and if it's working properly. By our tests, it seems to work properly. If anybody finds something wrong with this release, remember to notify us so we can work on a fix for that.
◆ Restored previous way to process flags, as new one is not processing properly, and some cases are not being considered. The plugin will keep managing the colouring and replacement of flags on its generation, meaning that flags which are being formatted may stop working due having additional characters between the text. Before using placeholders, make sure to know which features offers the placeholder you want to use.
◆ Included option to disable protection placement inside another protection, even being the main owner (just in case someone needs it).
[NEW]
◆ Included new command
/pb setspawn which will allow you to define the location people is sent after being kicked or banned.
[NEW]
◆ Included new command
/pb leave which allows you to leave from a protection, removing the player from the owners/members list.
[NEW]
◆ Included new command
/pb buy which allows to purchase protection blocks.
[NEW]
◆ Included new setting on protection blocks which allows to define a price for them, which will include them on the
/pb buy command list.
[NEW]
◆ Included new permission
ProtectionBlocks.{block}.max.{amount} which allows you to define a max of placed blocks for a specific protection block. This permission has priority over the general
ProtectionBlocks.max.{amount} permission.
[NEW]
◆ Included new
--export-only option on
/pb purge which will end the command and export the result in a JSON file inside the plugin's folder.
[NEW]
◆ Included new
--show-ignored-players option on
/pb purge which will allow to show the ignored players when exporting the result into a JSON, allowing to check data from the registered players in the plugin to check the reasons why they were ignored.
[NEW]
◆ Fixed issue with purge system which was not properly processing which kind of values where placed, so they were treated as minutes instead.
◆ Fixed issue with
/pb kick command which wasn't checking if the player was the owner of the protection or had a permission to kick on other protections.
◆ Fixed issue where placeholders were processed on setting the flags to new protections.
◆ Compatibility with Minecraft 1.20.2 (Experimental)
[NEW]
◆ Included new setting to enable auto-purge for protections in the
Config.yml file.
[NEW]
◆ Included new command
/pb purge to purge protections from old players.
[NEW]
◆ Fixed issue with protections where their regions weren't on WorldGuard, causing an error in console.
⚠ Remember to keep a copy of the folder just in case any configuration is not being properly treated with this new features.
◆ Integrated compatibility with ItemsAdder, now ItemsAdder blocks will be treated the same way as Oraxen so any configuration on this blocks should be compatible.
[NEW]
◆ Replaced flag configuration with new one which allows to customize the item and specify the affected group.
[NEW]
◆ Removed WorldGuard forced save due TPS drops when having lot of regions.
◆ Fixed issue where an error prevented from saving the new information of a protection block with a database error.
◆ Fixed issue where pressure plates weren't controlled, and were triggering some events on the plugin causing errors in console which are only spam.
◆ Fixed permission path for /pb addmember command, which was taking the name field instead.
◆ Fixed issue with ItemsAdder items, as they weren't detected properly due the changes to fully support Oraxen with StringBlocks and NoteBlocks.
⚠ Remember to keep a copy of the folder just in case any configuration is not being properly treated with this new features.
◆ Incorporated new setting which defines if the home of the protection by default should be set using the location of the player or not.
[NEW]
◆ Incorporated new command `/pb transfer` which will allow you to transfer data from ProtectionStones to RoyaleProtectionBlocks. Currently it imports the protection blocks and registered protections.
[NEW]
⚠ Some tests has been already done with world guard data from other servers, and seems to be working with no issues, but not everything from ProtectionStones is being transferred, and not every data is considered, maybe some special regions may throw an error and won't be imported. In case that something more dangerous happens, we suggest to keep a copy of the WorldGuard and ProtectionStones folder.
⚠ After some consideration, we rejected the idea to incorporate in this new update the merged regions, after some discussions about this feature. This does not mean it'll not be implemented, probably it'll be included as a feature on the roadmap, and a compatibility to transfer merged regions from ProtectionStones will be included after its implementation.
◆ Fix for protection blocks edition menu which had issues on opening after some changes on the system.
◆ Fixed issues with new YAML library not processing properly multilines in lists.
◆ Fixed other issues with new YAML library having issues processing lists, causing some missconfiguration for aliases. Suggested to check your configurations.
◆ New system of world allowance per block, which can be actually configured through the GUI using a new button.
[NEW]
◆ New configurations which allows to configure commands using placeholders from PlaceholderAPI to be executed on the creation and removal of protections.
[NEW]
◆ Command
/pb files which will offer new subcommands that can be used, for example, to import or export data from the plugin.
[NEW]
◆ New file that acts like a bridge, which allows to create or modify the protection blocks through files. Works together with the
/pb files command.
[NEW]
◆ New library for YAML files, which is currently experimental and may have some issues with certain configurations, but most of the usual ones have been tested.
[NEW]
⚠ This new library for the YAML files is experimental, but some custom configurations has been tested and didn't give issues. This does not mean it completely works, so take care of your servers. A backups is always suggested for servers, not only from the plugins' configurations but also from the worlds and other stuff. We recommend ensuring that, after updating the plugin, everything is working properly.
◆ Some fixes for Oraxen, causing issues with protection blocks. This ones could lose their funcionality on rejoin or after breaking the block physically.
◆ Some fixes for ItemsAdder, ensuring that some configurations are being detected by RoyaleProtectionBlocks when using this items. This fix is temporary, and will be improved once having contact with the developer.
⚠ A bug has been found in Oraxen which duplicates the place event for StringBlocks, leading to a wrong behavior when placing protection blocks. This bug should be fixed on the next v1.161.0, so keep Oraxen updated for the next update in case of facing this issue.
◆ Implemented new ban system which allows to ban users from your protections. Banned users that are found inside the protection are teleported to the world specified in the
Send-to-world-on-kick configuration in the
Config.yml file. If the world does not exists, the plugin will send them to the spawn on the main world. Improvements may be done in the meantime.
[NEW]
◆ Implemented new button on management GUI to manage the banned users of a protection, which includes adding and removing the users on the same way as other inventories like the owners and members management GUI.
[NEW]
◆ Implemented new commands to ban and unban, as well as a new command to kick players from a protection, which works on the same way as banning a player which is inside a protection, teleporting him to the spawn of the current world.
[NEW]
◆ Exported plugin properly to include changes on
/pb blocks add command which weren't on the 0.0.18 file to allow the usage of the
-1 value on the
y axis.
◆ Implemented posibility to create regions with unlimited height, by specifying
-1 as the height, or decreasing under
1 if using the GUI system. This new feature should be compatible with currently existing protections, but it's suggested to ensure they are working properly.
[NEW]
◆ Implemented some changes to improve the load of the files in the plugin, preventing it from unloading in case of a file unable to be read, and leaving it as a backup file before restoring the file and using the default one.
◆ Fixed issue where protection blocks could be duplicated by shift + right-clicking and left clicking with an item which can break the block instantly, which leads to the case where the removal inventory is open and the block is break, causing it to allow its removal two times. Inventories are closed after a player breaks a protection, and trying to use them when a protection is removed should lead to an error.
◆ Incorporated compatibility with Oraxen (Experimental) which allows to use the blocks from this plugin and allows you to hide and show the blocks.
[NEW]
◆ Made some improvements to allow some commands to be used as administrators, allowing to manage other users' protections, like
/pb list [player] or the right-click interaction on protection blocks, when having the proper permissions.
◆ Incorporated new system of recipes, which can be configured on any protection block you want. This recipes are optional, so you don't have to configure it in case you don't want them to be craftable.
[NEW]
◆ Incorporated new change to implement default flags on new protections.
[NEW]
◆ Incorporated compatibility with ItemsAdder (Experimental) which allows to use the blocks from this plugin (Only blocks as blocks, not as entities yet), and allows you to hide and show the blocks, not like Oraxen.
[NEW]
⚠ This new system changes the fields used to define the entering and leaving messages on the `Config.yml` file. You'll have to reconfigure this section again, by the name of `greeting` (The entering flag) and `farewell` (The leaving flag). By default, this config comes with the default texts on both flags. Now this sections will work using PlaceholderAPI to define the content of the text.
◆ Fixed issue where glown up blocks couldn't be right clicked, so they couldn't open the management menu or the delete menu.
◆ Fixed issue with new debug system which some debug messages weren't properly made, giving errors while trying to remove or place protection blocks. Issue that only happens with debug enabled.
◆ Incorporated new ways to delete a protection (Through the protection management GUI or by shift+right-clicking the protection block.
[NEW]
◆ Included new checking to prevent players from placing a block similar to the protection block over the same location if was placed after hidding it.
[NEW]
◆ Fixed some wrong messages in commands such as
/pb sethome where they were showing the prefix twice.
◆ Hidden SQL debug which was showing errors that are pure checking, not causing any harm to the plugin.
◆ Fixed issue where, due missing checkings, protection blocks placed inside other protections cause checking issues trying to check if the block was or not a protection block on right click.
◆ Fixed issues where, in creative mode, magma cube used to show the location of the protection block was killable.
◆ Fixed issue where, on certain conditions, the blocks placed over the protection block after hidding were removed while trying to show the protection block again.
◆ Incorporated new command /pb view to show the boundaries of the protection.
[NEW]
◆ Protection management inventory now has a different look.
◆ Made changes to ensure the plugin is compatible with the 1.20 version.
⚠ Remember to keep WorldEdit and WorldGuard updated.
◆ Included new setting in Config.yml that allows to define a protection block to be given to players on their first join.
[NEW]
◆ Fixed issue where
/pb blocks give command wasn't working in console.
◆ Implemented new GUIs to create or edit protection blocks.
[NEW]
◆ Implemented new button on protection blocks GUI in the middle to allow the creation of new protection blocks through GUI.
[NEW]
◆ Included translations for the new GUIs for protection blocks.
[NEW]
◆ Changed `/pb blocks add` behavior. Now, you don't have to specify half the amount of blocks, but the entire number.
ⓘ If you want a block of 21x21x21, now you only have to specify `/pb blocks add {id} 21 21 21`.
Using even numbers will add one to the specified number. Ex: 20 will become 21 for the protection block.
* Implemented some changes so items on inventories are completely reloaded when reloading the plugin, so it'll update their translations.
* Changed some parts of the recognition system trying to make sure it checks properly if a block is a protection block.
* Added checking when adding a new protection block to make sure the hand is not empty (When the hand is empty, it's considered AIR, and it wasn't checked at all)
* Remove testing item that was given on login.
* Fixed message issue where "/pb sethome" had double prefix on the success message.
* Included rename success message when renaming protection name through the inventory.
* Removed commands module from the reload process. Due Bukkit limitations, commands can only be loaded on the first load of a plugin, and it doesn't allow the main commands to be renamed to another name. Ex: switching from /protectionblocks to /protections breaks the plugin, as removes the old command, and tries to register the new one, but in a step it doesn't allow to register new ones.
* Fixed possible issue where plugins with lower priority than ProtectionBlocks could cancel the break event, don't letting ProtectionBlocks to manage it as someone trying to remove its protection. This could lead on the block removal without removing the protection from the server. This issue only happens due other plugins that manages blocks.
* Fixed issue with 1.18.2 version, which this specific version contained specific change on internal items that weren't controlled
[ ! ]
The change made to make the 1.18.2 work can affect other versions, but it has been tested on 1.18.2 and 1.19.4, the plugin seemed to work fine. Older versions from 1.14.4 and below didn't had the changes that Spigot made on their libraries and caused issues with compatibilities, so probably this versions are still working fine. If you find any error in this version, please contact me and I'll make sure to fix it.
* Showing protection block instead of grass icon so it's easier to find your protections on the protections list.
* Fixed issue with heads, where heads' way to treat names on items makes the item become yellow instead of white when trying to use the white color.
* Fixed issue with placed heads as protection stones, where their skins were vanished after using /pb show to show the block again.
+ Create new commands /pb hide and /pb show, to hide or show the protection block on a protection.
+ Included help command customization
* Including forgotten arrows to move through pages
* Fixed issue where display names can't process gradient colors
* Fixed issue where people had errors in console on worlds' loading, due a preload made by the plugin not being properly controlled
[!] Confirmed that RoyaleProtectionBlocks is currently compatible with 1.13 and above
+ Added new field on /blocks add command to allow specify a permission that can be used to prevent users from using this blocks. This field is optional, and can be left empty, so they don't require any permission to be used
+ Included compatibility with Oraxen (And maybe with ItemsAdder)
+ Implemented new lore on protection items to show more information like the world and it's location.
+ Added the possibility to configure commands' information on the Config.yml file.
* Fixed issue with worlds having uppercased names that couldn't be managed properly when retrieving protection blocks.