v3.3.0-alpha.18a 2 days ago
Prison v3.3.0-alpha.18a - Bug Fix

Prison 3.3.0-alpha.18a 2024-05-21


NOTE: This #$*& editor will not show normal colors. It defaultd to white-on-white and whatever I change it to, it saves as somthing else... Please highlight this whole message and it's easier to read.


Bug fix: There was a bug that surfaced that was being triggered by new player joins to the prison server.

The symptom was the spamming of new player join messages.

This was actually happening only if there were rank commands that would be ran for the initial rank assignment if it used rank related placeholder. The resolution of the placeholders were triggering another new player cycle.

This was a classic chicken or the egg situation.

It is unknown when this problem was first "setup", but it's only recently that it's been reported. It may have been there in the code for a few years, so not sure how many times this was encountered without being reported.


v3.3.0-alpha.18 3 days ago
Prison v3.3.0-alpha.18 - Alpha Release

This version of prison works with Spigot v1.20.6 and Paper v1.20.6.

The whole prison build environment was rewrote and updated to provide for a cleaner and more modern way to use dependencies within Gradle.

In combination with updating most of the libraries and other dependencies, this resolved many issues that were initially preventing prison from working with Spigot v1.20.5 and v1.20.6.

  • Gradle updates: Upgraded from v7.3.3 to v8.7. Had to upgrade 22 times to reach v8.7. With gradle, if there is a future breaking change in the configs, it warns you in the before the next release. So incremental upgrading helps ensure the configs are fixed and functional before moving on to the next release.

  • Upgraded Spiget from v1.4.2 to 1.4.6. This checks prison's version for updates.
    Had to also rewrite the code using Spiget because the older build tools were having issues handling anonymous classes when building the final jar file with shadow.

  • Upgraded shadow from v6.10 to v8.1.1 2
    Shadow v8.x could only be used with gradle v8.x

  • Placeholders: There was an odd issue with placeholders when a discord plugin was using papi. For some reason, that plugin was sending the placeholders with null players. Now checks for nulls. Since it was a non-standard way of using papi, there may be other issues?

  • PlayerCache: Slight modification in getting the keySet so it will not be tied to the original PlayerCache's TreeMap. This will eliminate the possibilities of a concurrent modification exception if new players are brought online or unloaded.

  • Economies: Added a feature for external functions to be able to check if the player has an account. It's not being used yet, but it can be used to bypass code (and messages) if a player does not have an account.

v3.3.0-alpha.17a Apr 29, 2024
Prison v3.3.0-alpha.17a - Alpha Release


This is an important update for alpha.17, which fixes a few outstanding bugs that were mostly introduced since alpha.16.

NOTE: This update will be pushed out to spigotmc, polymart, builtbybit, etc. You can help support our efforts by downloading a copy or two of Prison from those sites to help boost the popularity figures since the discord downloads are invisible. Thank you.

  • Spigot 1.20.5 - Prison support spigot 1.20.5 partially. There have been a couple of fixes applied to Prison to get it to run. Our libraries have been updated to better support 1.20.5 too. More releases will be occurring for our dependent libraries in the near future, and we'll include them as we can. But overall, we're unable to test prison with 1.20.5 because our test servers are dependent upon other plugins that cannot currently run on 1.20.5. We'll keep an eye on updates and test as we can, but this is currently a lower priority.
    That said, if you're trying to use 1.20.5 and you run into issues with Prison, please let me know ASAP so I can get them resolved for you.

  • GUI config changes - Made it easier to control items shown in the player's GUIs for ranks and mines. Removed obsolete settings.

  • GUI tool bar - The text for the GUI tool bar (paging and close) have been added to the common module's language configuration support. They can now be customized. Most of these text settings for the page tools supports a custom set of placeholders to allow for more control over placement of page numbers in your button's layout. See the language text files for comments that list all options.

  • Economy Integrations: Bug fix: There was a bug occurring with the addition of a new check that was added to essentials and vault to see if a player has been setup with the economy. On servers with inactive players that do not have that currency it was throwing trivial warnings, but they were flooding the logs.

  • Prison Support Submit - There was an update to privatebin that forced the use of TLSv1.3, of which is not supported in older versions of java 1.8. Prison uses a library to interact with the privatebin servers and that library was having issues. I rewrote some code for that library to better deal with the errors and to have it generate more meaningful messages that explains how to fix the problem. This eliminated many stack traces that we could not control.
    Prison now will fallback to using paste.helpch.at instead of privatebin if there are protocol errors with TLSv1.3 support. This may not be optimal because paste.helpch.at does not purge old messages.

