Skip to content

Releases: BentoBoxWorld/Upgrades

Release 1.0.2

14 Apr 00:11
f710abd

Choose a tag to compare

New in this release

Two data-persistence bugs have been fixed that caused all upgrade configuration and player progress to be lost on server restart:

  • Admin upgrade definitions not saved — Every change made through the admin GUI (upgrade name, description, icon, display order, price formulas, reward formulas, tier level counts, deleting prices/rewards) was stored only in memory and silently discarded when the server stopped. All 15 mutation handlers across EditUpgradePanel, EditTierPanel, and the individual price/reward configuration panels now call saveUpgradeData/saveUpgradeTier immediately after each change. [PR #84]

  • Player purchase levels not saved — When a player bought an upgrade, the level was incremented in the in-memory cache but never written to the database. On server restart all islands reverted to their pre-purchase levels. Both the legacy upgrade path (UpgradeAPI.doUpgrade) and the database-driven path (DatabaseUpgrade.doUpgrade) now persist the updated UpgradesData immediately after each purchase. [PR #84]

Compatibility

✔️ BentoBox API 3.14.0
✔️ Minecraft 1.21.x
✔️ Java 21

Upgrading

  1. Take backups of your server, for safety
  2. Download this jar and put it in your addons folder — delete the old one
  3. Restart the server
  4. You should be good to go!

What's Changed

  • Fix upgrade definitions and player levels not persisting to database on restart by @tastybento in #84

Full Changelog: 1.0.1...1.0.2

Upgrades 1.0.1

12 Apr 12:18
57ddc5e

Choose a tag to compare

Bug fix release for 1.0.0

Fixed

  • Example upgrades no longer regenerate on every restart after being deleted. The seeder now tracks which game modes have been seeded in a persistent .seeded-gamemodes marker file. To re-trigger seeding, delete that file from the addon data folder.

⚙️ Compatibility

✔️ BentoBox 2.6.0+
✔️ Java 21
✔️ Paper/Bukkit 1.20+
✔️ Vault (optional — required for Money price type)
✔️ Level addon (optional — required for Island Level price type)
✔️ Limits addon (optional — required for Block/Entity Limits rewards)

🔺 Updating — important notes

🔺 Complete reset required if not updating from 1.0.0. 1.0.0 release is a full rewrite and is not backwards-compatible with any previous Upgrades configuration. Remove your old config.yml and any existing upgrade data before installing.

🔡 New admin command. The admin interface is accessed via /[gamemode] admin upgrades (e.g. /bsb admin upgrades). Ensure your admins have the appropriate BentoBox admin permission.

📥 How to update

  1. Stop your server
  2. Place the new jar in plugins/BentoBox/addons/
  3. Use /[gamemode] admin upgrades to customise your upgrade tiers in-game

What's Changed

Full Changelog: 1.0.0...1.0.1

Release 1.0.0

12 Apr 01:01
c5c470b

Choose a tag to compare

🎁 What's new

A complete ground-up rewrite. Upgrades 0.3.0 replaces the old config-file-based upgrade system with a fully database-driven architecture — upgrades, tiers, prices, and rewards are all stored as BentoBox DataObjects and manageable entirely in-game. This release also introduces a brand-new admin GUI for creating and editing upgrades without touching any files, plus two new reward types: Spawner Boost and Crop Growth Boost.

✨ Highlights

💾 Database-Driven Upgrade System (#67)

  • Upgrades and their tiers are now stored in BentoBox's database (YAML, JSON, MySQL, MongoDB, etc.)
  • No more editing large config files — all upgrade data is loaded, cached, and saved automatically
  • Full API (UpgradeAPI) exposed for other addons to query and modify upgrade data programmatically
  • 8 example upgrades are seeded automatically on first install so you can get started immediately

🖥️ Admin GUI (#66, #68, #70, #73)

  • New /[gamemode] admin upgrades command opens a full in-game admin interface
  • Create, edit, and delete upgrades and their tiers via GUI — no file editing required
  • Chat-input system for entering values (names, costs, formulas) directly in-game
  • Lore text wraps automatically for long descriptions (#73, #74)

💰 Flexible Price System

Six price types supported per tier:

  • Money — Vault economy cost
  • Items — require specific items in the player's inventory
  • Permissions — require a permission node
  • Island Level — require a minimum island level (Level addon)
  • Prices can be combined on a single tier

🎁 Flexible Reward System

Six reward types supported per tier:

  • Range — increases island protection range
  • Block Limits — raises block type limits (Limits addon)
  • Entity Limits — raises entity type limits (Limits addon)
  • Entity Group Limits — raises entity group limits (Limits addon)
  • Commands — runs console/player commands on purchase
  • Spawner Boost — multiplies spawner spawn rates ✨ New
  • Crop Growth Boost — multiplies crop growth speed ✨ New (#77)

🎛️ Templated Player Panel (#79)

  • Player upgrade panel converted to BentoBox TemplatedPanel system
  • Layout fully customisable via panels/upgrades_panel.yml

🐛 Fixes

  • Fixed CommandUpgrade permission check using wrong data key (#64)
  • Fixed NPE guards throughout upgrade processing (#81)
  • Fixed [level] formula variable not being substituted correctly (#81)
  • Fixed ChatInput edge cases in admin GUI (#81)
  • Resolved SonarCloud quality gate failures (#53)
  • Compatibility fixes for Limits addon 1.28 (#68, #69)

⚙️ Compatibility

✔️ BentoBox 2.6.0+
✔️ Java 21
✔️ Paper/Bukkit 1.20+
✔️ Vault (optional — required for Money price type)
✔️ Level addon (optional — required for Island Level price type)
✔️ Limits addon (optional — required for Block/Entity Limits rewards)

🔺 Updating — important notes

🔺 Complete reset required. This release is a full rewrite and is not backwards-compatible with any previous Upgrades configuration. Remove your old config.yml and any existing upgrade data before installing.

⚙️ Example upgrades seeded on first install. On a fresh install, 8 example upgrades are written to the database automatically. Review and customise them via the admin GUI before opening the server to players.

🔡 New admin command. The admin interface is accessed via /[gamemode] admin upgrades (e.g. /bsb admin upgrades). Ensure your admins have the appropriate BentoBox admin permission.

📥 How to update

  1. Stop your server
  2. Delete the old plugins/BentoBox/addons/Upgrades/ folder (config, data, and all)
  3. Place the new Upgrades-1.0.0.jar in plugins/BentoBox/addons/
  4. Start the server — example upgrades will be seeded automatically
  5. Use /[gamemode] admin upgrades to customise your upgrade tiers in-game

What's Changed

Full Changelog: master...develop