v3.2.10 Aug 23, 2021
v3.2.10 - Prison Update - Enhancements and New Features
Prison v3.2.10 - Prison Update - Enhancements to many internal features, improved /ranks autoConfigure, focus on providing better support tools, many new placeholders, and starting to add PlayerCache tracking (opens the door to many new features dealing with player stats).

* Many new placeholders added. Prison now has 240 base placeholders including their aliases.

* Numerous improvements and bug fixes in many areas

* Improvements in multi-language support. Able to support UTF-8 encoding.

* Player Cache: Improvements and enabling tracking of blocks broken, time spent in the mines, earnings, and online time. This will be used to enable many new placeholders and more features in the near future.

* Auto add all players on the server that are not in prison.

* Enable /prison support submit features where players can get better support by making it easier to share their configuration settings. Using paste.helpch.at.

* Provide a more robust support system in prison, in addition to the support submit features. Can now enable more debug mode targets to better trackdown potential issues.

* Prison now supports reloadable locales and auto features. For the auto features, it now unregisters all previously registered block event listeners, and the re-registers them based upon the updates to the settings in the reloaded auto features. The server no longer needs to be restarted if the configuration settings for event listeners have changed in any way.

* Auto features has undergone more refactoring to prepare for future enhancements, and to streamline the existing processes. A few undiscovered bugs were found and fixed during these enhancements. As a result, auto features works better with other enchantment plugins.

* Rewrote some of the auto features to resolve some obscure issues, and to provide performance improvements and greater flexibility.

* Redesigned the commands /ranks list, /ranks info, /mines list, and /mines info

* Modified the way Prison edits commands (ranks, mines, blockEvents) so the row numbers can be used instead of copying and pasting the whole command(s).

* Update many of the internal libraries.

* Performance improvements with GUIs, backpack, and Sellall features. Includes fixs and some layout functional improvements too.

* Expand Prison's utils features. Added a few more utilities.

* Added support for Ladder Base Rank Cost Multipliers which enables the ability to make rank costs more expensive when prestiging.

v3.2.9 Jul 4, 2021
v3.2.9 - Prison Update - Enhancements to blockEvents, placeholders, support, and events
* Prison now has new commands to help provide better support and can be found under: /prison support These commands will be expanded to help make it a lot easier to get help on many issues that could be configuration based. Prison is now able to help sent some information to https://paste.helpch.at. These tools also cleans up a lot junk in the log messages so they are easier to read.