Prison uses privatebin to help support our product by providing a comprehensive listing of settings and configuration so we can better address prison related concerns and issues.

Privatebin allows us to encrypt all data before sending and storing on the privatebin server, and we can set an expiration date for when it gets purged, which is 1 week by default. You also need to use a password to decrypt the text to view it. This, we feel, helps better protect your assets. Paste.helpch.at does not provide any of these features and the posts remain out there for a long time.

The only solution to fix the protocol error is to upgrade your Java 1.8 installation to the latest release of 1.8. The latest releases of 1.8 includes TLSv1.3.

  • Player GUI: Fixed a bug that when clicking on a rank button that it did not have a command to run, so it was generating an error message in the console and the player's chat. This has been fixed, and the behavior was doing nothing wrong (did not cause any harm).

  • Placeholder bug fix when using the search function with an offline player.

  • Auto features: Fixed some issues with the inventor full message not appearing. A new feature was added to normal drops to now include full inventory checks too.

  • Updated XSeries from v9.9.0 to v9.10.0 - better support for spigot 1.20.5

v3.3.0-alpha.17 Apr 21, 2024
Prison v3.3.0-alpha.17 - Alpha Release

See prison's change logs for a list of updates and bug fixes.  There were more than what could be included in this update.

v3.3.0-alpha.16 Nov 18, 2023
Prison v3.3.0-alpha.16 - Alpha Release

3.3.0-alpha.16 2023-11-18

The following is a highlight of changes for the alpha.16 release since the alpha.15 release.

Bug fix: A library that prison uses broke with the release of Spigot 1.20.2 due to new parameter overloading that spigot introduce, that resulted in ambiguous parameter failures.

Auto Features: Many updates and enhancements.

Sellall: Many updates and enhancements from API to GUI and autofeatures integration.
    Streamlined to work with prison's custom blocks instead of just XMaterial items.
    New functionality to improve managing what's been sold, or just getting their value. Extended a lot of this new functionality to the prison APIs.
    Added many new default items
    Changed all of the commands under sellall to better organize like commands in to sub-commands
    Rank multipliers now works for all ranks, not just prestiges. New commands to reset all multipliers for ladders (which is great if you have a few thousand prestige ranks).
    If blocks could not be sold through auto features autosell, it will generate debug messages so it's easier to track why blocks are not being sold.
    Able to disable the "nothing to sell" message so it stops spamming the player.
    For different server configs, where there are issues that prevent autosell from being used, such as other plugins placing blocks in the player's inventory, you can now force a sellall after the block break event is finished being processed.
    Sellall Multipliers - Many new features and commands. Explore with /sellall multiplier and use the keyword help on each command for more details. The multiplier list can use different column widths to better support thousands of prestige ranks.

Prison's command handler: Updates and a few enhancements.
    Worlds that are disabled in config.yml prevents prison's command handler from working in those worlds, thus shutting down any and all aspects of prison in those worlds. Use carefully since no warnings will be shown in those worlds that prison is ignoring all commands issued from within those worlds.

Fixed an issue with the player's inventory not matching prison's internal code vs bukkit's.

Expanded Prison's APIs so its easier to use prison's internals within other plugins for the most flexibility in customizing your servers.

Multi-language support files now supports:

*none* keyword to suppress any text. Returns an empty String.
Now supports line breaks within messages. Use {br} which is similar to the html break: <br> but cannot use the < or >. The {} is typical of placeholders.

Improvements to Prison's debug mode and block inspector to make is easier to address issues.

Debug mode can now be tied to a single person to prevent the console from being spammed

Prison Mine Bombs - Can now identify which mines specific bombs can be use in, or excluded from. Includes a global setting in config.yml so individual bombs do not need to be configured to be excluded from certain mines.

