Skip to content

Release 2.9.0

Choose a tag to compare

@tastybento tastybento released this 08 Jul 01:51
0467d1c

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-loss setting 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 β€” GeneratorPreBuyEvent and GeneratorTreasureDropEvent for 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

  1. As always, take backups just in case. (Make a copy of everything!)
  2. Stop the server.
  3. Drop the new MagicCobblestoneGenerator jar into your addons folder and delete the old one.
  4. Restart the server.
  5. Review the new generator requirement options and the lose-tiers-on-level-loss config toggle if you want to use them.
  6. You should be good to go!

πŸ”‘ Locale note: New keys were added to en-US.yml for 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-loss setting was added (default false). It will be written to config.yml automatically 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

[PR #158] Fixes #88

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

[PR #162] Fixes #121

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

[PR #163] Fixes #117

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

[PR #161] Fixes #118

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

[PR #159] Fixes #106

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

[PR #157] Fixes #109

Buying a generator can now require an explicit confirmation before any money is taken, helping to prevent accidental purchases.

πŸ› οΈ Admin Reset Command

[PR #160] Fixes #149

A new admin command resets a player's island generator data β€” unlocked, purchased, and active generators β€” after a confirmation prompt.

πŸ”Œ New Cancellable API Events

[PR #153] [PR #154]

Two new cancellable events give other addons more control:

  • GeneratorPreBuyEvent fires before a generator is purchased, allowing a buy to be cancelled or inspected.
  • GeneratorTreasureDropEvent fires 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

[PR #155] Fixes #133

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

[PR #156] Fixes #123

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 GeneratorEvent base and a PlayerTargetCommand base 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.md to 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