Release 2.9.0
Release Highlights
- π Prerequisite generators β Gate a generator behind others, so tiers must be unlocked in a designed progression.
- π§± OneBlock/AOneBlock gating β Require a specific AOneBlock phase or a number of blocks broken before a generator becomes available.
- βοΈ Re-lock level tiers on level loss β Optional
lose-tiers-on-level-losssetting re-locks level-unlocked generators if an island's level drops. - β¨ Activate on unlock β Generators can now activate automatically the moment they are unlocked.
- π° Purchase confirmation β Optionally ask players to confirm before money is taken for a generator.
- π οΈ Admin data reset β New admin command to reset a player's unlocked, purchased, and active generators.
- π New cancellable API events β
GeneratorPreBuyEventandGeneratorTreasureDropEventfor other addons to hook into. - πΊ Permission-gated generators are now revoked when an island's owner no longer holds the required permission.
Compatibility
βοΈ BentoBox API 3.14.0
βοΈ Minecraft 1.21.x
βοΈ Java 21
Upgrading
- As always, take backups just in case. (Make a copy of everything!)
- Stop the server.
- Drop the new MagicCobblestoneGenerator jar into your addons folder and delete the old one.
- Restart the server.
- Review the new generator requirement options and the
lose-tiers-on-level-lossconfig toggle if you want to use them. - You should be good to go!
π‘ Locale note: New keys were added to
en-US.ymlfor the prerequisite-generator selector, activate-on-unlock, purchase confirmation, the admin reset command, and OneBlock/AOneBlock requirement messages. Regenerate or update your locale files to pick up the new strings.
βοΈ Config note: A new
lose-tiers-on-level-losssetting was added (default false). It will be written toconfig.ymlautomatically on first load after the update.
πΊ Behaviour change: Permission-gated generators that were previously a permanent grant are now revoked from an island's unlocked and active lists when the current (online) owner does not hold the required permission β for example after an ownership transfer. Purchased tiers are preserved, so access returns if the permission is regained.
Legend
- π‘ locale files may need to be regenerated or updated.
- βοΈ config options have been removed, renamed, or added.
- πΊ special attention needed.
New Features
π Prerequisite Generators
Generators can now require one or more other generators to be unlocked before they become available. This lets you build proper unlock trees and multi-step progressions instead of a flat list of tiers. Prerequisites are configured through a new admin GUI selector in the generator edit panel.
π§± AOneBlock Phase Requirement
On AOneBlock game modes, a generator can now be gated behind a specific island phase, so tiers only become available as the island advances through its phases.
π§± OneBlock Block-Count Requirement
Generators can also be gated behind the number of blocks broken on a OneBlock island, unlocking tiers based on player progress rather than island level or economy alone.
βοΈ Re-lock Level Tiers on Level Loss
Restores the pre-2.0.0 behaviour where a generator unlocked by island level is re-locked if the island level later drops below its requirement. This is controlled by the new lose-tiers-on-level-loss setting and is off by default. Purchased tiers are always kept β only free, level-unlocked tiers are re-locked.
β¨ Activate on Unlock
A new per-generator option activates a generator automatically as soon as it is unlocked, saving players a trip to the GUI. It can be toggled from the generator edit panel.
π° Purchase Confirmation
Buying a generator can now require an explicit confirmation before any money is taken, helping to prevent accidental purchases.
π οΈ Admin Reset Command
A new admin command resets a player's island generator data β unlocked, purchased, and active generators β after a confirmation prompt.
π New Cancellable API Events
Two new cancellable events give other addons more control:
GeneratorPreBuyEventfires before a generator is purchased, allowing a buy to be cancelled or inspected.GeneratorTreasureDropEventfires when a treasure is about to drop from a generator, allowing the drop to be cancelled.
Both extend a shared GeneratorEvent base.
Bug Fixes
πΊ Revoke permission-gated generators when the owner loses permission
Previously, a generator unlocked via permission stayed unlocked forever, even after the island changed hands to an owner without that permission. Unlock status is now re-checked and permission-gated tiers are revoked from the unlocked and active lists when the online owner no longer holds the permission. Purchased tiers are preserved so access returns if the permission is regained; offline owners are left untouched.
Stable generator ordering
Generators are now ordered by their stable unique id rather than their friendly name, so the display order no longer shifts when generators are renamed.
Other Improvements
- Extracted a shared
GeneratorEventbase and aPlayerTargetCommandbase to remove duplication across events and admin subcommands [PR #149] - Expanded the test suite (MagicGenerator, GeneratorEditPanel, CommonPanel, MultiGeneratorSelector, admin reset) and restored the JaCoCo agent in the Surefire config
- Updated
CLAUDE.mdto match the current package structure
What's Changed
- π Add prerequisite-generator requirement by @tastybento in #158
- π§± Add AOneBlock phase requirement for generators by @tastybento in #162
- π§± Add OneBlock block-count requirement for generators by @tastybento in #163
- βοΈ Add option to lose level-gated tiers when island level drops by @tastybento in #161
- β¨ Add activate-on-unlock option for generators by @tastybento in #159
- π° Add optional purchase confirmation before buying a generator by @tastybento in #157
- π οΈ Add admin command to reset a player's generator data by @tastybento in #160
- π Add cancellable GeneratorPreBuyEvent by @tastybento in #153
- π Add cancellable GeneratorTreasureDropEvent for treasure drops by @tastybento in #154
- πΊ Revoke permission-gated generators when island owner loses permission by @tastybento in #155
- Stable generator ordering by unique id by @tastybento in #156
Full Changelog: 2.8.0...2.9.0