Prison support - New features

Adding a new HTML bases support file. More work needs to be done with it before making it the primary tool.
Changed servers for submitting support help files... they are not encrypted and password protected. And they are purged in 7 days.

Mines -
    Mine tracer now has an option to 'clear' the whole mine, mark just the 'corners', or the standard full tracer.
    Found and fixed a sync task that was a possible cause of jitters. This helps when the server is under a heavy load.
    Added a /mtop command. /mines top which teleports a player to the top of the mine they are in.

Auto Configure - Major changes to add more default prestige ranks, and the ability to go back and add more ranks after your server is up and running without harming anything.
    Added support to reset all rank cost multiplier and rank costs to apply to all ranks on a ladder.

XPrison Enchantments - Added some basic support for using the XPrison enchantments. There are some limitations, and not all enchantments will work perfectly.

Placeholders -
    Disabled all placeholders in disabled worlds.
    New placeholder attribute to pass a player name to force a non-player placeholder request to use the specified player. This is useful for some scripting languages and other plugins.

Auto Manager -
    New fortune type: percentGradient. An alternative fortune calculation that is designed to be more linear distribution, based upon the tool's fortune.
    Able to use TokenEnchant's fortune level.

BlockConverters - Starting to use some minor features. The first being Event Triggers where a given block can force prison to trigger another plugin and allow that plugin to handle all processing for that block. Example is using a lucky block.

Prison compatibility: Added support for block metadata customModelData.
    This is only compatible with spigot 1.14.x and higher.
    Supported in prison mine bombs so you can customize the bomb's texture

Prison performance improvements:
    More options to fine tune control of the player cache, mine reset control, economy cache, etc...
    Need to produce a document that covers performance optimization for prison
    Some default settings have been changed to encourage better performance out-of-the-box

v3.3.0-alpha.15 Jul 8, 2023
Prison v3.3.0-alpha.15 - Alpha Release

The following is a highlight of changes for the alpha.15 release since the alpha.14 release.

- Full support for 1.20.x including the heights and blocks.

- Added support for Java 20.

- MineBombs - Added a new field specifically for use with item names which supports color codes.

- AutoFeatures - Fine tune block break priorities for custom events. New feature to process MONITOR and BLOCKEVENTS only if the current block is AIR. 

- New feature: If invalid player access, then TP player to their current mine.  Optional Setting.

- Expand Prison's debug block inspector: added more information.

- Updates to many internal libraries.

- Added support for silk touch

- Added a fortune multiplier - this is used to fine tune highly OP tools so the drops can be better controlled.

- Fix: Rev Enchants JackHammerEvent: found out that this event returns the corner blocks of a cuboid of blocks.  Now calculates all included blocks to process this event correctly.

- Sellall now partially works when ranks are disabled.

- Fixed problems introduced when config files were manually edited incorrectly and they were injecting null values in to some properties.

- Fixed how NBT-api is being shadowed and used to get it to work properly with Spigot 1.20.x.

- Minor fixes and enhancements: blockEvents, autoFeatures and monitor priorities, GUI Player Mine config options, prevent GUI configs from loading twice, when mining now can control non-prison placed blocks to pass through to be handled by bukkit, fix autosell when disabled, hooked up support for minecraft stats to track block mining, prevent zero drops if calcs are less than 1, fix sellall trying to sell an invalid stack, fix prison utils potion effects when no player is provided, support for ExaltedEconomy, able to bypass adding new players on startup, updated Prison's jar reporter to identify Java versions 19, 20, and 21, clarified  help on `/rankup` and `/presetige`, update of how topN is being processed, added topN stats which reports some of the core info.

v3.3.0-alpha.14b Mar 6, 2023
Prison v3.3.0-alpha.14b - Alpha Release

This alpha.14b release includes a few bug fixes that could cause issues when setting up the server.

* Prison has the ability in config.yml to shut down all command handling in listed worlds, of which, the examples used turned out to be actual world names that people were "trying" to use prison commands, of which, the behavior of prison was "nothing" which caused confusion and made it appear as if prison was broken. In reality, it was only following the config settings, without anyone realizing it. The new sample world names should not be as common.

