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 - 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 - 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 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.