Conversation
Changed the cooldown handling by moving it to the mine bomb's core and created its own task to run to monitor it. Fixed issue with the older version of cooldowns not working properly with throwing the mine bombs.
…<perm>}' and '{ifNotPer:<perm>}'.
…efore this change you could see an armor stand appear for a fraction of a second before the invisibility kicked in. Now armor stands are being spawned elsewhere, set to invisible, then teleported to the intended location. At the point of teleportation, they would be invisible.
…:" and "ifNotPerm" are now working properly.
…, Location, and ArmorStand. These enhancements are to help support moving mine bomb animations back to core.
…few new bombs to use the newer animations.
…for a long time. This resulted in a build failure. The code is going to take the `/prison support saveToFile help` output, which is HTML based, and auto generate a table of contents with a lot of cross referenced hyper links. The intention is that if you load this document, you can quickly jump to any section of interest to help solve support issues. This will be updated and completed in the near future... nearer now that I accidentally committed it. ;) LOL
Hex color support was added to minecraft with spigot v1.16. Older versions of spigot will not work. No changes were needed to allow the hex support since prison was already handling support for hex colors. This is triggered with a prefix of '&#' followed by the 6 hex digits, such as '&#a1b2c3'. As a result, this simple hex color code will be translated by prison in to the code structure that spigot and paper will recognize: '&#a1b2c3' is converted to: '&x&a&1&b&2&c&3'
…newer TE API "ITokenEnchant". "TokenEnchantAPI" is still supported.
Hex color support was added to minecraft with spigot v1.16. Older versions of spigot will not work. No changes were needed to allow the hex support since prison was already handling support for hex colors. This is triggered with a prefix of '&#' followed by the 6 hex digits, such as '&#a1b2c3'. As a result, this simple hex color code will be translated by prison in to the code structure that spigot and paper will recognize: '&#a1b2c3' is converted to: '&x&a&1&b&2&c&3'
…onfirm if the function getPointsOnCircleXZ are producing the intended results.
…used in debugging and unit tests.
Animation speed controls how much the animation angles change by adding this value to the prior value. Smaller is slower, and larger is faster. Animation offset is used on animations that move the actual armor stands, such as orbital, orbital8, and starburst. If offset is zero, then it will result in a round orbit. If it non-zero, then it will rotate around a point outside of the original location. Multiple ArmorStand animations, like orbital8 and starburst, will offset each placed armorstand around the main Location, therefore creating interesting geometric patterns.
…the holograph remains in the same spot. Otherwise it would move with the first moving armorstand. Orbital, orbital8, and starburst move armorstands so this allows the name to remain stationary.
…of an ArmorStand. This never did work correctly since it was set on the bukkit object, which was not visible when wrapped with a prison object.
…ot accurate, and also the placed bomb location which is accurate. The SpigotPlayer is able to get the location where the player is looking. The placedBombLocation is derived by calculating the location where the player is looking when right-clicking to place a bomb, or it's from the location where the bomb item is sitting after its thrown.
…eation of an ArmorStand. This never did work correctly since it was set on the bukkit object, which was not visible when wrapped with a prison object.
…ore of the mine bomb's features and options. Added support to show the available Mine Bomb's animation patterns.
…nce, infinity, and orbital animations. Since bounce and infinity are radians based, the speed is divided by 16 to help slow it down, otherwise it would be way too fast. Normally, for these two animations, it was using an internal speed of 0.35, so now a comparable speed can be achieved with a value of 5.6. The other animations appear to be more ideal with an animation speed around 5.0, so this is a good common ratio to use.
…ot use an item. The purpose would be for showing only the holographic name, which is needed for animations that are actually moving the armor stand.
… finalized. If it's source, its been moved to a package with .wip.in the name. These may be deleted in the future or they could be used.
… indentation where needed.
…and fix indentation where needed.
…r it was related to block events and that this has nothing to do with the standard placeholders.
…al should not actually break anything, but if upgrading from a version using the old block models, upgrade to an earlier release first to take advantage of the automatic conversion. Removed a few other unused source related to the old non-functional troubleshooting.
…nd fix indentation where needed. First part.
…documents that will be needed in the next few phrases of Prison.
…up. This is a major problem on large servers.
…nd fix indentation where needed. Second part.
…nd fix indentation where needed. Third part.
…nd fix indentation where needed. Fourth part.
…nd fix indentation where needed. Fifth part.
…e I accidentally introduced a stray '.'.
… and fix indentation where needed. First part.
… and fix indentation where needed. Second part. 2026-03-15
…e placeholder processing, so it was not able to identify the player's location, which was preventing mineplayer placeholders from working.
… and fix indentation where needed. Third part.
… and fix indentation where needed. Fourth part.
… and fix indentation where needed. Fifth and final part. All basic clean ups has been completed with this set.
…nd the newer version v13.8.0 supports spigot 2026. Update the goals for future development projects.
Prison-3.3.1.jar <-- Support for spigot 1.8 through spigot 1.20.x Prison26-3.3.1.jar <-- Support for spigot 1.21.x and spigot 26 (manual build) NOTE: the latest release of paper will be fully supported in v3.4.0. Updated gradle config files && bumped to version 3.3.1
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
There were numerous changes that were made, here are some of the highlights:
Support Spigot 26 - Preliminary, but functional
Support Spigot 1.21.11
Updated libraries that Prison relies on:
Preparing for the v3.4.0 v4.0.0 releases
Added support for Spigot 1.21.10 and 1.21.11, including handling for new unknown blocks.
Initiated an architecture split into legacy (Java 1.8) and modern (Java 21) builds to maintain broad compatibility.
Upgraded core libraries, including item-nbt-api to v2.15.5 and XSeries up to v13.8.0, to support modern Spigot releases.
Massively improved performance for large servers (tested with 46,000+ players) by disabling pre-adding players on startup and removing bulk Bukkit offline player lookups.
Fixed multiple placeholder bugs, including NullPointerExceptions for offline players and incorrect player objects preventing mineplayer placeholders from working.
Added Premium Vanish support to reject block break events from vanished players and admins.
Fixed bugs related to selling inventory items held in the off-hand.
Fixed mine bomb item stack duplication issues that were causing lore and NBT data loss.
Introduced the ability to throw mine bombs with configurable throw velocities.
Added full Bukkit Entity support for mine bombs to enable complex armor stand animations like starburst, orbital, and bounce.
Added an option to bypass block validation, allowing the mining of falling sand and player-placed objects within mines.
Introduced a new BackpackEvent API to allow external plugins to hook into Prison's backpack auto-pickup and auto-sell processes.
Added an InventoryFullEvent to signal when a player's inventory becomes full.
Added a {range: } placeholder to generate random integer values within commands.
Added new global command placeholders {ifPerm:} and {ifNotPerm:} to conditionally control command execution.
Implemented support for highly customizable complex placeholders using the prison__ prefix.
Significantly enhanced sellall compatibility for handling custom blocks and blocks with custom names.
Added the /mines debugBlockBreak tool to test and troubleshoot block breakage events using external tools.
Completely rewrote the startup air block counting sequence to process one mine at a time, eliminating massive TPS lag.
Enabled the use of enchantments to trigger auto features like auto pickup, auto smelt, and auto block.
Created a /mines block preventDrops feature to stop specific blocks from dropping items.
Updated player file name formats to include player names and safely support Bedrock player UUIDs.
Introduced a /ranks reload players command to safely reload player files without requiring a server restart.
Added support for hex color codes in mine bombs and text formatting.
Integrated new economy support for EdPrison's economy and The New Economy.
Added zEssentials and zMenu as soft dependencies to ensure proper plugin loading order.
Fixed block selection rounding errors by using floor integer comparisons to prevent selecting the wrong adjacent block.