
Island Level & Leaderboards
Island level calculator and server leaderboards. Track progression and compete across all BentoBox game modes.
Список изменений
🎁 What's new
Level 2.28.0 closes the gaps in donation limit enforcement. Block limits defined in blockconfig.yml are now respected everywhere donations are involved: the level calculation caps each donated block type at its current limit, and /island donate hand, /island donate inv, and the donation GUI all check the limit up front — so players can no longer earn points beyond a block's configured cap by donating instead of placing. Donated points are also now recalculated from the stored donated-blocks map using current block values on every recalculation, so changing a block's value (or a world-specific value) in blockconfig.yml immediately applies to past donations instead of using a stale stored total.
The release also wires up automatic publishing to CurseForge and Hangar alongside Modrinth, and adds Minecraft 26.1.2 to the supported versions.
✨ Highlights
🔡 Donation limits enforced end-to-end (#438, #439, #443, #449)
- The level calculation now caps each donated block type at its current
blockconfig.ymllimit — if an admin lowers a limit after players have donated, only up to the new limit counts toward the level /island donate handrefuses donations for a block whose limit is already reached, and trims the confirm prompt to the amount that will actually count, with a warning line when trimmed/island donate invapplies the same per-material capping across the whole inventory preview, skipping materials already at their limit- The donation GUI panel enforces the same limits, so all three donation paths agree
- Donated points are recomputed from the donated-blocks map using current (and world-specific) block values on every recalculation, so
blockconfig.ymlvalue changes retroactively apply to donations - Limit lookups are case-insensitive, so mixed-case custom block IDs (e.g. Oraxen items) resolve the same limit everywhere
- The donation GUI's "Currently donated" figure shows the effective points (current values, limits applied) — the same figure the level uses — instead of the stored donation-time total
- Admin level reports cap donated lines at the current limit (marked "capped at N") so they sum to the donated total
- When everything a player offers is already at its limit, they get a clear "donation limits reached" message instead of a misleading "nothing to donate" or a 0-point confirmation prompt
- New locale keys
island.donate.limit-reached,island.donate.limit-notice, andisland.donate.limit-reached-all, translated in all 17 shipped locales
📦 Publishing & platform support
- Releases are now published automatically to CurseForge and Hangar in addition to Modrinth when a GitHub release goes live (#445, #446, #447)
- Minecraft 26.1.2 added to the supported game versions (#444)
🔧 Build
- Tests now use MockBukkit 4.110.0 from Maven Central instead of a JitPack snapshot, making builds reproducible
⚙️ Compatibility
✔️ BentoBox API 3.16.0 ✔️ Minecraft 1.21.x and 26.1.x ✔️ Java 21
🔺 Updating — important notes
🔡 Locales updated. All 17 shipped locales gained three new keys under
island.donate(limit-reached,limit-notice,limit-reached-all). If you have customised locale files inplugins/BentoBox/addons/Level/locales/, add these keys or the limit warnings will show raw keys.
🔺 Donations over a block's limit no longer count. If you use
limit:entries inblockconfig.yml, any previously donated blocks above a block's current limit are now silently excluded from the level calculation. Island levels may drop after upgrading on servers where players had donated past the limits — this is the intended fix, but be ready for questions.
Note for dev-build users: the experimental per-chunk zeroing engine that appeared in snapshot builds during this cycle (#435, #440) was removed before release (#448) and is not part of 2.28.0. Stable-release users are unaffected.
📥 How to update
- Stop the server
- Back up your BentoBox folder
- Drop the new jar into the addons folder and remove the old one
- Start the server
Legend
- 🔡 locale files may need to be regenerated or updated
- ⚙️ config options have been removed, renamed, or added
- 🔺 special attention needed
What's Changed
- Fix donated points calculation using stale stored total instead of current block values by @Copilot in https://github.com/BentoBoxWorld/Level/pull/438
- 🔡 Fix blockconfig limits for donations (command, GUI, and confirm prompts) by @Copilot in https://github.com/BentoBoxWorld/Level/pull/439
- 🔺 Cap donated block counts to current block limits in level calculation by @Copilot in https://github.com/BentoBoxWorld/Level/pull/443
- Add MC 26.1.2 to Modrinth game-versions by @tastybento in https://github.com/BentoBoxWorld/Level/pull/444
- Add CurseForge publish workflow (publishes the release asset) by @tastybento in https://github.com/BentoBoxWorld/Level/pull/445
- ci: bump pinned reusable workflow to fe4b1f0 by @tastybento in https://github.com/BentoBoxWorld/Level/pull/446
- ci: bump pinned publish-platforms.yml to ca2dcd1 by @tastybento in https://github.com/BentoBoxWorld/Level/pull/447
- 🔡 Make donation limit handling consistent across all paths by @tastybento in https://github.com/BentoBoxWorld/Level/pull/449
- ci: align CurseForge/Hangar game versions with Modrinth by @tastybento in https://github.com/BentoBoxWorld/Level/pull/450
- Pin MockBukkit to Maven Central 4.110.0 by @tastybento
- Experimental per-chunk zeroing engine merged (#435, #440) and subsequently removed before release (#448) — not included in 2.28.0
Full Changelog: https://github.com/BentoBoxWorld/Level/compare/2.27.0...2.28.0
