COWMODSКаталог модов
Island Level & Leaderboards

ВЕРСИИ (14)

release

2.29.0

2.29.0
7 сент. 2026 г.2,1 тыс.Minecraft: 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2paper, purpur
Скачать
Что нового
## 🎁 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.counted` and `deaths.max` settings are still honoured. `deaths.max` now 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; if `false`, 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 on `deathpenalty` and `sumteamdeaths` in `config.yml` have 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|reset` and the `team-join-reset` / `reset-on-new-island` game mode settings continue to drive BentoBox's own counter and placeholders, but Level no longer reads that counter after migration. If you were using `deaths reset` to 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.29.0
release

2.28.1

2.28.1
29 июл. 2026 г.167Minecraft: 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2paper, purpur
Скачать
Что нового
## 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 alternating `Conversation cancelled!` / `Please enter a search value` spam, 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.28.1
release

2.28.0

2.28.0
28 июл. 2026 г.25Minecraft: 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2paper, purpur
Скачать
Что нового
## 🎁 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](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.yml` limit — if an admin lowers a limit after players have donated, only up to the new limit counts toward the level - `/island donate hand` refuses 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 inv` applies 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.yml` value 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`, and `island.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 in `plugins/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 in `blockconfig.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.28.0
release

2.27.0

2.27.0
13 мая 2026 г.287Minecraft: 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2paper, purpur
Скачать
Что нового
## 🎁 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](https://github.com/BentoBoxWorld/Level/pull/432), [#433](https://github.com/BentoBoxWorld/Level/pull/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](https://github.com/BentoBoxWorld/Level/pull/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](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 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](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 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 * 💎 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.inv` translations across all locales by @tastybento * 🔺 chore: bump `api-version` to 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.27.0
release

2.26.0

2.26.0
4 мая 2026 г.42Minecraft: 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1paper, purpur
Скачать
Что нового
## 🎁 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](https://github.com/BentoBoxWorld/Level/pull/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 * ⚙️ 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.26.0
release

2.25.0

2.25.0
26 апр. 2026 г.35Minecraft: 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1paper, purpur
Скачать
Что нового
## 🎁 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](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`) 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](https://github.com/BentoBoxWorld/Level/pull/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: ```yaml 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 * ⚙️ 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.25.0
release

2.24.0

2.24.0
12 апр. 2026 г.63Minecraft: 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1paper, purpur
Скачать
Что нового
## 🎁 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 * 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_level` placeholder 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 * Add `island_members` variable 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.24.0
release

Level 2.23.0

2.23.0
21 февр. 2026 г.179Minecraft: 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11paper, purpur
Скачать
Что нового
## 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.23.0
release

Level 2.22.0

2.22.0
5 окт. 2025 г.201Minecraft: 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11paper
Скачать
Что нового
## 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.22.0
release

Level 2.21.5

2.21.5
16 авг. 2025 г.176Minecraft: 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6paper
Скачать
Что нового
## 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.21.5
release

Level 2.21.4

2.21.4
2 авг. 2025 г.167Minecraft: 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8paper
Скачать
Что нового
## 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.21.4
release

Level 2.21.3

2.21.3
28 июн. 2025 г.112Minecraft: 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6paper
Скачать
Что нового
## 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.21.3
release

Level 2.21.2

2.21.2
21 июн. 2025 г.127Minecraft: 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5paper
Скачать
Что нового
## 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.21.2
release

Level 2.20.0

2.20.0
2 апр. 2025 г.138Minecraft: 1.21.4paper
Скачать
Что нового
## New In Release 2.20.0 ### New Placeholders The new available placeholders are: ``` %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% ``` 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` command. 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.yml` 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 * 🔺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.20.0