Releases: BentoBoxWorld/Upgrades
Release 1.0.2
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 callsaveUpgradeData/saveUpgradeTierimmediately 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 updatedUpgradesDataimmediately after each purchase. [PR #84]
Compatibility
✔️ BentoBox API 3.14.0
✔️ Minecraft 1.21.x
✔️ Java 21
Upgrading
- Take backups of your server, for safety
- Download this jar and put it in your addons folder — delete the old one
- Restart the server
- 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
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-gamemodesmarker 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
- Stop your server
- Place the new jar in
plugins/BentoBox/addons/ - Use
/[gamemode] admin upgradesto customise your upgrade tiers in-game
What's Changed
- Release 1.0.1 by @tastybento in #83
Full Changelog: 1.0.0...1.0.1
Release 1.0.0
🎁 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 upgradescommand 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
TemplatedPanelsystem - Layout fully customisable via
panels/upgrades_panel.yml
🐛 Fixes
- Fixed
CommandUpgradepermission check using wrong data key (#64) - Fixed NPE guards throughout upgrade processing (#81)
- Fixed
[level]formula variable not being substituted correctly (#81) - Fixed
ChatInputedge 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
- Stop your server
- Delete the old
plugins/BentoBox/addons/Upgrades/folder (config, data, and all) - Place the new
Upgrades-1.0.0.jarinplugins/BentoBox/addons/ - Start the server — example upgrades will be seeded automatically
- Use
/[gamemode] admin upgradesto customise your upgrade tiers in-game
What's Changed
- Add admin interface GUI by @tastybento in #66
- Implement complete DB-driven upgrade system by @tastybento in #67
- Fix admin GUI issues and Limits 1.28 compatibility by @tastybento in #68 #69 #70
- Add lore text wrapping in admin GUI panels by @tastybento in #73 #74
- Add 6 example upgrades seeded on first install by @tastybento in #76
- Add spawner boost and crop growth boost reward types by @tastybento in #77 #78
- Convert player upgrade panel to BentoBox TemplatedPanel by @tastybento in #79
- Fix review findings: NPE guards, formula variable, ChatInput bugs by @tastybento in #81
- Fix CommandUpgrade permission check using wrong data key by @tastybento in #64
- Resolve SonarCloud quality gate failures by @tastybento in #53
- Add MIT License by @tastybento
Full Changelog: master...develop