* Prison Mine Bombs now has a specific field name in the config settings that is used for the bomb's item name. This can be different from the bomb's name and can contain color codes and supports a few simple placeholders.

* A number of fixes dealing with auto features and event priorities.

* Fixed a problem that Java 17.0.x introduced (other versions of Java may have had issues too).

* Updated some of the internal core libries.

* Prison now updates Mojang's minecraft statistics for mining blocks.

* French support added thanks to Maxcension! Thanks!

* Auto features fortune calculations: Added new features, including a global fortune multiplier and improvements in internal logging to track fortune calculations. 

v3.3.0-alpha.14 Jan 23, 2023
Prison v3.3.0-alpha.14 - Alpha Release

3.3.0-alpha.14 2023-01-23

The following are significant changes that are included in the alpha.14 release since the alpha.13 release was posted.

* Support for RevEnchants

* Added more flexibility in supporting Prison Event Listener priorities for block break events so prison is better suited to support more enchantment plugins under more conditions. Added ACCESS, ACCESSBLOCKBREAKS, and ACCESSMONITOR to provide far more flexibility when prison is NOT managing the block breakage.

* General improvements in how Auto Features manages the event listeners for all of the block break events. Includes some bug fixes and performance improvements too.

* Preparing to support ItemsAdder... will be available in next alpha release.*

* Prison Placeholders: Added a few more, fixed a few bugs, and improved documentation so its easier to understand how to use them. Added more features to the command `/prison placeholders stats`. The stats command can actually be used to troubleshoot issues with third-party plugins trying to use prison placeholders.

* Top-n reports and placeholders: bug fixes and added a few more features.

* Mine commands: refactor and improvements to some of the general mine commands.

* Prison Placeholders: general bug fixes and performance improvements with the placeholder cache.

* Prison's bstats: Expanded the reports that are being included.

* Prison Command Handler: ability to lockout players from commands and tab-completes based upon perms.

* Mines GUI Bug fixes: fixed a few issues.

* Issue with vault not working with essentials: Not able to access player's balances through vault and provided alternative paths to resolve this issue.

* Prison support new feature: tracking command usage along with average run times: `/prison support cmdStats`.

* Improved some of the `/prison support submit` features to include more of the newer data that prison is using.

* Updates to a number of libraries that prison uses:
placeholderApi: v2.10.9 to v2.11.2
XSeries: v9.0.0 to v9.2.0
item-nbt-api: v2.10.0 to v2.11.1

* Removal of support for MVDW placeholders since it's not able to support some of prison's advanced features, plus it's 100% redundant since PlaceholderAPI works in conjunction with it. No loss of service since PAPI is a better solution and works with MVDW.

* Added a Prison Backup feature that can make a backup of all the settings within prison's plugin directory (small zip file backups). It is setup to make a backup whenever it detects a change in the prison versions. In the future, it could be automated to make snapshots of all settings and player status so there can be abilities to "rollback" to a prior instance.

* Added new translations: Finnish, Chinese,

* Enhanced the player GUIs for mines and ranks to use NBT to control the options to simplify how the options work. Eliminated a lot of old code and added more flexibility.

* Enable the sellall command to be ran from the console or from a prison command.

* Enhanced the debug logging detail related to the auto features. Provides better logging for troubleshooting.

* Using a static global setting for decimal formatting to better control how numeric formatting works with various language settings.

* Able to now control suffocation in the mines, so you can now allow players to die if they logged out within a mine and they log back buried in rock.

* Able to control mine reset teleportation controls.

* Added direct support for translating placeholders through the Prison API so its easier to use externally through another plugin.

* Now able to set a prestige rank tag to use for players that do not have a prestige rank. This allows for better customization for chat prefixes.

* Fixed a bug when trying to move a mine from one world to another world. There was a conflict with an internal value not being cleared/reset.

* Fixed a Prison Mine Bomb bug that was making them incompatible with bukkit 1.8.8.

* Fixed a bug with how a vector's length was being calculated. Not sure how frequently this would have been used.

* Refactoring Prison Backpacks. Getting ready to hook them up to a new internal backpack cache to improve performance. Not yet completed.

