Island Level & Leaderboards
2.29.0Island level calculator and server leaderboards. Track progression and compete across all BentoBox game modes.
2.29.0latestSep 7, 2026 ##What's new Level 2.29.0 changes how the death penalty works. Deaths are now tracked per island by Level itself, instead of being read from BentoBox's per-player, per-world death counter at calculation time. This fixes a long-standing problem on servers where players can hold their own island and join a team: inviting someone who had died a lot on their own island dragged the team island's level down by their whole death history, and kicking them restored it. Only deaths that actually happen on an island, by one of its members, count against that island now. Also in this release: a Traditional Chinese (zh-TW) translation, two panel fixes found by Sonar, and a CI publishing fix. ##
Highlights ###
Per-island death tracking ([#456](https://github.com/BentoBoxWorld/Level/pull/456)) - A death only counts against an island if it happens in that island's space and the dying player is a member of it. Deaths in other worlds, or while visiting someone else's island, are ignored. - Joining a team carries nothing over. The new member's previous deaths stay with their own island. - When a member leaves or is kicked, their deaths on that island are kept as an anonymous count, so an island's handicap never drops just because a frequently-dying member left. Leaving and rejoining does not double count. - Island reset or deletion clears the island's death data. - Per-player counts are kept so the admin level report can show who died and how many times, with a separate line for former-member and migrated deaths. - The game mode's
deaths.countedanddeaths.maxsettings are still honoured.deaths.maxnow caps each member's count on each island. - Existing death counts are migrated once per island, the first time it is calculated, a member dies on it, or a member leaves. The migrated value reproduces exactly what the old formula would have computed at that moment, so island levels do not change on upgrade. ###Translations - Added Traditional Chinese (zh-TW), by @qwe664 ([#457](https://github.com/BentoBoxWorld/Level/pull/457), [#458](https://github.com/BentoBoxWorld/Level/pull/458)). ###
Fixes - Opening the island details panel from the top-ten panel's View button without an island threw a NullPointerException instead of showing the "no island" message. - The block value panel could throw when building an icon for a malformed block key. - CI: publishing to CurseForge and Hangar now uses the fixed shared workflow ([#455](https://github.com/BentoBoxWorld/Level/pull/455)). ##
Compatibility
BentoBox API 3.16.0
Minecraft 1.21.x and 26.1.x
Java 21 ##
Updating — important notes
`sumteamdeaths` is deprecated. Level now always counts every death that occurred on the island. The setting is only read once, during migration of legacy counts: if
true, the migrated count is the sum of all members' old deaths; iffalse, the owner's. Leave it at whatever value you had when you upgrade so the migration matches your previous levels, then ignore it. The comments ondeathpenaltyandsumteamdeathsinconfig.ymlhave been updated; regenerate the file if you want the new comments.BentoBox's death commands and reset settings no longer affect island levels.
/[admin] deaths set|add|resetand theteam-join-reset/reset-on-new-islandgame mode settings continue to drive BentoBox's own counter and placeholders, but Level no longer reads that counter after migration. If you were usingdeaths resetto fix a team's level after an invite, you no longer need to.Kicking a member no longer restores the level. Deaths that happened on the island stay with the island. This is intentional. Admins who want to clear an island's death handicap can reset the island. ##
How to update 1. Stop the server 2. Back up your BentoBox folder, including the Level database 3. Drop the new jar into the addons folder and remove the old one 4. Start the server. No manual migration is needed; legacy death counts migrate per island on first use. ## Legend *
config options have been removed, renamed, or added *
special attention needed ## What's Changed *
Track death handicap per island instead of per world by @tastybento in https://github.com/BentoBoxWorld/Level/pull/456 * Add Traditional Chinese (zh-TW) translation by @qwe664 in https://github.com/BentoBoxWorld/Level/pull/457 * Add missing v2.28.1 translation keys (donation limit messages) by @qwe664 in https://github.com/BentoBoxWorld/Level/pull/458 * ci: bump publish-platforms pin to the multipart-JSON fix by @tastybento in https://github.com/BentoBoxWorld/Level/pull/455 * fix: guard details panel against missing island and malformed value keys by @tastybento ## New Contributors * @qwe664 made their first contribution in https://github.com/BentoBoxWorld/Level/pull/457 Full Changelog: https://github.com/BentoBoxWorld/Level/compare/2.28.1...2…
2.28.1Jul 29, 2026 ## What's fixed Level 2.28.1 is a small bug fix release that stops the value panel's search button from stacking duplicate chat prompts. ### Duplicate search conversations in the value GUI ([#451](https://github.com/BentoBoxWorld/Level/issues/451), [[PR #452](https://github.com/BentoBoxWorld/Level/pull/452)]) Bukkit queues chat conversations per player, so every click on the search button in the block value panel started another 90-second "Please enter a search value" conversation. If the first prompt wasn't visible — for example when a chat-managing plugin like CMI swallowed it — players clicked the button repeatedly, stacking conversations that later replayed as alternatingConversation cancelled!/Please enter a search valuespam, with the GUI re-opening each time. The search input now checks whether the player already has a conversation pending. If so, it simply repeats the question instead of queueing a second conversation — the pending prompt still works and no spam accumulates. ##Compatibility
BentoBox API 3.16.0
Minecraft 1.21.x and 26.1.x
Java 21 ## Updating Drop-in replacement for 2.28.0 — no locale, config, or panel changes. ## What's Changed * fix: don't queue duplicate search conversations in value GUI by @tastybento in https://github.com/BentoBoxWorld/Level/pull/452 Full Changelog: https://github.com/BentoBoxWorld/Level/compare/2.28.0...2…
2.28.0Jul 28, 2026 ##What's new Level 2.28.0 closes the gaps in donation limit enforcement. Block limits defined in
blockconfig.ymlare 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) inblockconfig.ymlimmediately 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](https://github.com/BentoBoxWorld/Level/pull/438), [#439](https://github.com/BentoBoxWorld/Level/pull/439), [#443](https://github.com/BentoBoxWorld/Level/pull/443), [#449](https://github.com/BentoBoxWorld/Level/pull/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, soblockconfig.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 keysisland.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](https://github.com/BentoBoxWorld/Level/pull/445), [#446](https://github.com/BentoBoxWorld/Level/pull/446), [#447](https://github.com/BentoBoxWorld/Level/pull/447)) - Minecraft 26.1.2 added to the supported game versions ([#444](https://github.com/BentoBoxWorld/Level/pull/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](https://github.com/BentoBoxWorld/Level/pull/435), [#440](https://github.com/BentoBoxWorld/Level/pull/440)) was removed before release ([#448](https://github.com/BentoBoxWorld/Level/issues/448)) and is not part of 2.28.0. Stable-release users are unaffected.
##How to update 1. Stop the server 2. Back up your BentoBox folder 3. Drop the new jar into the addons folder and remove the old one 4. 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](https://github.com/BentoBoxWorld/Level/pull/435), [#440](https://github.com/BentoBoxWorld/Level/pull/440)) and subsequently removed before release ([#448](https://github.com/BentoBoxWorld/Level/issues/448)) — not included in 2.28.0 Full Changelog: https://github.com/BentoBoxWorld/Level/compare/2.27.0...2…
2.27.0May 13, 2026 ##What's new Level 2.27.0 introduces an opt-in donations-only mode that skips the island block scan entirely and computes the island level only from blocks donated via
/island donate— a major CPU saving on busy servers that prefer a donation-driven economy. The release also adds the new/island donate invcommand for one-shot inventory donations, and brings first-class support for custom blocks across the value, detail, and donate menus, so blocks from Oraxen, Nexo, ItemsAdder, and CraftEngine now render with their real icon and display name and can be valued, detailed, and donated like vanilla blocks. A long-standing bug producing negative progression values when using a non-linearlevel-calcformula is also fixed.Level 2.27.0 requires BentoBox 3.16.0 or later. ##
Highlights ###
Donations-only mode ([#432](https://github.com/BentoBoxWorld/Level/pull/432), [#433](https://github.com/BentoBoxWorld/Level/pull/433)) - New
donations-onlyoption inconfig.yml(defaultfalse). Whentrue, the per-recalculation chunk scan is skipped entirely; the island level is computed from donated points alone using the configuredlevel-calcformula -/island level,/island top,/island value, and/island donatecontinue to work;/island detailis not registered (no scanned blocks to break down) and the top-ten panel's viewer button no longer shows "Click to view" or opens the detail panel - The zero-island scan that runs on island creation/reset still runs under donations-only whenzero-new-island-levels: true, so the starter-island handicap is recorded intoinitialCountand applied correctly if an admin later turns donations-only off - While donations-only is on, the storedinitialCountis ignored at/island leveltime, so flipping the mode on for a server with existing islands does not push players to wildly negative levels ###/island donate inv— donate everything from inventory ([#422](https://github.com/BentoBoxWorld/Level/pull/422)) - New confirmableinvsubcommand: lists every donatable block in the player's inventory with per-material values and a running total, then on confirm donates them all and runs a level recalc - Items with no configured value and non-blocks stay in the inventory after donation - Tab-complete now suggestshand/invfor the first arg, and the held-item count afterhand— the previous tab-complete branch never fired in real use - Help text updated toparameters: "[hand [amount]] [inv]"###Custom block support across value, detail, and donate menus ([#425](https://github.com/BentoBoxWorld/Level/pull/425), [#427](https://github.com/BentoBoxWorld/Level/pull/427), [#429](https://github.com/BentoBoxWorld/Level/pull/429)) - Oraxen, Nexo, ItemsAdder, and CraftEngine custom blocks are no longer filtered out of
/level valueor rendered as nameless PAPER icons in/level detail- The value panel and details panel both look up the real custom-blockItemStackfrom each plugin's registry, so the configured texture / model data and display name are preserved -/island value handon a held custom item now reports the configured value and display name instead of "no value" or the prettified namespaced key - Donation paths (/island donate hand,/island donate inv, and the donation panel) accept custom-block items, recording donations under the custom ID - CraftEngine items are now resolved via the new BentoBoxCraftEngineHook.getItemId/getItemStackhelpers, so they appear with the correct icon and name throughout ###Fixes - Negative values in island progression when
level-calcis a non-linear function (e.g.3 * sqrt(blocks / level_cost)) — progression no longer dips below zero between levels ([#423](https://github.com/BentoBoxWorld/Level/pull/423), thanks @msmith-codes!) ###Performance -
tidyUp()no longer walks up to 10M points linearly on the primary thread when computing point boundaries — the forward and backward scans now use binary search (~23 iterations instead of millions), each saving acalculateLevel()string parse + eval per step ##Compatibility
BentoBox API 3.16.0
Minecraft 1.21.x and 26.1.x
Java 21 ##
Updating — important notes
BentoBox 3.16.0+ required. This release bumps the
api-versioninaddon.ymlto3.16.0and depends on the newCraftEngineHook.getItemId/getItemStackhelpers. Older BentoBox versions will refuse to load the addon.New `donations-only` config key. Default is
false, so existing servers behave exactly as before. Enable it only if you want a pure-donation economy — read the highlight above for what changes (no detail command, no top-panel viewer click, level driven only by/island donate).
##Locales updated. All 18 shipped locales gained new
island.donate.inv.*keys (keyword,confirm-header,confirm-line,confirm-total). If you have customised locale files inplugins/BentoBox/addons/Level/locales/, copy the newdonate.invblock into them or the new/island donate invflow will show raw keys.How to update 1. Stop the server 2. Back up your BentoBox folder 3. Update BentoBox to 3.16.0 or later 4. Drop the new
Level-2.27.0.jarinto your addons folder and remove the old one 5. If you have customised locale files, merge in the newisland.donate.inv.*keys 6. 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 *
feat:
/island donate inv— donate everything from inventory by @tastybento in https://github.com/BentoBoxWorld/Level/pull/422 *Fixed: Negative values in progression while using a non-linear function by @msmith-codes in https://github.com/BentoBoxWorld/Level/pull/423 *
Add custom block support (Oraxen/Nexo/ItemsAdder/CraftEngine) in value, detail, and donate menus by @Copilot in https://github.com/BentoBoxWorld/Level/pull/425 *
Fix custom-block icon and display name in value panel by @tastybento in https://github.com/BentoBoxWorld/Level/pull/427 *
fix: recognize CraftEngine items in value lookups by @tastybento in https://github.com/BentoBoxWorld/Level/pull/429 *
feat: donations-only mode — skip block scan by @tastybento in https://github.com/BentoBoxWorld/Level/pull/432 *
fix: donations-only follow-ups (ignore stored
initialCount, still run zero-island scan, gate top-panel viewer) by @tastybento in https://github.com/BentoBoxWorld/Level/pull/433 *perf: replace O(N) linear walks with binary search in
tidyUp()by @tastybento *i18n: add
donate.invtranslations across all locales by @tastybento *chore: bump
api-versionto 3.16.0 / require BentoBox 3.15.1-SNAPSHOT by @tastybento ## New Contributors * @msmith-codes made their first contribution in https://github.com/BentoBoxWorld/Level/pull/423 Full Changelog: https://github.com/BentoBoxWorld/Level/compare/2.26.0...2…2.26.0May 4, 2026 ##What's new Level 2.26.0 makes the donation GUI fully configurable. Server admins can now resize the donate panel from 1 to 6 rows, relocate the four named buttons (
INFO/CANCEL/PREVIEW/CONFIRM), swap their icons, and add decorative items — all by editing a newpanels/donation_panel.ymltemplate, exactly the way the value, detail, and top-ten panels already work. The donation grid auto-fills every cell that isn't a border or named button, so changing the layout doesn't require touching any code. This is otherwise a quiet release — no API breaks, no locale changes, and noconfig.ymlmigrations. The bulk of the diff is internal: SonarCloud cleanup on the new panel code and a long-overdue JUnit 4 → JUnit 5 migration that turned on 18 previously-skipped tests. ##Highlights ###
Configurable Donation Panel ([#420](https://github.com/BentoBoxWorld/Level/pull/420)) - New
panels/donation_panel.ymltemplate controls panel size, button positions, and icons -force-shown: [1,2,3,4]controls how many rows the panel uses (1–6 supported) - The four named buttons are placed bydata.type:INFO,CANCEL,PREVIEW,CONFIRM- Decorative items (any cell with no recogniseddata.type) reserve their slot so donated blocks won't stomp them - If the template is missing or any of the four required buttons isn't present, the panel falls back to the previous hardcoded 4-row layout — never renders a half-broken UI - Listener logic (drag, click, validation, item return) is unchanged; only slot resolution is template-driven ###Donation Panel Polish - Decorative template items now actually render in the inventory (previously their slots were reserved but the icon wasn't placed) - Custom
title:on the donation panel template is now respected -force-shownis parsed as a list (consistent with the other panel YAMLs) instead of a scalar - The "could not load template" error log no longer appends the noisy missing-resource exception message ###Internal — Test Suite Modernisation -
LevelsManagerTestandEquationEvaluatorTestmigrated from JUnit 4 to JUnit 5; without the vintage engine on the classpath they had been silently skipped, so 18 tests are now actually running again - All JUnit 5 test classes and methods lowered to default visibility per Sonar S5786 - SonarCloud findings on the new donation panel code addressed (cognitive complexity, parameter count, method references) ##Compatibility
BentoBox API 3.14.0+
Minecraft 1.21.x
Java 21 ##
Updating — important notes
Donation panel layout. A new
panels/donation_panel.ymlis shipped in the addon's data folder on first launch. To customise the layout, edit that file — the comments inside walk through what each section does. If you don't touch it, the panel renders identically to 2.25.0. ##How to update 1. Stop the server 2. Back up your BentoBox folder 3. Drop the new
Level-2.26.0.jarinto the addons folder and remove the old one 4. Start the server ## Legend *config options have been removed, renamed, or added ## What's Changed *
feat: make donation panel size and layout configurable by @tastybento in https://github.com/BentoBoxWorld/Level/pull/420 Full Changelog: https://github.com/BentoBoxWorld/Level/compare/2.25.0...2…
2.25.0Apr 26, 2026 ##What's new Level 2.25.0 adds CraftEngine custom block support to island level calculations, joining ItemsAdder, Oraxen, and Nexo as supported custom-block plugins. Server admins can assign point values to CraftEngine blocks directly in
blockconfig.ymlusing their namespaced IDs, and the integration can be disabled per-server if needed. This release also makes thehandkeyword in/island donateand/island valuetranslatable, so non-English players see the keyword in their own language. ##Highlights ###
CraftEngine Custom Block Support ([#419](https://github.com/BentoBoxWorld/Level/pull/419)) - CraftEngine blocks are now detected and counted during island level calculations - Block IDs use the namespaced format (e.g.
mynamespace:my_block) inblockconfig.yml- CraftEngine can be disabled by addingCraftEnginetodisabled-plugin-hooksin Level's config - Requires BentoBox 3.15.0+, which provides the underlyingCraftEngineHook- Servers without CraftEngine installed are unaffected — no errors, check silently skipped ###Localizable
handKeyword + Locale Sync ([#416](https://github.com/BentoBoxWorld/Level/pull/416)) - Thehandargument in/island donateand/island valueis now translatable via a newisland.donate.hand.keywordlocale key - Englishhandis always accepted as a fallback for backwards compatibility - All 16 non-English locale files updated to include missing keys fromen-US.yml-uk.yml(Ukrainian) fully translated — the donate/value section was previously in English ##Compatibility
BentoBox API 3.15.0+
Minecraft 1.21.x
Java 21 ##
Updating — important notes
CraftEngine blocks. To assign point values to CraftEngine blocks, add entries to
blockconfig.ymlusing their namespaced IDs:yaml blocks: mynamespace:my_block: 50 mynamespace:custom_ore: 3Locale files. Delete or regenerate your locale files to pick up the new
island.donate.hand.keywordkey and other missing additions. ##How to update 1. Stop the server 2. Back up your BentoBox folder 3. Drop the new
Level-2.25.0.jarinto the addons folder and remove the old one 4. Start the server ## Legend *locale files may need to be regenerated or updated *
config options have been removed, renamed, or added ## What's Changed *
feat: add CraftEngine custom block support for island level calculation by @tastybento in https://github.com/BentoBoxWorld/Level/pull/419 *
feat: make 'hand' keyword localizable; sync locale files by @tastybento in https://github.com/BentoBoxWorld/Level/pull/416 Full Changelog: https://github.com/BentoBoxWorld/Level/compare/2.24.0...2…
2.24.0Apr 12, 2026 ##What's new Donate your way to the top of the leaderboard. Level 2.24.0 introduces the long-awaited block donation system — players can now permanently contribute blocks to their island's level without having to place them. Drop a stack into the new
/island donateGUI, hit confirm, and those points are yours to keep, surviving every future recalculation. Prefer the fast lane?/island donate hand [amount]donates straight from whatever you're holding. Under the hood, 2.24.0 also brings a major BentoBox platform bump, MiniMessage support across every locale, a brand-new Russian translation, and a handful of correctness fixes that make the top ten leaderboard and several block icons behave properly again. ##Highlights ###
Block donation (#412, #220) - New
/island donatechest-style GUI — drag blocks in, see a live points preview, confirm to donate -/island donate hand [amount]for one-click donations from the held stack - NewISLAND_BLOCK_DONATIONprotection flag gates who can donate. Default is owner-only; configurable down to Member rank (lower ranks are blocked at the flag UI level) - Donated points are persisted per-island and automatically re-added after every/island levelrecalculation — no more losing your contribution to a level rebuild - New DONATED tab in the island detail panel showing donation history - Admin level report now includes a donated-blocks breakdown - Legacy islands with no donation data load cleanly — all new fields are null-safe ###Smarter level formulas - New
island_membersplaceholder for the level-cost equation so you can handicap larger teams (#411) - New{gamemode}_points_to_next_levelplaceholder for scoreboards and HUDs (#405) ###Localization overhaul - All locale files migrated to MiniMessage formatting via the BentoBox 3.14.0 bump -
Russian (
ru.yml) locale added - Czech, Dutch, French, German, Hungarian, Indonesian, Korean, Latvian, Polish, Portuguese, Simplified Chinese, Spanish, Turkish, Ukrainian, and Vietnamese locales brought up to date withen-US###Fixes - Top ten ordering no longer drifts under concurrent writes — replaced
LinkedHashMapwithConcurrentHashMapand invalidate the cache on update (#403) - Block icons for hanging signs, vines, and cave vines now render correctly in value and detail panels (#404) - Donation panel lore no longer leaks colors across lines, and default italic is stripped from item names ##Compatibility
BentoBox API 3.14.0
Minecraft 1.21.x — if you need older versions, use an older Level release
Java 21 ##
Updating — important notes
Locales. Locale files have been migrated to MiniMessage. Regenerate any customised locale files if you have them, or port your customisations over manually.
Detail panel template. The
DONATEDtab is a new entry inpanels/detail_panel.yml. Panel templates are not overwritten on upgrade, so existing servers must delete `plugins/BentoBox/addons/Level/panels/detail_panel.yml` to regenerate it — otherwise the new donation tab will not appear.New flag.
ISLAND_BLOCK_DONATIONis registered on first start and defaults to owner-only. Adjust in your protection flag panel if you want members to be able to donate. ##How to update 1. Stop the server 2. Back up your BentoBox folder 3. Drop the new jar into the addons folder and remove the old one 4. Delete
plugins/BentoBox/addons/Level/panels/detail_panel.ymlso the template regenerates 5. 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 top ten ordering: replace LinkedHashMap with ConcurrentHashMap for thread safety by @copilot-swe-agent in https://github.com/BentoBoxWorld/Level/pull/403 * Fix incorrect icons for hanging signs, vines, and cave vines in panels by @copilot-swe-agent in https://github.com/BentoBoxWorld/Level/pull/404 * Add
{gamemode}_points_to_next_levelplaceholder by @copilot-swe-agent in https://github.com/BentoBoxWorld/Level/pull/405 * Add Russian (ru) locale with MiniMessage formatting by @copilot-swe-agent in https://github.com/BentoBoxWorld/Level/pull/407 * Addisland_membersvariable to level formula for team-size handicap support by @copilot-swe-agent in https://github.com/BentoBoxWorld/Level/pull/411 * Add block donation feature by @tastybento in https://github.com/BentoBoxWorld/Level/pull/412 Full Changelog: https://github.com/BentoBoxWorld/Level/compare/2.23.0...2…2.23.0Level 2.23.0Feb 21, 2026 What's new
* This adds support for Oraxen furniture blocks and Nexo blocks. These are still in beta but this is being released for those who have these plugins to try.Compatibility
BentoBox API 3.10.2
Minecraft 1.21.x - if you need support for earlier versions, use an older version of Level
Java 21
Updating
1. Stop server 2. Make a backup of the BentoBox Folder for safety 3. Copy this jar into the Addons folder and remove the old jar 5. Restart the server 6. You should be good to go!Legend
*locale files may need to be regenerated or updated. *
config options have been removed, renamed or added. *
special attention needed.
What's Changed
* Mockito5 by @tastybento in https://github.com/BentoBoxWorld/Level/pull/393 * Add block limit count placeholder by @tastybento in https://github.com/BentoBoxWorld/Level/pull/394 * Update Paper API to 1.21.11 to match MockBukkit by @tastybento in https://github.com/BentoBoxWorld/Level/pull/399 * Add Oraxen furniture mechanic support for island levelling by @tastybento in https://github.com/BentoBoxWorld/Level/pull/397 * Add Nexo custom block and furniture support for island levelling by @tastybento in https://github.com/BentoBoxWorld/Level/pull/398 * Fix custom block count/value/limit placeholders for Oraxen, Nexo, ItemsAdder #391 by @tastybento in https://github.com/BentoBoxWorld/Level/pull/400 * Release 2.22.1 by @tastybento in https://github.com/BentoBoxWorld/Level/pull/401 Full Changelog: https://github.com/BentoBoxWorld/Level/compare/2.22.0...2…2.22.0Level 2.22.0Oct 5, 2025 What's new
* This adds support for Oraxen blocks and items in chests. Requires the latest BentoBox (3.7.4) to run.Compatibility
BentoBox API 3.7.4
Minecraft 1.21.x - if you need support for earlier versions, use an older version of Level
Java 21
Updating
1. Stop server 2. Make a backup of the BentoBox Folder for safety 3. Copy this jar into the Addons folder and remove the old jar 5. Restart the server 6. You should be good to go!Legend
*locale files may need to be regenerated or updated. *
config options have been removed, renamed or added. *
special attention needed.
What's Changed
* 385 oraxen custom item and block support by @tastybento in https://github.com/BentoBoxWorld/Level/pull/386 * Added value support #385 by @tastybento in https://github.com/BentoBoxWorld/Level/pull/387 * Version 2.22.0 by @tastybento in https://github.com/BentoBoxWorld/Level/pull/388 Full Changelog: https://github.com/BentoBoxWorld/Level/compare/2.21.5...2…2.21.5Level 2.21.5Aug 16, 2025 What's new
* This fixes a bug with sorting of blocks in the details panel.Compatibility
BentoBox API 3.2.4
Minecraft 1.21.x - if you need support for earlier versions, use an older version of Level
Java 21
Updating
1. Stop server 2. Make a backup of the BentoBox Folder for safety 3. Copy this jar into the Addons folder and remove the old jar 5. Restart the server 6. You should be good to go!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 sorting by value in details panel by @PapiCapi in https://github.com/BentoBoxWorld/Level/pull/383 * Release 2.21.5 by @tastybento in https://github.com/BentoBoxWorld/Level/pull/384 Full Changelog: https://github.com/BentoBoxWorld/Level/compare/2.21.4...2…2.21.4Level 2.21.4Aug 2, 2025 What's new
* This fixes a bug where if air had a value it was not counted. This mainly affects CaveBlock were air has a value of 1 by default.Compatibility
BentoBox API 3.2.4
Minecraft 1.21.x - if you need support for earlier versions, use an older version of Level
Java 21
Updating
1. Stop server 2. Make a backup of the BentoBox Folder for safety 3. Copy this jar into the Addons folder and remove the old jar 5. Restart the server 6. You should be good to go!Legend
*locale files may need to be regenerated or updated. *
config options have been removed, renamed or added. *
special attention needed.
What's Changed
* Allow air to be valued by @tastybento in https://github.com/BentoBoxWorld/Level/pull/382 * Version 2.21.4 by @tastybento in https://github.com/BentoBoxWorld/Level/pull/381 Full Changelog: https://github.com/BentoBoxWorld/Level/compare/2.21.3...2…2.21.3Level 2.21.3Jun 28, 2025 What's new
* This puts in code to prevent level calculations from hanging if for some reason one fails.Compatibility
BentoBox API 3.2.4
Minecraft 1.21.x - if you need support for earlier versions, use an older version of Level
Java 21
Updating
1. Stop server 2. Make a backup of the BentoBox Folder for safety 3. Copy this jar into the Addons folder and remove the old jar 5. Restart the server 6. You should be good to go!Legend
*locale files may need to be regenerated or updated. *
config options have been removed, renamed or added. *
special attention needed.
What's Changed
* Release 2.21.3 by @tastybento in https://github.com/BentoBoxWorld/Level/pull/379 Full Changelog: https://github.com/BentoBoxWorld/Level/compare/2.21.2...2…2.21.2Level 2.21.2Jun 21, 2025 Bug fix Release
* Bug fix - block limits were not working so blocks above the limit were still counted. With this fix levels may go down when recalculated.Compatibility
BentoBox API 3.2.4
Minecraft 1.21.x - if you need support for earlier versions, use an older version of Level
Java 21
Updating
1. Stop server 2. Make a backup of the BentoBox Folder for safety 3. Copy this jar into the Addons folder and remove the old jar 5. Restart the server 6. You should be good to go!Legend
*locale files may need to be regenerated or updated. *
config options have been removed, renamed or added. *
special attention needed.
What's Changed
* Limits not working with level addon by @tastybento in https://github.com/BentoBoxWorld/Level/pull/377 * Release 2.21.2 by @tastybento in https://github.com/BentoBoxWorld/Level/pull/378 Full Changelog: https://github.com/BentoBoxWorld/Level/compare/2.21.1...2…2.20.0Level 2.20.0Apr 2, 2025 New In Release 2.20.0
New Placeholders
The new available placeholders are:
The new count placeholder will provide how many blocks of a specific type you have, counting only the blocks of the same type as the value. It’s important to note that the value returned by the count placeholder is updated only after using the%level_bskyblock_island_value_<Block Name>% %level_bskyblock_island_value_looking% %level_bskyblock_island_value_mainhand% %level_bskyblock_island_count_<Block Name>% %level_bskyblock_island_count_looking% %level_bskyblock_island_count_mainhand%levelcommand. In other words, if you add a new block, it won't show in the count placeholder until you run the command.New island zeroing approach
The previous approach would zero the level, but could give the user some head start to level 1 because although the level was zeroed, the remaining blocks were not. For example, if the island had a score of 157 and each level cost 100 then the user would start at level 0 but with 57 blocks in hand. This change zeros the remainder as well. It will only affect new islands if zeroing is used.Compatibility
BentoBox API 3.2.4
Minecraft 1.21.x - if you need support for earlier versions, use an older version of Level
Java 21
Updating
1. Stop server 2. Make a backup of the BentoBox Folder for safety 3. Copy this jar into the Addons folder and remove the old jar 4. (Optional) Delete or move the old German locale file -plugins/BentoBox/locales/Level/de.yml5. Restart the server 6. You should be good to go!Legend
*locale files may need to be regenerated or updated. *
config options have been removed, renamed or added. *
special attention needed.
What's Changed
*More accurate island zeroing by @tastybento in https://github.com/BentoBoxWorld/Level/pull/359 * Add new placeholders by @Zarkness in https://github.com/BentoBoxWorld/Level/pull/357 *
Fix formatting errors in german locale by @kronnox in https://github.com/BentoBoxWorld/Level/pull/355 * 2.20.0 release by @tastybento in https://github.com/BentoBoxWorld/Level/pull/362
New Contributors
* @Zarkness made their first contribution in https://github.com/BentoBoxWorld/Level/pull/357 * @kronnox made their first contribution in https://github.com/BentoBoxWorld/Level/pull/355 Full Changelog: https://github.com/BentoBoxWorld/Level/compare/2.19.3...2…
Similar projects
Plugin →VeinMiner
Mine the whole vein on mining a single ore/block. Make the tedious mining experience to something satisfying and fun! FTB Ultimine alternative
99.3MSueta
Let Me Despawn
Improves performance by tweaking mob despawn rules. Say bye to pesky unintentional persistent mobs.
25MSueta
VeinMiner Enchantment
Veinminer Addon - Adds vineminer enchantment to enchanting tables. Only tools with the enchantment can veinmine
18MSueta
JourneyMap
Real-time map used for mapping in-game or your browser as you explore.
14.7MSueta
Emotecraft
Create your own emotes in Minecraft.
7.5MSueta
Simple Tpa
A simple tpa plugin which sends requests
5.4MSueta