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.
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.
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
The following is a highlight of changes for the alpha.17 release since the alpha.16 release.
* Mines: Added more support for the use of '*all*' for mine names so more of the mine commands will be able to apply to all mines.
* **Upgrade XSeries to v9.7.0 from v9.4.0.**
* **Upgrade XSeries from v9.7.0 to v9.8.0.**
* **XSeries: Upgrade from v9.8.0 to v9.9.0**
* **Upgrade nbt-api from v2.12.0 to v2.12.2.**
* **PlaceholderAPI: Upgrade from v2.11.2 to v2.11.5**
* **Breaking change in XSeries: GRASS has been changed to SHORT_GRASS for v20.0.4!** It's disappointing to say the least that after all of these years, XSeries screwed up and pushed a breaking change to their repo. They should have kept GRASS so they would have remained compatible will all past code and configs that had to refer to GRASS directly, but nope... they opted for causing problems. Very disappointing.
Setup a converter to automatically convert all GRASS to SHORT_GRASS as the mines are loaded.
* **Bug Fix: Mine resets and block constraints.**
This fixes a few issues with block constrains using min and max, along with exclude from top and bottom too.
* **Bug Fix: GUI ranks, mines, and prestiges were not using the default item name correctly.** It was using the template correctly, but was not translating the use of placeholders. Only name and tag are supported.
Mines: `{mineName}` and `{mineTag}`
Ranks and prestiges: `{rankName}` and `{rankTag}`
* **config.yml - changed the default values for remapping aliases and restricting players from using commands.**
The default, which used `/mines tp` was actually causing conflict with normal usage.
* **AutoFeatures auto permissions: enable the ability to 'disable' the perms.** Any op'd player, if perms are enabled, will have these auto features enabled. There is no other way around this, since this is the correct behavior of OP'd players.
* **Mine resets: If a mine reset takes longer than 4 minutes, then that is probably a failure and the mine reset did not complete.** Therefore, reset the mine reset mutex and try again. This allows a "crashed" mine reset to auto fix itself if it can. The 4 minute wait time is LONG, but it will prevent a normal reset from being canceled and restarted in the middle of a restart.
* **Performance: Changed the defaults for the mine reset settings to help improve the performance on larger servers.**
The older settings would allow other commands to backup and it would appear as if there was lag happening, TPS would rarely drop below 20. This helps to keep performance a little more responsive.
The side effect is that there will need to be more "chunks" submitted which could possibly result in longer wall-time for mine resets.
* **Mine resets: If a suggested block is null, then set it to air. This was causing an NPE under some conditions.**
* **BlockEvents: Added the ability to update block events**
instead of deleting them and re-adding them. Follow directions when using '/mines blockevent update help', or whenever a block event listing is shown in game, you can now click on the commands to auto populate the block event update command... then just edit the needed changes and submit.
* **Mines: Fixes an issue for when mines are disabled and they are being checked in other processes to see if they are active.**
If the instance of PrisonMines is null, then it will create a temp instance just to prevent an NPE.
* **Prison Block change: Add support for display name, which is optional.**
Setup sellall so it can use the display name now, so renamed items will not be mistaken for vanilla minecraft items.
More work needs to be done to hook up displayName to other features, such as sellall and add prison block to mines.
* **Bug fix: Fixed the command `/mines set accessPermission` where it was apply the given perm to all mines.**
Likewise, all mines parameter was failing to do anything.
* **NOTE: This alpha version "should" support spigot 20.0.4.**
After a few days, if no other issues surface pertaining to 20.0.4, or other related plugins, this will be released as a public release.
* **Fix issue with BlockEvent's SellAll when isAutoSellIfInventoryIsFullForBLOCKEVENTSPriority feature is enabled.**
This was not using the correct new functions that checks to see if a player can use autsell, or if they have it temporarily toggled off. This also checks to see if the player has the correct perms, if perms are enabled for the sellall event.
* **alpha.16a - 2023-12-28**
NOTE: I just noticed that alpha.16a was never committed. So this is not the correct location of when it was set with the local builds.
* **updated the help on the `/mines block constraint` to indicate that the layer count is originating from the top, not the bottom.**
* **Bug fix: Player manager startup: fixed a problem where all players were being updated** even though they did not have a name change. Only when name changes are detected are the files updated or when a new player is found.
* **Mines set resetTime: fix typo in the description where it shows '*all' instead of '*all*'.**
* **ranks ladder: applyRanksCostMultiplier command was changed to allow the value of 'true' to be used along with the value of 'apply'.** This helps to eliminate some confusion on how the command works.
* **Bug fix: Prison command handler. When players are de-op'd, and they do the commands such as `/ranks help` or `/mines help` it was incorrectly showing other sub commands they did not have access to.**
This now shows the correct sub commands that they have access to.
* **Placeholders: topn players - bug fix. If a player did not have a prestige rank, then it would cause a NPE when using the `prison_top_player_rank_prestiges_nnn_tp` placeholder.**
Just check to ensure its not null... if it is, then return an empty string.
* **Bug fix: prison support submit: if the bukkit system cannot extract a file from the jar**, such as plugin.yml, this will prevent the failure of the command. This will allow the command to continue being processed, but may just skip the extraction.
* **Placeholders: Top player rank was using the wrong ladder, which was incorrectly the prestiges rank and not the default rank.**
Correcting the rank fixed the problem. This only was an issue if the player did not have a prestige rank.
* **Bug fix: GUI configuration: Found a problem that when configuring the gui initial settings, that there were problems when trying to access mines and ranks when they don't yet exist.**
* **File saving: alternative technique for saving files. Do not use!**
This is a more dangerous technique that could possibly result in lost configurations. This is being provided as a degraded service if the fail-safe technique is not working ideally on a degraded server.
This should never be used, unless directed by a prison support admin.
* **Prison startup bug: There was an issue with the prison startup when there was an error and prison tried to log the error**, only to find that resources that were needed for logging were not yet loaded nor were their dependencies. This fixes some of the entanglements to allow the error messages to be properly logged.
* **Import Mines: Added the ability to import mines from JetPrisonMines config files.**
`/mines import jetprisonmines help`
* **Prison Command Handler: using config.yml you can now change all of prison's root commands with 'prisonCommandHandler.command-roots'.**
Can now map 'prison', 'mines', 'ranks', 'gui', 'sellall' to all new command that you want.
**3.3.0-alpha.16b 2024-02-24**
* **Mine imports: Fix some minor issues to get this to work even better.**
* **Mines import: prevent the processing of an importing of a mine if there are problems with the mine's name, or locations.**
* **Mine skip reset: If a mine is reset, send a message to players, but only if the message is defined and not empty: 'skip_reset_message='**
* **Player sellall Multipliers: Fixed the ranks multiplier to include all ranks that are defined within the sellall multipliers.**
Added a new function that will gather and list all multipliers that go in to the calculation of the player's total multipliers, which includes the rank multipliers (the sellall multipliers) and also permission based multipliers.
This detailed list of the individual multipliers, is viewable for each player that is online with the command `/ranks player <player>` and reveals the actual details of how it's calculated.
* **AutoSell: Bug fix: When autosell and sell on inventory is full was all turned off, it would still sell.**
This fixes some of the logic to simplify the code, and to fix those issues.
* **Mine skip reset messaging: Did not have it hooked up in the correct location, so the skip messages were not happening.**
* **Mine reset: Under heavy load when performing a mine import, there were seen occasionally errors with concurrent modification errors.**
Code was changed to minimize that possibility.
* **Sellall and GUI message failures: a number of messages that would indicate the player does not have access to that command were changed to remove the permission from the message.**
This was requested by a couple of admins because they did not want the players to see the internal workings that would otherwise control how the software would behave.
* **Block lists: Added the total chance percentage to be displayed with the blocks.**
* **File output technique: Changes to how the "replace" existing files works.**
If the file does not exist, then it opens it to create it, otherwise it truncates it.
* **Mine bombs: Ability to prevent a bomb's blocks from count towards the player's block totals.**
* **Sellall and autosell: Refinements were made to the handling of the sellall settings to better stabilize the use of the commands.** Setting status for the players were moved to the player objects and is now used in all of the related calculations so there is better stability and consistency.
* **Bug fix: the check for the time the reset has been going on was incorrect and was fixed.**
Also all the code for submitting the reset task was moved in to the mutext. Now, if the reset got hung up, this will properly terminate it and resubmit it.
* **File format: Eliminate the check for file types since there is only one.**
Currently there isn't a setting to specify what it should be.
* **Mines block layerStats: Added a new command that shows which blocks are in each layer in the mine.**
There are a lot of future enhancements that can be added to this command, such as checking the actual blocks to see if they are still there, or if there was a problem with the spawning of the blocks.
* **Mines block layer: Added colors for same IDs so it's easier to read.** Added a check that sees what block actually exists. If counts of what should have spawned match whats in the mine for that layer, then it shows only one number. It shows two numbers if a block's intended spawn does not match what's in the mine.
* **Mine reset: added a force to the reset so it will ignore an existing mine reset and allow a new one to begin.***
When a mine is being reset, there is no way to actually cancel it. So this allows a large mine to undergo multiple concurrent resets. Use at your own risk.
* **Mine resets: Reworked how prison is selecting random blocks per layer, to properly include constraints.**
The addition of various new features in the past made a mess of the logic, so it's been cleaned up greatly so it now makes sense and should work properly now.
There is a slight risk, that as blocks are removed from a layer due to reaching it's max constraint value, that future random selections were missing blocks selections and was then inserting AIR. This fixed code now will insert a filler block which has been selected with no constraints, and the largest chance value.
* **mines block layerStats: rewrote to improve and get rid of the collection manipulations.**
Found potential problem with air being inserted in to mines.
Renamed a lot of uses of Location objects to include the name "location" in their variable names instead of "block".
* **New feature: TopN customization now possible. The messages and placeholders that you can use are located in the core multi-language files.**
See the bottom of the files for instructions on usage.
TopN data is set to delay load so it does not lengthen the startup process. As such, it now reports that the data is being loaded so it is now clear why there are no entries in the list initially.
* **Prison support listeners: added support for listening to and providing dumps for PlayerDropItemEvent, PlayerPickupItemEvent, and BlockPlaceEvent.**
* **Promote & Demote: Improved upon reporting issues with the command.**
There were few situations where the command would exit without reporting why, which was leading to difficulties with using the command effectively.
* **Mine bombs: add support for BlockPlacementEvent so if someone is using a Block they can use it as the mine bomb's item.**
* **Prison's NBT: Add support for using NBTs with bukkit's Block.**
* **PlaceholderAPI: Upgrade from v2.11.2 to v2.11.5**
* **XSeries: Upgrade from v9.8.0 to v9.9.0**
**3.3.0-alpha.16c 2024-03-11**
* **Mine Bombs: wrapped up the changes to enable the placement of a mine bomb when using the BlockPlaceEvent which is used when using a block for the bomb's item.**
* **Prison ItemStack: remove enchantments from the core ItemStack since prison cannot properly represent it in versions lower than 1.13.x**, plus it was wrong for all spigot versions greater than 1.12.x.
Added the proper enchantment functions to the SpigotItemStack object.
* **Sellall: New command: '/sellall items inspect'**
This new command will inspect what the player is holding, and dump the details so the admin can see exactly how an item/block is created, including lore and enchantments.
Eventually this information can be used to enhance the ability to sell and buy non-standard items by allowing the admins to filter on lore, enchantments, and/or NBTs.
* **SpigotPlayer: Fixed a potential issue if trying to use getRankPlayer() if the ranks module is not enabled.**
Added a check to ensure it's active.
We have not seen any reports of issues related to this.
* **Prison API: Added a few new functions to work with ItemStacks.**
* **Localization: If admin adds extra parameters, or other parsing failures, happens on a message, the error will now be trapped and logged to the console without formatting.**
* **Economy: For economies that prison supports that has a method to check if the player has an account, prison now tries to check if there is an account for the player before trying to use the economy.**
This could potentially prevent issues or run time failures.
* **Player Manager: Secondary Placeholders: Setup the secondary placeholder support on the PlayerManager, but it has not been enabled yet** since secondary placeholders on placeholders do not make a lot of sense because each placeholder is only one value and they cannot contain alternative text. At least not yet.
* **Localizable: Secondary placeholders: Rewrote the whole support of secondary placeholders related to players.***
Expanded the support by making them generic so other data sources can also have their own custom set of placeholders too. Such as mines.
This now supports a new interface that will provide the generic support.
Player's commands have been modified to pass a RankPlayer object, which supports the new interface. Non-player commands have not been converted since players will never see those messages (such as admin commands).
* **Placeholder bug: The placeholder 'prison_rankup_cost_percent' uses the calculated value of a percentage, but when used with the placeholder attribute, it was found to use the price instead.** As such, the actual value returned for the placeholder was incorrect.
* **Mines messages: Secondary placeholders. Added support for mines' messages to be able to support secondary placeholders within the language files. NOTE: Not usable at this time.**
But... this is basically useless. Within the mines language files, the vast majority of all messages are related to admin messages and are not viewable by the players.
Therefore the admin-only messages will not support the secondary placeholders since the players will never see them.
At this time, there are no messages that supports the use of these secondary placeholders, although the feature has been enabled for mines.
If a need is required, then please reach out and request such features should be enabled. At this time, effort and work will not be performed blindly upon items that will never be used, so if you see a need for this, I'd be happy to add them since you would have a need.
The following is a highlight of changes for the alpha.16 release since the alpha.15 release. For a full list of all changes, please see the change log.
* 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 auto features 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
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.
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.
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.
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.
Prison has been updated to fully support 1.19.
(edit: fixed issue with '/gui mines' and virtual mines)
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.
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.
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.
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.
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.
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.
* 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.
* 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:
* 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.
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 bring 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
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 (turns on stat details)
* /mines reset *all*
* /mines list
* /mines info <mineName> all
* /mines stats (turns off stat details)
*
* /ranks ladder list
* /ranks players all all
* /ranks list <ladderName>
* /ranks info <rankName> all
* /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.
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.
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.
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.
This release provides new features, bug fixes, and optimizations.
New Features:
*
New Placeholders:
- Rank number - (4)
*
BlockEvents - Fire multiple events when breaking blocks in mines. Includes percent random chance, permissions, option to run inline or submit as a synchronous task, and link to block break events and/or TokenEnchant Explosion events.
*
Mine Liners - Now is saved with the mine so when moving or resizing mines it will now auto regenerate the liner.
- Mine Liners are now added to mines when running /ranks autoConfigure
* Many enhancements to the GUI, sellall, autosell, etc...
- Sellall now supports permission based multipliers
- Sellall now supports sellall signs
* Many bug fixes and performance improvements
* Initial support for 32-bit hex colors in v1.16.x clients
* Internal work:
- new block model is almost fully functional
- Improvements to player handler
- Additional support for many new blocks with the old block model
Many new features, updates, and performance improvements, with bug fixes too.
NOTE: Minor update to fix a
/mines block add issue.
* Major improvements to the prison command handler:
* New Feature: Ability to assign one or more aliases to a prison command to make it easier to use. Example: the gui /mines and /ranks for players.
* New Feature: Now supports tab completions for spigot v1.8 through v1.16.
* Found a couple bugs in command registration and fixed them.
* Display of sub commands now shows alias details for commands
* The primary command /prison now shows all of prison's root commands including any aliases
* Major New Feature: /ranks autoConfigure which works on new installs of prison. Cannot have any defined mines or ranks.
* Creates all ranks and virtual mines from A through Z and links them together.
* Assigns the basic rank commands for each rank to add perms for the players
* Auto generates blocks for each mine with increasing value from A to the most valuable blocks for Z
* Major New Feature: /mines set size will resize a mine by a number of blocks.
* Directions are top, bottom, north, east, south, west, and walls. Using walls with a positive number increases size in all horizontal directions by that number of blocks. A negative number decreases its size.
* Has the ability to "heal" the surrounding area when resizing so as to prevent voids from being left behind
* Can use this command to move mines
* Major New Feature: /mines set liner will wrap a mine with a 2D pattern in a 3D space.
* Adds walls and floor to the outside of a mine.
* Adds ladders to the walls of the mine
* Supports 9 different interesting patterns with more to be added
* The liner auto wraps where other blocks (ie. the ground) touches the mine. It has the command option of /force to wrap the mine fully along the specified edge; this is useful when the mine is in mid-air, such as when placing it in a void world.
* New Feature: /mines set tracer clears a mine and draws the outline of the mine with pink stained glass. This gives a great ability to see the full mine and is used with the other new commands /mines set size and /mines set liner.
* New Feature: Can now set a mines area based upon your feet location when using the /mines set area <mineName> feet. This is useful in void worlds where you cannot click on any blocks with the wand. This will auto generate a 1 x 1 x 1 mine that can then easily be resized with /mines set size command.
* Added a lot (over 100) of new block types for v1.16, v1.15, and v1.14 to the old prison block model. Still missing a few.
* Significant improvements to the gui's language support and support for permissions
* Bug fix: Delete mines works correctly now.
* Bug fix: /ranks list works with perms
* New feature: Mines now have tags! They have their own placeholders too.
* Many new placeholders related to mines, ranks, and even high bred player-mine placeholders that provide mine related placeholder details based upon which mine the player is actually in.
* Prison now supports 102 base placeholders, including their aliases (shortened placeholders)
* Placeholders for mine and ladders will have a dynamically created placeholder for each ladder and mine
* New feature: Ability to rename mines
* New Feature: Complex sorting of mines for /mines list and also the gui. Can define sort order of each mine, or to suppress a mine from the listing, which is helpful for child mines if building a parent/child relationship for mines.
* Bug fix: Corrected refund amount when using /rank demote on a player.
* Bug fix: Fixed issues with using vault. There was an issue when using different versions of vault due to a change in their api.
* New Feature: New command to move ranks on a ladder. /ranks ladder moveRank. Makes it easier to change their order.
* Added a warning if PlugMan is being used. Prison cannot be reloaded by plugman; must restart server.
* The command /prison placeholders reload will reload the placeholders so you don't have to restart the server.
* New Feature: Mines can be linked to Ranks now!
* New Feature: Added a plain type for logging messages. This eliminates "| info |" on mine reset notifications.
* New Feature: Added a few API commands to prison to make it easier for other plugins to modify and get information on ranks and mines.
* New Feature: Link ranks to Mines. This is not used yet directly, but will help allow for automation when changing or configuring mines and ranks in the future.
* New Feature: Virtual Mines! This is a major addition in that it adds a ton of flexibility to help auto configure the whole prison plugin. You can even create virtual mines in the console, configure everything, then just go online to set the location.
* Internal improvements on managing various managers and registration of commands.
* Improvements to error handling on logging if there are issues.
* Bug Fix: Fixed issue with usage of /mines wand. Players were reporting that they would trying to get a prison wand but would never get it. Added debug info and saw that prison thought they had many wands when none were shown in their inventory. Found an issue with prison trying to cache player data which included their inventory which caused the failure when they would log out and back in due to bukkit creating new inventory objects for them, but prison still had, and was using, their old inventory. Prison no longer caches bukkit player data.
* Eliminated the obsolete items.csv file.
* Rank tags now can include spaces, just like the mine tags.
* New Features: Ops can now TP players to mines using /mines tp command. This even works from the console.
* New behavior for mines failing to load if the world is not available. If Multiverse is installed, it will defer the loading of the mine until multiverse is fully enabled. Otherwise it will revert the mine back to a virtual mine which can then be placed in an active world.
* Removed some old prison code that has been non-functional for a long time.
* Updated many docs.
* New Feature: Added XP calculations and ability to drop XP orbs with auto manager. Can have XP added directly to the player if you do not want orbs to drop.
* Added a new feature to unregister all prison commands. This helps to move prison to better support a /reload. But that is not possible yet... if you need to reload prison, you must restart the server.
* Fix bug with prison command registration if the command already exists. Bukkit will auto prepend the supplied conflict prefix to make the command unique. This prefix could be applied multiple times. The problem was that if this would happen, prison was not capturing that information, nor was it redisplaying to the users so they would have no idea what command they would have to enter.
* Found that the scoreboard named Scoreboard-r was buggy and causing problems. Spent a lot of time tracking it to the correct lines of code in that plugin. Confirmed it was a bug in prison.
* Bug Fix: prison command handler was unable to properly register commands with uppercase letters. It would register them, but you wouldn't be able to use them.
* Fix how some commands are registered so they are tied to module registration. This helps ensure the commands that are related to a module are not enabled if the modules are not loaded.
* Many fixes to the gui, to various mine and rank commands. And many internal core functions.
Many new features, updates, and performance improvements, with bug fixes too.
NOTE: Minor update to fix a
/mines block add issue.
* Major improvements to the prison command handler:
* New Feature: Ability to assign one or more aliases to a prison command to make it easier to use. Example: the gui /mines and /ranks for players.
* New Feature: Now supports tab completions for spigot v1.8 through v1.16.
* Found a couple bugs in command registration and fixed them.
* Display of sub commands now shows alias details for commands
* The primary command /prison now shows all of prison's root commands including any aliases
* Major New Feature: /ranks autoConfigure which works on new installs of prison. Cannot have any defined mines or ranks.
* Creates all ranks and virtual mines from A through Z and links them together.
* Assigns the basic rank commands for each rank to add perms for the players
* Auto generates blocks for each mine with increasing value from A to the most valuable blocks for Z
* Major New Feature: /mines set size will resize a mine by a number of blocks.
* Directions are top, bottom, north, east, south, west, and walls. Using walls with a positive number increases size in all horizontal directions by that number of blocks. A negative number decreases its size.
* Has the ability to "heal" the surrounding area when resizing so as to prevent voids from being left behind
* Can use this command to move mines
* Major New Feature: /mines set liner will wrap a mine with a 2D pattern in a 3D space.
* Adds walls and floor to the outside of a mine.
* Adds ladders to the walls of the mine
* Supports 9 different interesting patterns with more to be added
* The liner auto wraps where other blocks (ie. the ground) touches the mine. It has the command option of /force to wrap the mine fully along the specified edge; this is useful when the mine is in mid-air, such as when placing it in a void world.
* New Feature: /mines set tracer clears a mine and draws the outline of the mine with pink stained glass. This gives a great ability to see the full mine and is used with the other new commands /mines set size and /mines set liner.
* New Feature: Can now set a mines area based upon your feet location when using the /mines set area <mineName> feet. This is useful in void worlds where you cannot click on any blocks with the wand. This will auto generate a 1 x 1 x 1 mine that can then easily be resized with /mines set size command.
* Added a lot (over 100) of new block types for v1.16, v1.15, and v1.14 to the old prison block model. Still missing a few.
* Significant improvements to the gui's language support and support for permissions
* Bug fix: Delete mines works correctly now.
* Bug fix: /ranks list works with perms
* New feature: Mines now have tags! They have their own placeholders too.
* Many new placeholders related to mines, ranks, and even high bred player-mine placeholders that provide mine related placeholder details based upon which mine the player is actually in.
* Prison now supports 102 base placeholders, including their aliases (shortened placeholders)
* Placeholders for mine and ladders will have a dynamically created placeholder for each ladder and mine
* New feature: Ability to rename mines
* New Feature: Complex sorting of mines for /mines list and also the gui. Can define sort order of each mine, or to suppress a mine from the listing, which is helpful for child mines if building a parent/child relationship for mines.
* Bug fix: Corrected refund amount when using /rank demote on a player.
* Bug fix: Fixed issues with using vault. There was an issue when using different versions of vault due to a change in their api.
* New Feature: New command to move ranks on a ladder. /ranks ladder moveRank. Makes it easier to change their order.
* Added a warning if PlugMan is being used. Prison cannot be reloaded by plugman; must restart server.
* The command /prison placeholders reload will reload the placeholders so you don't have to restart the server.
* New Feature: Mines can be linked to Ranks now!
* New Feature: Added a plain type for logging messages. This eliminates "| info |" on mine reset notifications.
* New Feature: Added a few API commands to prison to make it easier for other plugins to modify and get information on ranks and mines.
* New Feature: Link ranks to Mines. This is not used yet directly, but will help allow for automation when changing or configuring mines and ranks in the future.
* New Feature: Virtual Mines! This is a major addition in that it adds a ton of flexibility to help auto configure the whole prison plugin. You can even create virtual mines in the console, configure everything, then just go online to set the location.
* Internal improvements on managing various managers and registration of commands.
* Improvements to error handling on logging if there are issues.
* Bug Fix: Fixed issue with usage of /mines wand. Players were reporting that they would trying to get a prison wand but would never get it. Added debug info and saw that prison thought they had many wands when none were shown in their inventory. Found an issue with prison trying to cache player data which included their inventory which caused the failure when they would log out and back in due to bukkit creating new inventory objects for them, but prison still had, and was using, their old inventory. Prison no longer caches bukkit player data.
* Eliminated the obsolete items.csv file.
* Rank tags now can include spaces, just like the mine tags.
* New Features: Ops can now TP players to mines using /mines tp command. This even works from the console.
* New behavior for mines failing to load if the world is not available. If Multiverse is installed, it will defer the loading of the mine until multiverse is fully enabled. Otherwise it will revert the mine back to a virtual mine which can then be placed in an active world.
* Removed some old prison code that has been non-functional for a long time.
* Updated many docs.
* New Feature: Added XP calculations and ability to drop XP orbs with auto manager. Can have XP added directly to the player if you do not want orbs to drop.
* Added a new feature to unregister all prison commands. This helps to move prison to better support a /reload. But that is not possible yet... if you need to reload prison, you must restart the server.
* Fix bug with prison command registration if the command already exists. Bukkit will auto prepend the supplied conflict prefix to make the command unique. This prefix could be applied multiple times. The problem was that if this would happen, prison was not capturing that information, nor was it redisplaying to the users so they would have no idea what command they would have to enter.
* Found that the scoreboard named Scoreboard-r was buggy and causing problems. Spent a lot of time tracking it to the correct lines of code in that plugin. Confirmed it was a bug in prison.
* Bug Fix: prison command handler was unable to properly register commands with uppercase letters. It would register them, but you wouldn't be able to use them.
* Fix how some commands are registered so they are tied to module registration. This helps ensure the commands that are related to a module are not enabled if the modules are not loaded.
* Many fixes to the gui, to various mine and rank commands. And many internal core functions.
Many new features, updates, and performance improvements, with bug fixes too.
* Major improvements to the prison command handler:
* New Feature: Ability to assign one or more aliases to a prison command to make it easier to use. Example: the gui /mines and /ranks for players.
* New Feature: Now supports tab completions for spigot v1.8 through v1.16.
* Found a couple bugs in command registration and fixed them.
* Display of sub commands now shows alias details for commands
* The primary command /prison now shows all of prison's root commands including any aliases
* Major New Feature: /ranks autoConfigure which works on new installs of prison. Cannot have any defined mines or ranks.
* Creates all ranks and virtual mines from A through Z and links them together.
* Assigns the basic rank commands for each rank to add perms for the players
* Auto generates blocks for each mine with increasing value from A to the most valuable blocks for Z
* Major New Feature: /mines set size will resize a mine by a number of blocks.
* Directions are top, bottom, north, east, south, west, and walls. Using walls with a positive number increases size in all horizontal directions by that number of blocks. A negative number decreases its size.
* Has the ability to "heal" the surrounding area when resizing so as to prevent voids from being left behind
* Can use this command to move mines
* Major New Feature: /mines set liner will wrap a mine with a 2D pattern in a 3D space.
* Adds walls and floor to the outside of a mine.
* Adds ladders to the walls of the mine
* Supports 9 different interesting patterns with more to be added
* The liner auto wraps where other blocks (ie. the ground) touches the mine. It has the command option of /force to wrap the mine fully along the specified edge; this is useful when the mine is in mid-air, such as when placing it in a void world.
* New Feature: /mines set tracer clears a mine and draws the outline of the mine with pink stained glass. This gives a great ability to see the full mine and is used with the other new commands /mines set size and /mines set liner.
* New Feature: Can now set a mines area based upon your feet location when using the /mines set area <mineName> feet. This is useful in void worlds where you cannot click on any blocks with the wand. This will auto generate a 1 x 1 x 1 mine that can then easily be resized with /mines set size command.
* Added a lot (over 100) of new block types for v1.16, v1.15, and v1.14 to the old prison block model. Still missing a few.
* Significant improvements to the gui's language support and support for permissions
* Bug fix: Delete mines works correctly now.
* Bug fix: /ranks list works with perms
* New feature: Mines now have tags! They have their own placeholders too.
* Many new placeholders related to mines, ranks, and even high bred player-mine placeholders that provide mine related placeholder details based upon which mine the player is actually in.
* Prison now supports 102 base placeholders, including their aliases (shortened placeholders)
* Placeholders for mine and ladders will have a dynamically created placeholder for each ladder and mine
* New feature: Ability to rename mines
* New Feature: Complex sorting of mines for /mines list and also the gui. Can define sort order of each mine, or to suppress a mine from the listing, which is helpful for child mines if building a parent/child relationship for mines.
* Bug fix: Corrected refund amount when using /rank demote on a player.
* Bug fix: Fixed issues with using vault. There was an issue when using different versions of vault due to a change in their api.
* New Feature: New command to move ranks on a ladder. /ranks ladder moveRank. Makes it easier to change their order.
* Added a warning if PlugMan is being used. Prison cannot be reloaded by plugman; must restart server.
* The command /prison placeholders reload will reload the placeholders so you don't have to restart the server.
* New Feature: Mines can be linked to Ranks now!
* New Feature: Added a plain type for logging messages. This eliminates "| info |" on mine reset notifications.
* New Feature: Added a few API commands to prison to make it easier for other plugins to modify and get information on ranks and mines.
* New Feature: Link ranks to Mines. This is not used yet directly, but will help allow for automation when changing or configuring mines and ranks in the future.
* New Feature: Virtual Mines! This is a major addition in that it adds a ton of flexibility to help auto configure the whole prison plugin. You can even create virtual mines in the console, configure everything, then just go online to set the location.
* Internal improvements on managing various managers and registration of commands.
* Improvements to error handling on logging if there are issues.
* Bug Fix: Fixed issue with usage of /mines wand. Players were reporting that they would trying to get a prison wand but would never get it. Added debug info and saw that prison thought they had many wands when none were shown in their inventory. Found an issue with prison trying to cache player data which included their inventory which caused the failure when they would log out and back in due to bukkit creating new inventory objects for them, but prison still had, and was using, their old inventory. Prison no longer caches bukkit player data.
* Eliminated the obsolete items.csv file.
* Rank tags now can include spaces, just like the mine tags.
* New Features: Ops can now TP players to mines using /mines tp command. This even works from the console.
* New behavior for mines failing to load if the world is not available. If Multiverse is installed, it will defer the loading of the mine until multiverse is fully enabled. Otherwise it will revert the mine back to a virtual mine which can then be placed in an active world.
* Removed some old prison code that has been non-functional for a long time.
* Updated many docs.
* New Feature: Added XP calculations and ability to drop XP orbs with auto manager. Can have XP added directly to the player if you do not want orbs to drop.
* Added a new feature to unregister all prison commands. This helps to move prison to better support a /reload. But that is not possible yet... if you need to reload prison, you must restart the server.
* Fix bug with prison command registration if the command already exists. Bukkit will auto prepend the supplied conflict prefix to make the command unique. This prefix could be applied multiple times. The problem was that if this would happen, prison was not capturing that information, nor was it redisplaying to the users so they would have no idea what command they would have to enter.
* Found that the scoreboard named Scoreboard-r was buggy and causing problems. Spent a lot of time tracking it to the correct lines of code in that plugin. Confirmed it was a bug in prison.
* Bug Fix: prison command handler was unable to properly register commands with uppercase letters. It would register them, but you wouldn't be able to use them.
* Fix how some commands are registered so they are tied to module registration. This helps ensure the commands that are related to a module are not enabled if the modules are not loaded.
* Many fixes to the gui, to various mine and rank commands. And many internal core functions.
Many new features, updates, performance improvements, and bug fixes.
Fixes issues with integrations such as LuckPerms (all versions now supported) and added more integration support
Compatible with v1.16.x and should even work with v1.17.x too!
Upgraded Gradle to v5.6.4
Upgrade the core build version of prison to Spigot v1.13.2
Updated a lot of internals to be more compatible from v1.8.x through 1.16.x. Is only possible with spigot v1.13.2. Prison uses the versions specific code for the version of the server.
Now has over 80 placeholders, including aliases which a short abbreviations
Placeholders now exist for the mines, ladders, and even player-mines where it reports on mine statuses based upon which mine the player is in at he moment
Many new notification options
Many new mine related features
Mines now have mine commands so you can custom trigger mine related actions when they reset, both before and after the reset.
Players can now TP to mines by giving them new perms
Many new rank features
New GUI screens!
New Prestige system built in!
New selllall feature!
New automanager features: auto pickup, auto smelt, auto block. Can give global access, use as lore on tools and weapons, or through permission based access to customize your ranks and donor benefits!
New slime block physics! Ever wanted to jump about 60 blocks high? Enable it and give it a try by jumping on a slime block.
New extensive documentation, which is still a work in progress, but there is still a lot there.
Plus many more new features and fixes. Check out the change log within github master branch for far more details.
State of Prison Prison has clearly had its day in the sun a while ago and, while it's been a blast developing this alongside the community, we feel like we've done all we can with this plugin. Prison v3.2, when it's complete, will be a Long-Term Support (LTS) release that will be thoroughly tested, to ensure that the experience is smooth and bug-free, allowing the plugin to be unattended by us, the developers, for a while. Thanks for all of the support you've given us over the years!
Yo, what's with the version jump? We've jumped to v3.0.0 because v2.0.0 has already been released. This is just to avoid future confusion.
Merged all modules into the main JAR. Now, you only have to install one JAR file! This returns us to our original philosophy of an all-in-one prison plugin. Yay!
Added a modules.yml configuration file so that you can choose which modules you want to use.
API level has been bumped to 3 to reflect the major internal change.
Note: The version has been reset to be more consistent with semantic versioning.
At long last... the "Prison 3" recode is here! Since we're starting over with code base and versioning, consider this to be an
initial release with no change log.
Sorry for skipping 2.4.0, it was released on BukkitDev and I forgot to post it here!
As of Prison v2.4.0, Prison 2 has entered into a bugfix-only mode. This means that while issues will still be patched, we will be saving all new features for Prison 3. What does this mean? Prison 3 is almost here!
2.4.1 Fixes: Fixed bug where the item manager would not load anything, instead giving the message "Item manager is loading." (
#205)
2.4.0 Changes: - Fixed converter issue (
#201)
- New updater, with Prison 3 upgrade support
- Switched to bStats (new status page
here)
UPDATE: Due to the changes that Camoflauge100 made in Prison 2.2.3, this bug can't be undone. You will have to recreate your mine composition. The Prison Data Editor (which can be downloaded
here) can read the files, so use that if you have forgotten your mine composition.
NOTE: We are aware of a converter bug. For more info, click here
There may be a couple of other features on the way to finish Prison 2 with a bang, but other than that Prison 2 will enter a "bug-fix only" mode. There will be no 2.4.
EMERGENCY FIX Compiled plugin using Java 1.7 instead of Java 1.8, so now everyone can run it again.
FIXED pom.xml now uses dependencies that make sense.
REMOVED Removed DMP9 core.
UPDATE Updated for 1.8.8
Notice: This will be one of the last Prison 2 updates, unless there is a bug found with it. Prison v2.x.x versions will NOT be updated to MC 1.9 and support for it will be cutoff a week after Prison 3 releases. Prison 2 has survived through MC 1.7 and MC 1.8; together, we can make it go even further
ADDED 1.8 support - Support for the new blocks, fixed commands, and mines!
FIXED Fixed prefix colorization
FIXED Fixed issues with item manager.
FIXED Fill mode has been enhanced - instead of resetting only air blocks, it resets anything that is not supposed to be in the mine. For example, if you have a mine with Diamond and Granite, and if there is stone or a torch in it, it will remove the stone and torch but leave the diamonds and granite alone.
ADDED Added /mines setspawn to set a custom location for a player to be teleported to upon mine reset.