* Fixed bug with /rankupmax and rewrote prestiges to better align it with the ranks module instead of relying upon the GUI code to manage it.

* Enhanced many mine and rank commands to apply changes to all ranks or all mines with one command to make it easier to customize prison.

* New feature setting (optional): Forced rankup as soon as the player earns enough money through sellall.

* New feature setting (optional): Forced sellall before performing a prestige.

* New feature setting (optional): Prevent access to prior mines when ranking up. This foces the player to only have access to mines that are linked to the current rank. This feature allows the use of Mine and TP access by rank instead of having to setup complex settings with perms through a permission plugin. 

v3.3.0-alpha.13 Aug 26, 2022
Prison v3.3.0-alpha.13 - Alpha Release

Highlights of some of the changes included in this alpha.13 release. Please see the change logs for all details.

* Added a new tool: `mines tp list` which will show a player all of the mines they have access to.  They can also click on a listed mine to generate the TP command.  This command can also be ran from the console to inspect what players have access to.
* Fixed a recently introduced bug where if the server starts up, but someone has no ranks, it was not able to properly assign them their first default rank. It was leading to circular references.
* Fixed an issue with color codes not being translated correctly with placeholderAPI.   
* Prison has a rank cost multiplier where ranks on different ladders can increase, or decrease, the cost of all ranks the player buys.  So when they prestige, it makes ranks A-Z cost more each time.  What's new is that now you can control which ladders these rank cost multipliers are applied to, such as not on prestiges, but only on default.
* Fixed calculations of the placeholder `prison_rank__player_cost_rankname`.  It was not fully working with every possible rank on every possible ladder.  Now it works correctly if trying to get the player's cost for even many prestige ranks out (it includes cals for all A-Z mines at multiple passes).
* Mine bombs: Changed to only allow mine bombs to be setoff withn mines the player has access to. Fixed an issue with color codes within the mine bomb's tags.
* Fixes issues with NBT, color codes with prison broadcast commands.
* Rewrote topN for better performance: `/topn`. Older players are archived within topN and can be queried: `/topn archive`. 
* Update ladder details on a few commands.
* Update XSeries from v8.8.0 to v9.0.0 so prison now supports 1.19.x blocks.
* Bug fixes with first join events.  Bug fix with a few guis.
* CMI update: If CMI is detected at startup, and delayed startup is not enabled, prison will go in a simple delayed startup mode to allow CMI a chance to enable it's economy through vault.  This reduces the learning curve with CMI users.
* New feature: Prison will now make an auto backup of all files in it's directory when it detects a change in version.  Can manually backup too. The backup stores temp files then removes them from the server, this helps keep the server clean.
* Update bstats: Gained control of the account and started to add useful custom reports to help zero in on what we need to help support.
* More work on block converts. Will be added in the next alpha releases.
* Bug fixes: mines gui fixes for virtual mines.  Sellall bug fixes. Placeholders fixes.


v3.3.0-alpha.12 Jun 25, 2022
Prison v3.3.0-alpha.12 - Alpha Release

Prison has been updated to fully support 1.19.

Significant improvements to the placeholder resolution and handling. Enabled a pre-cache to provide faster identification of placeholder matching. Post caching (caching the actual values) will be added in the near future. Performance can be significantly improved. Starting to add a `/prison placeholders stats` command to see how many requests are hitting prison.

Many other improvements and bug fixes... Adding the core support for Block Converters which will replace the auto features' smelting and blocking. Block Converters will be able to control custom drops and even provide different drops for different players based upon perms. Block Converters will be a very powerful tool to totally customize everything related to blocks and items.

For more information on what's included, please see the the change log:

v3.3.0-alpha.10 Apr 2, 2022
Prison v3.3.0-alpha.10 - Alpha Release

This alpha.10 release includes many significant performance improvements and bug fixes.  Although this is an alpha release, it is proving to be stable enough to use on a production server.  Please make backups and test prior to using.  This v3.3.0-alpha.10 release is "still" backwards compatible with v3.2.11 so you should be able to down-grade back to v3.2.11 without major issues. The breaking changes that will be in the final v3.3.0 release have not been applied yet to these alpha releases.

