Перейти к содержимому
Mineforgian

Island Level & Leaderboards

Island level calculator and server leaderboards. Track progression and compete across all BentoBox game modes.

Загрузки
1K
Подписчики
3
Обновлён
13 мая 2026 г.
Лицензия
EPL-2.0

Опубликован 2 апреля 2025 г.

🏆 Island Level & Leaderboards

Track your players' progress with automatic island level calculation and a server-wide leaderboard.

The Level addon scans each island and assigns a level based on the blocks placed. Rare blocks are worth more, common blocks less. Players compete to build the highest-level island on the server.

Features

  • Automatic level calculation — scans islands and assigns a score based on block values
  • Configurable block values — set how much each block type is worth
  • Server leaderboard — top islands displayed in-game and via commands
  • Per-player stats — track individual contributions
  • Works with all BentoBox game modes — BSkyBlock, AOneBlock, AcidIsland, Boxed, and more
  • Placeholder support — display levels on scoreboards, tab lists, and chat

Commands

Command Description
/island level Check your island level
/island top View the server leaderboard

📦 Requires BentoBox + a game mode addon.

Ченджлог

2.27.0Релиз26.1, 26.1.1, 26.1.2 · 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 inv command 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-linear level-calc formula is also fixed.

🔺 Level 2.27.0 requires BentoBox 3.16.0 or later.

✨ Highlights

⚙️ Donations-only mode (#432, #433)

  • New donations-only option in config.yml (default false). When true, the per-recalculation chunk scan is skipped entirely; the island level is computed from donated points alone using the configured level-calc formula
  • /island level, /island top, /island value, and /island donate continue to work; /island detail is 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 when zero-new-island-levels: true, so the starter-island handicap is recorded into initialCount and applied correctly if an admin later turns donations-only off
  • While donations-only is on, the stored initialCount is ignored at /island level time, 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)

  • New confirmable inv subcommand: 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 suggests hand / inv for the first arg, and the held-item count after hand — the previous tab-complete branch never fired in real use
  • Help text updated to parameters: "[hand [amount]] [inv]"

🧱 Custom block support across value, detail, and donate menus (#425, #427, #429)

  • Oraxen, Nexo, ItemsAdder, and CraftEngine custom blocks are no longer filtered out of /level value or rendered as nameless PAPER icons in /level detail
  • The value panel and details panel both look up the real custom-block ItemStack from each plugin's registry, so the configured texture / model data and display name are preserved
  • /island value hand on 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 BentoBox CraftEngineHook.getItemId / getItemStack helpers, so they appear with the correct icon and name throughout

🐛 Fixes

  • Negative values in island progression when level-calc is a non-linear function (e.g. 3 * sqrt(blocks / level_cost)) — progression no longer dips below zero between levels (#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 a calculateLevel() 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-version in addon.yml to 3.16.0 and depends on the new CraftEngineHook.getItemId / getItemStack helpers. 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 in plugins/BentoBox/addons/Level/locales/, copy the new donate.inv block into them or the new /island donate inv flow 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.jar into your addons folder and remove the old one
  5. If you have customised locale files, merge in the new island.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

New Contributors

Full Changelog: https://github.com/BentoBoxWorld/Level/compare/2.26.0...2.27.0

2.26.0Релиз1.21.11, 26.1, 26.1.1 · 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 new panels/donation_panel.yml template, 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 no config.yml migrations. 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)

  • New panels/donation_panel.yml template 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 by data.type: INFO, CANCEL, PREVIEW, CONFIRM
  • Decorative items (any cell with no recognised data.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-shown is 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

  • LevelsManagerTest and EquationEvaluatorTest migrated 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.yml is 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.jar into the addons folder and remove the old one
  4. Start the server

Legend

  • ⚙️ config options have been removed, renamed, or added

What's Changed

Full Changelog: https://github.com/BentoBoxWorld/Level/compare/2.25.0...2.26.0

2.25.0Релиз1.21.11, 26.1, 26.1.1 · 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.yml using their namespaced IDs, and the integration can be disabled per-server if needed. This release also makes the hand keyword in /island donate and /island value translatable, so non-English players see the keyword in their own language.

✨ Highlights

⚙️ CraftEngine Custom Block Support (#419)

  • CraftEngine blocks are now detected and counted during island level calculations
  • Block IDs use the namespaced format (e.g. mynamespace:my_block) in blockconfig.yml
  • CraftEngine can be disabled by adding CraftEngine to disabled-plugin-hooks in Level's config
  • Requires BentoBox 3.15.0+, which provides the underlying CraftEngineHook
  • Servers without CraftEngine installed are unaffected — no errors, check silently skipped

🔡 Localizable hand Keyword + Locale Sync (#416)

  • The hand argument in /island donate and /island value is now translatable via a new island.donate.hand.keyword locale key
  • English hand is always accepted as a fallback for backwards compatibility
  • All 16 non-English locale files updated to include missing keys from en-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.yml using their namespaced IDs:

blocks:
  mynamespace:my_block: 50
  mynamespace:custom_ore: 3

🔡 Locale files. Delete or regenerate your locale files to pick up the new island.donate.hand.keyword key 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.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

What's Changed

Full Changelog: https://github.com/BentoBoxWorld/Level/compare/2.24.0...2.25.0

2.24.0Релиз1.21.11, 26.1, 26.1.1 · 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 donate GUI, 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 donate chest-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
  • New ISLAND_BLOCK_DONATION protection 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 level recalculation — 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_members placeholder for the level-cost equation so you can handicap larger teams (#411)
  • New {gamemode}_points_to_next_level placeholder 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 with en-US

🐛 Fixes

  • Top ten ordering no longer drifts under concurrent writes — replaced LinkedHashMap with ConcurrentHashMap and 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 DONATED tab is a new entry in panels/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_DONATION is 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.yml so 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

Full Changelog: https://github.com/BentoBoxWorld/Level/compare/2.23.0...2.24.0

2.23.0Релиз1.21.9, 1.21.10, 1.21.11 · 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
  4. Restart the server
  5. 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

Full Changelog: https://github.com/BentoBoxWorld/Level/compare/2.22.0...2.23.0

2.22.0Релиз1.21.9, 1.21.10, 1.21.11 · 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
  4. Restart the server
  5. 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

Full Changelog: https://github.com/BentoBoxWorld/Level/compare/2.21.5...2.22.0

2.21.5Релиз1.20.4, 1.20.5, 1.20.6 · 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
  4. Restart the server
  5. 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

Full Changelog: https://github.com/BentoBoxWorld/Level/compare/2.21.4...2.21.5

2.21.4Релиз1.21.6, 1.21.7, 1.21.8 · 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
  4. Restart the server
  5. 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

Full Changelog: https://github.com/BentoBoxWorld/Level/compare/2.21.3...2.21.4

Комментарии

Загружаем…