* Added a new utility feature to prison: block decays. This allows blocks to change types when they are mined. Two defaults are an obby decay and rainbow decay. Plus there is a blocks tool that will allow a custom list of blocks, as many, or as few, as you like. [https://youtu.be/y4vmeC0aPIc](https://youtu.be/y4vmeC0aPIc)

* Added 18 new placeholders that are focused on all ranks that are on the server. Now if you use a rank name with these placeholders, you can access almost all rank information that is available, including how many players are at a specific rank, or a list of mines that are linked to a rank.

* Rewrote how event listeners are setup in Prison to optimize them. Created tools to inspect them to help with troubleshooting. Made significant improvements.
`/prison debug blockBreakListeners`

* Enhanced Prison's delayed start to better integrate with CMI's Economy without sacrificing prison's advanced startup validation of existing ranks.

* Added many new placeholders for the use within the prison commands ladders, ranks, mines, and blockEvents. Each type of these commands now has custom listings of all placeholders that will work in those areas. This large expansive set of placeholders should be able to provide the greatest amount of flexibility in customizing your servers. Use the following commands to review the latest listings:

```
/ranks ladder command add placeholders
{player} {player_uid} {msg} {broadcast} {inline} {inlinePlayer} {sync} {syncPlayer} {firstJoin} {balanceInitial} {balanceFinal} {currency} {rankupCost} {ladder} {rank} {rankTag} {targetRank} {targetRankTag}

/ranks command add placeholders
{player} {player_uid} {msg} {broadcast} {inline} {inlinePlayer} {sync} {syncPlayer} {firstJoin} {balanceInitial} {balanceFinal} {currency} {rankupCost} {ladder} {rank} {rankTag} {targetRank} {targetRankTag}

/mines command add placeholders
{player} {player_uid} {msg} {broadcast} {inline} {inlinePlayer} {sync} {syncPlayer}

/mines blockEvent add placeholders
{player} {player_uid} {msg} {broadcast} {inline} {inlinePlayer} {sync} {syncPlayer} {blockName} {mineName} {locationWorld} {locationX} {locationY} {locationZ} {coordinates} {worldCoordinates} {blockCoordinates} {blockChance} {blockIsAir} {blocksPlaced} {blockRemaining} {blocksMinedTotal} {mineBlocksRemaining} {mineBlocksRemainingPercent} {mineBlocksTotalMined} {mineBlocksSize} {blockMinedName} {blockMinedNameFormal} {blockMinedBlockType} {eventType} {eventTriggered} {utilsDecay}

```

* Upgraded the behavior of all command tools within prison to use row numbers when workig with commands, instead of having to reenter all of the commands.

* Added block filtering to BlockEvents so events can now be filtered by blocks now.

* /ranks autoConfigure has been enhanced to provide more functionality when forcing auto configure to run. This will now try to fully incorporate preexisting ranks and mines as much as possible. Preexisting mine liners will not be replaced, but block listings for the mines will be replaced with the defaults.

* When starting up prison when no mines and no ranks exist, prison will now print a few messages to the console to help direct new admins on how to configure prison.

* GUIs are being rewritten to improve performance and improve the behavior.

* SELLALL has had some significant performance improvements.

v3.2.8.1 Jun 18, 2021
Prison v3.2.8.1 - Spigot 1.17 and Java 16 Support
This release fully supports Spigot 1.17 and Java 16.

Note: A bug was discovered and fixed within v3.2.8 so the internal version tied to this release is v3.2.8.1. A release published as v3.2.8b was released just to provide a quick temporary fix until this release could be rolled out. Sorry for any troubles this may have caused. - Blue

Many aspects of Prison was updated to prepare for the Spigot 1.17 and Java 16 release. Dependencies and libraries were updated. Code was changed.

Many resources and tools that prison uses has been updated to the most recent releases to help ensure the best compatibility with Spigot 1.17 and Java 16. This also helps support some of the newer updates in other plugins.

Prison now uses Prison's New Block Model to ensure that you always have access to all blocks that are valid on the version of Spigot that you are running. Prison uses Cryptomorin's XSeries to help ensure block compatibility and support from Spigot 1.8 through Spigot 1.17. All mines are auto updated to the newer block names and there should be no obvious changes in existing mines. New blocks should be seen in /mines block search.

All messages within the Ranks Module have been externalized and can now be customized. Other parts of prison will be externalized in future releases, but ranks are completed. Prison is now able to auto update the language files based upon internal versioning of those files. Prison also has the provisions in place to prevent auto updating these language files, which is helpful when customizing the existing files to fit your server's themes.

Many bug fixes and core changes to improve stability and reliability. To help with support, more internal debugging tools have been added to help troubleshoot issues when someone has challenges to get Prison to work with other plugins.

Enhanced support for the CMI plugin Economy. Prison is able to deal with CMI's delayed activation so prison can properly perform it's pre-flight checks to ensure Ranks is properly hooked up and active.

A few new /prison utils for healing, hunger, and breathing. Able to add, subtract, set to a specific value, or reset to full values.

A General Request for Help: Are you a native speaker of another language? If so, we could use your help in providing new translations for the new Rank language file. Contact Blue or another Prison Discord staff to get it added to the next build.
plugins/Prison/module_conf/ranks/lang/en_US.properties

v3.2.8 Jun 18, 2021
v3.2.8 - Prison now fully supports Spigot 1.17 and Java 16 !!
v3.2.8 brings full Spigot 1.17 and Java 16 support to Prison!

This version provides full block support on all versions of Spigot, from 1.8 through 1.17.

* Many resources and tools that prison uses has been updated to the most recent releases to help ensure the best compatibility with Spigot 1.17 and Java 16. This also helps support some of the newer updates in other plugins.

* Prison now uses Prison's New Block Model to ensure that you always have access to all blocks that are valid on the version of Spigot that you are running. Prison uses Cryptomorin's XSeries to help ensure block compatibility and support from Spigot 1.8 through Spigot 1.17. All mines are auto updated to the newer block names and there should be no obvious changes in existing mines. New blocks should be seen in /mines block search.

* All messages within the Ranks Module have been externalized and can now be customized. Other parts of prison will be externalized in future releases, but ranks are completed. Prison is now able to auto update the language files based upon internal versioning of those files. Prison also has the provisions in place to prevent auto updating these language files, which is helpful when customizing the existing files to fit your server's themes.

* Bug fixes and core changes to improve stability and reliability. To help with support, more internal debugging tools have been added to help troubleshoot issues when someone has challenges to get Prison to work with other plugins.

* Enhanced support for the CMI plugin Economy. Prison is able to deal with CMI's delayed activation so prison can properly perform it's pre-flight checks to ensure Ranks is properly hooked up and active.

* A General Request for Help: Are you a native speaker of another language? If so, we could use your help in providing new translations for the new Rank language file. Contact Blue or another Prison Discord staff to get it added to the next build.
plugins/Prison/module_conf/ranks/lang/en_US.properties

v3.2.7 May 2, 2021
v3.2.7 - Prison Update - Fixes a performance issue with v3.2.6
NOTICE : v3.2.6 had a issue with performance and release v3.2.7 fixes it

Significant changes to prison for improving support related commands. The following commands are now recommended to be used to help provide details for troubleshooting.

* /prison version all
* /mines stats
* /mines reset *all*
* /mines list
* /mines info <mineName> all
* /mines stats
*
* /ranks ladder list
* /ranks players all all
* /ranks list <ladderName>
* /ranks info <rankName>
* /ranks command <rankName>

* If a mine is taking too long to reset, `/mines info` now includes a warning and recommends enabling Mine Reset Paging.

* For all players on the server, force rank changes with one command.
Can use the command as `/ranks set rank *all* *same*` to reset all player's ranks to their current rank.

* Bug Fix: The new Mine Sweeper was added in the last release, but was accidentally always enabled. This was fixed.

* Significant changes and fixes for backpacks

* Updated a few repos to their more recent releases

* Changes to player teleport to prevent looping and locking a player in place.

* Enhance how the new block model is setup to make for an easier transition to using it.

v3.2.6 Apr 11, 2021
v3.2.6 - Prison Update - new API features, enhancements, and stability improvements
This is the last bug release for the v3.2.x series. The next minor release will be v3.3.0 and will start to include the long awaited support for multi-language support. We will also keep including many exciting new features like we have with the last 18 months. As a word of caution, these future release may no longer be compatible with Prison's v3.1.1 release; it is planned to make the very much needed changes to file formats for the save files for the ranks, ladders, and maybe even the players. At this time, if you are running v3.2.6 there is a very good chance you can revert back to a prior release, all the way back to v3.1.1.

With this release we have introduced our first Prison event that we are firing before we actually update the block state from within the Auto Manager (auto pickup, or even handling of normal drops from within prison). This event is named `tech.mcprison.prison.spigot.api.PrisonMinesBlockBreakEvent` and will pass along many of the prison internals. API support has been added to support for sellall and backpacks. Moving forward we will be adding other important events that can help with customizing prison in many new and exciting ways, and to also make such customizations much easier since you will have direct access to our internal objects without going through hoops trying to locate them.

With this being the final bug release for the v3.2.x series, the addition of new items have been kept to a minimum and has been mostly focusing on stability.

With this final release, the following have been addressed and/or added:

* Significant enhancements and fixes to backpacks, sellall, and gui. Backpacks can now be disabled in specified worlds, and can have the size set/changed. Backpacks now have a new admin GUI.

* Prison's BlockBreak listeners will now only register if prison's mine module is enabled. The auto features will be disabled without the mine module.

* Prison now supports configuration settings for the listeners for BlockBreak related events. Supported levels are LOWEST, LOW, NORMAL, HIGH, HIGHEST, and DISABLED. Disabled will prevent the related features from working by never registering a listener. MONITOR is not supported since it is not recommended to change block states at this level. To change these settings please see the configuration file plugins/Prison/autoFeaturesConfig.yml under options.blockBreakEvents.*. The default values are LOW.

* New sanity check to require confirmation when creating a mine, or changing the size of a mine, to a size greater than 20,000 blocks. It was reported by one user that they accidentally messed up and had one point set in a previous mine, then set a point in the new mine which resulted in the destruction of a lot of their builds due to the large size the new mine. This sanity check will hopefully prevent possible errors like this.

* Placeholders have been changed to be case insensitive when performing replacements. This may help improve matching and identification of placeholders. These changes will not improve unicode matching.

* Double registering prison's placeholders with PAPI (PlaceholderAPI) so as to make it easier to use placeholders. Ever since Prison v3.2.0 placeholders were registered as all lowercase and the documentation has always clearly identified that this is the case, but few read the documents and/or stuck in trying to use all uppercase. Now uppercase usage will have better chance of working smoothly so there will be a lot less support issues raised.

* Added SellAllUtil to the Prison's API. Backpack admin GUI can now be accessed through the standard admin gui. The player GUI has support for more internal placeholders for more customization.

* The Minepacks maven repo was offline for a log time and was producing many build failures. Due to the instability of their maven repo, the generated jars were added directly to the project and the maven repo was disabled. The future prison builds will not be impacted by such repo failures from that repo again.

* Added PrisonMinesBlockBreakEvent to all auto manager event handlers. This allows the processes to be canceled and provides a wealth of internal objects to any other plugin trying to use this event. This could make it a lot easier to write customized plugins or to change the behavior of prison. This event is fired before actual updates are applied and after all of the other features have been filtered.

* Starting to add PrisonMinesBlockEventEvent class that will be fired prior to the BlockEvents. It will not be enabled until a future release.

v3.2.5 Apr 10, 2021
v3.2.5 - Prison Update - New Mine Access Perms & updated support for Token Enchant, zenchantments, and Crazy Enchants. Support for mcMMO and EZBlock.
Many new features and updates

New support for mcMMO and EZBlock

Updated support for Token Enchant, zenchantments, and Crazy Enchants. Hooked up Mine Packs to work with auto pickup and sellall.

New Mine Access Permissions feature - Simplifies use of WorldGuard regions (can use without WG regions too so less to configure)

Backpacks - major updates

Sellall - major updates

Auto features - Major rewrites and fixes. Most of the code has been refactored and duplication has been eliminated. Fixed and enhanced use of xp, durability, and wear. Auto features now supports "normal" drops using prison's internals and behaves as auto pickup does now. Improve the inventory overflow and hooks in to autosell. New feature to allow autosell to be triggered on each block break.

Redesigned prison's command handler to be able to use common handler. Now supports more placeholders and custom placeholders for rank commands.

Setup about 98 default items for the sellall shop. The sellall shop now covers all items within the default items within the auto configured mines.

Many changes to GUIs

Mines now support block counts and they are not accurate even with explosion events

Simplified the prison startup details by removing a ton of color codes. The color codes where making it impossible to read the detail in the log files. Also removed a lot of non-active details, which can be seen with extended features through /prison version all.

Added new /prison utils commands and features.

Added a new feature called Mine Sweeper that will sweep all blocks within a mine and make sure the counts are updated correctly. This feature should never be used since it can have a very high overhead. But if you are using an enchantment plugin that cannot be supported by prison, then it's a viable option.

Many other small fixes and enhancements to make prison more stable, but better overall.

v3.2.4 Mar 2, 2021
v3.2.4 - Prison Update - New Features and Bug Fixes - BlockEvents, Placeholder attributes, Backpacks
Many new features and updates

* Many updates to the GUI and Sellall. Many new features and many new ways to customize them.

* New settings for BlockEvents to better control when they are fired and what filters can be set. Now supports Token Enchant Explosion events and Crazy Enchant explosion events. Its now much easier to control events based upon mining. Ability to filter on block types will be added soon to the alpha release.

* New Feature: Placeholder attributes. Allows very flexible formatting of almost any placeholder. Supports 32-bit hex colors even in other plugins that do not support them yet. Attributes can custom format numbers or even some text. Allows customization of bar graph placeholders within the placeholder so multiple bar graphs could all have different formatting.

* New feature: Prison utilities. These are small self contained utilities that can be used within rank commands, mine commands, or event block event commands. They can also be used outside of prison. Generally these will be functions that may not exist or cannot be ran from the console, such as repairing player's tools, weapons, or armor.

* New Feature: Mine constraints. It's now possible to specify a max number of blocks of a specific type that will be added to a mine during a reset, or ensure a min number are generated. Also you can now restrict blocks to spawn in certain bands by excluding them from top and/or bottom layers.

* Many new placeholders. Now listed on PAPI's wiki.

* Reworked the auto manager's fortune. Now supports unlimited levels.

* Now supports the Mines Backpacks plugin.

* New Feature: Internal Prison Backpacks! This is a work in progress, but is initially functional. Keep an eye on the alpha releases to get the newest features.

* Where possible, mine tags are now used in most interfaces so formatting can be enjoyed.

* Hooked up block counts to each mine. Now each mine will track how many blocks have been mined. Placeholders will be added in the future to access this information outside of prison.

* Reworked a lot of the internal permission handling. Simplifies internal code and adds new features. Setting up prison for more advanced features.

* Lock players out of being able to list all of the prison's commands.

* Prison placeholders no longer needs to be reloaded when papi is reloaded.

* Sellall now supports multiple permission based multipliers.

* Sellall now supports the use of sellall signs.

* Now can TP to a mine's spawn, or directly to the mine itself. Also the command /mines tp <mineName> has a new short cut /mtp.

* New Feature to reset all mines at the same time. /mines reset help. /mines reset *all* details' When chaining all the mines together with the resets, it disables the running of any mine commands to prevent endless loops.

v3.2.3 Jan 21, 2021