Please see our discord server for the full listing of all bug fixes and improvements, there have been more than 70 updates since the alpha.9 release.  The following is just a simple short list.

- Many bug fixes.  Some that even predates the v3.2.11 release.  

- Performance improvements: startup validations moved to an async thread. Slight delay between mine validations to allow other tasks to run (needed for less powerful servers). Improvements with sellall performance.

- Added more support for Custom Items (custom blocks)

- Added support for top-n players and added over 30 new placeholders.  Top-n support for blocks mined and tokens earned will be added shortly too.

- Upgraded internal libraries: bstats, XSeries, gradle, custom items, and a couple others.

- Many fixes: Mine bombs, sellall, autosell, auto features, block even listening and handling.

v3.3.0-alpha.9 Feb 28, 2022
v3.3.0-alpha.9 - Prison Alpha Update

This is an alpha release to the upcoming v3.3.x releases for prison.

This release fixes a few major performance issues, a couple of major bug fixes, and a possible exploit present in v3.2.11 and earlier releases of v3.2.x.

Because this alpha fixes so many issues, it is strongly recommended to migrate to this alpha, until v3.3.0 is released. But please backup prison's configs, and even the whole server to be safe.

This includes numerous bug fixes and major rewrites of many performance demanding components, such that, this alpha release performs the best and is able to handle a larger number of players. Areas of improvement include auto features, mine bombs, GUI, sellall, asynchronous mine resets, prison command handling (admin supplied commands tied to many actions and events within prison), etc.. Some obsolete internals have been removed, such as Prison's old-block model.

See the discord server's #alpha-versions channel for the full list of changes. Incremental releases will be posted there. Please visit our discord server for assistance and support.

Future alpha releases for Prison v3.3.x will be breaking from v3.2.11, but this alpha still is capable to be downgraded to v3.2.11. Newer features and settings may be dropped, but the settings should still functional in an v3.2.11 environment. Ensure you backup your settings before using. 


v3.2.11 Jan 22, 2022
v3.2.11 - Prison Update

Prison supports:
 - Java 1.8 through Java 17.
 - Spigot 1.8 through 1.18, and other platforms based upon Spigot.

* Many updates and bug fixes. Please see the change log for all of them. Below is just a limited summary of some of the more important updates.

* Asynchronous mine reset enablement

* Prison can now be disabled completely on a per world basis.  See setting in config.yml.

* If the server is missing an economy plugin, prison now does a better job at communicating what the problem is so it can be fixed quickly. An economy plugin is required for the ranks module to function.

* Added a debug mode for inspecting a block.  To enable, enable prison debug with `/prison debug` then while holding a prison wand `/mines wand` click a block and it will show a couple of lines tied to the information that prison has recorded for that block.  If you shift-right click a block, then prison will check each event listener to see what it does with the block.  It will report when a block event is canceled and other details, on a per listener basis.

* Start to add tokens to prison.  Players can now earn tokens while mining. Its a work in progress, but they cannot spend them yet.

* Updated block constraints so blocks can be spawned in specific layers within a mine, and with a minimum or maximum amounts.

* Placeholders - Prison now has 258 placeholders, including aliases.  Added many placeholders and improve a few that were having some issues.  There are still more that are planned to be added.

* Added new Prison Mine Bombs - Work in progress - Basics exist and have a lot of functionality, but more work will be done to add new features and address issues when found and reported.  If you have ideas, or need something specific, please visit our discord server and talk to Blue.

* Coming Soon: Mine Region. Mine effects that are applied to Mine Regions. Mine Effects will include potion effects like night vision, and other effects such as no hunger, no fall damage, and fly.  Also may be adding enchantments soon too.  

* Significant improvements for handling multi-block explosions with a major rewrite to improve the overall performance within the handling of block break events within the auto features. Many changes to improve performance on a per-block basis, and to prevent a block from being counted more than once when many different players are trying to break, or explode the same blocks.

* Significant updates to most Prison GUIs and sellall

**NOTE:** It is currently recommended that the old Prison Backpacks should not be used at this time.  They will be rewritten shortly to address the current issues. 

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.

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.

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