Island Biomes
2.3.0Let players change their island biome. Turn a plains island into a jungle, desert, mushroom fields, or any biome you configure.
2.3.0latestIsland Biomes 2.3.0May 7, 2026 Release Highlights
🔡 MiniMessage formatting migration* — All 23 locale files, panel YAMLs, and hardcoded Java strings have been converted from legacy&-style color codes to MiniMessage tags. 14 new translations added (cs, de, hr, hu, id, it, ko, pt, pt-BR, ro, ru, tr, vi, zh-HK). ⚙️ Ocean biome preservation* — Newchange-ocean-biomesconfig option (default:false) prevents biome changes from overwriting ocean biomes, keeping your island shorelines and underwater areas intact. 🔡 Overhauled biomes template* — 44 biomes with rebalanced costs, 9 new biomes (Mangrove Swamp, Pale Garden, Bamboo Jungle, and more), 3 starter bundles, PER_USAGE cost showcases, and improved descriptions. COMMAND panel action type* — Panel buttons can now execute commands via a newCOMMANDaction type in YAML templates, enabling custom navigation and integrations. Gamemode-aware unlock notifications* — Biome unlock messages are now context-sensitive: clickable prompts in the correct gamemode world, informational messages elsewhere. Auto-import default biomes* — When no biomes are configured for a gamemode, the addon now automatically imports frombiomesTemplate.ymlon startup. Biome queue cancellation on island delete/reset* — Queued and in-progress biome update tasks are now cancelled when an island is deleted or reset, preventing orphaned changes.Compatibility
BentoBox 3.14.0+
Paper Minecraft 1.21.x
Java 21
Upgrading
1. As always, take backups just in case. (Make a copy of everything!) 2. Stop the server. 3. Replace the old Biomes jar with this one inplugins/BentoBox/addons/. 4. Restart the server. 5. If you want the new biomes template, delete your existing biome data and let the addon auto-import, or run/bsbadmin biomes import. 6. Reviewconfig.ymlfor the newchange-ocean-biomesoption. 7. You should be good to go!Locale note: All locale files have been migrated to MiniMessage format. If you have customized locale files, you will need to update them. Delete your custom locale files to get the new defaults, or manually convert your
&-style codes to MiniMessage tags (e.g.,&c→<red>,&l→<bold>).Config note: A new
change-ocean-biomesoption has been added toconfig.yml(defaults tofalse). With this default, ocean biome blocks are preserved during biome changes. Set totrueto restore the previous behavior where all blocks are changed.Breaking change: This release requires BentoBox 3.14.0+ and Paper (Spigot is no longer supported). The addon has been updated from Java 17 to Java 21. Make sure your server meets these requirements before upgrading.
Legend
-locale files may need to be regenerated or updated. -
config options have been removed, renamed, or added. -
special attention needed. ---
New Features
[[PR #159](https://github.com/BentoBoxWorld/Biomes/pull/159)] A newOcean Biome Preservation
change-ocean-biomesconfig option controls whether biome changes affect blocks that are currently in an ocean biome (OCEAN, WARM_OCEAN, DEEP_OCEAN, etc.). When set tofalse(the default), ocean blocks keep their original biome, preserving island shorelines and underwater environments. Set totrueto restore the previous behavior where all blocks are changed regardless of their current biome.
[[PR #163](https://github.com/BentoBoxWorld/Biomes/pull/163)] The defaultOverhauled Biomes Template
biomesTemplate.ymlhas been completely rebalanced for better progression and fun. The template now includes 44 biomes (up from ~29), with 9 new additions including Mangrove Swamp, Pale Garden (with The Creaking mob), Bamboo Jungle, and more. Costs are rebalanced to correlate with mob exclusivity, 3 biomes showcase the PER_USAGE cost mechanic, and 3 bundles (Starter, Explorer, Nether & End) provide working examples. The level curve is smoothed so every 25-level band offers 3+ options.COMMAND Panel Action Type
[[PR #167](https://github.com/BentoBoxWorld/Biomes/pull/167)] Panel buttons can now execute commands when clicked by using the newCOMMANDaction type. This works both as a standalone button type and as an action on existing biome buttons alongside CHANGE/BUY/ADVANCED_PANEL. Admins can use this to add custom navigation (e.g., a "Back to Island Panel" button) or trigger any command from within the biomes GUI.Gamemode-Aware Unlock Notifications
[[PR #160](https://github.com/BentoBoxWorld/Biomes/pull/160)] Fixes [#112](https://github.com/BentoBoxWorld/Biomes/issues/112) Biome unlock messages are now context-sensitive. When a player is in the correct gamemode world, they receive the familiar clickable "use it now" prompt. When they are in a different world (e.g., another gamemode or wilderness), they receive a plain message naming the gamemode where the biome was unlocked, avoiding confusion from running commands in the wrong world.Auto-Import Default Biomes
[[PR #159](https://github.com/BentoBoxWorld/Biomes/pull/159)] When the addon starts up and finds no biomes configured for a gamemode, it now automatically imports frombiomesTemplate.yml. This removes the manual import step for fresh installations and makes the addon work out-of-the-box. ---Bug Fixes
Biome Queue Cancellation on Island Delete/Reset
[[PR #158](https://github.com/BentoBoxWorld/Biomes/pull/158)] Biome update tasks queued for an island continued processing even after the island was deleted or reset, applying biome changes to an invalid island. Tasks are now cancelled on bothIslandDeleteEventandIslandResettedEvent, with in-progress tasks stopped at the next chunk boundary via anAtomicBooleancancellation flag.Floating-Point Display Imprecision
[[PR #157](https://github.com/BentoBoxWorld/Biomes/pull/157)] Cost values like0.03were displayed as0.0299999999329447746in admin GUI tooltips due to bareString.valueOf(double)calls. A newUtils.formatDouble()method usingDecimalFormat("0.###")now shows clean values with up to 3 decimal places.DecimalFormat Locale Fix
[[PR #165](https://github.com/BentoBoxWorld/Biomes/pull/165)] The decimal formatter was using the JVM's default locale, causing servers with e.g. a German locale to format0.5as0,5. Now pinned toLocale.ROOTfor consistent dot-separated decimal display.BiomeUpdateTask Cancellation Effectiveness
[[PR #165](https://github.com/BentoBoxWorld/Biomes/pull/165)] Previously, callingcancelBiomeUpdatescompleted the future but left the task actively mutating biomes. The task now checks anAtomicBooleancancelled flag between chunks and before block iteration, making cancellation truly effective for in-progress tasks.Biomes Template Item Quantities
Spigot/Paper changed oversize stack limits to 1-99, which prevented loading items from the template when quantities exceeded 100. Items are now split into valid stack sizes. ---Other Improvements
🔺 Modernised build stack* — Java 17→21, Spigot→Paper API, BentoBox 2.7.1→3.14.0, Greenhouse 1.4.0→1.9.2, maven-compiler-plugin 3.7.0→3.15.0, maven-surefire-plugin 2.22.0→3.5.2 [[PR #161](https://github.com/BentoBoxWorld/Biomes/pull/161)] New test suite* — 82 JUnit 5 + MockBukkit tests replacing the unused PowerMock infrastructure, covering BiomesAddon, data objects, and all listeners [[PR #161](https://github.com/BentoBoxWorld/Biomes/pull/161)] * Bumpedplugin.ymlapi-version from 1.19 to 1.21 [[PR #161](https://github.com/BentoBoxWorld/Biomes/pull/161)] * Removed erroneousIllegalAccessExceptioncatch blocks in WebManager [[PR #165](https://github.com/BentoBoxWorld/Biomes/pull/165)] ---What's Changed
* Fix floating-point display imprecision for cost/increment values in admin panels by @copilot in https://github.com/BentoBoxWorld/Biomes/pull/157 * Cancel queued biome changes when island is deleted or reset by @copilot in https://gi2.2.0Biomes for BentoBox 2.2.0Dec 18, 2024 Compatibility
BentoBox API 2.7.1
Minecraft 1.21.3
Java 17
Changelog
Legend
-locale files may need to be regenerated or updated. -
config options have been removed, renamed or added. -
special attention needed.
What's Changed
*Add Ukrainian locale by @gitlocalize-app in https://github.com/BentoBoxWorld/Biomes/pull/124 *
Spanish translation by @gitlocalize-app in https://github.com/BentoBoxWorld/Biomes/pull/126 *
fix legacy translation mistake by @RUYSUE in https://github.com/BentoBoxWorld/Biomes/pull/129 *
Biomes translation by @gitlocalize-app in https://github.com/BentoBoxWorld/Biomes/pull/128 *
French translation by @gitlocalize-app in https://github.com/BentoBoxWorld/Biomes/pull/127 *
Update zh-CN.yml by @huguyt in https://github.com/BentoBoxWorld/Biomes/pull/130 * Tastybento patch by @tastybento in https://github.com/BentoBoxWorld/Biomes/pull/133 * Fix for #132 by @tastybento in https://github.com/BentoBoxWorld/Biomes/pull/134 * Fix biome naming in GUI and filtering by @tastybento in https://github.com/BentoBoxWorld/Biomes/pull/135 * Fixes #123 by @tastybento in https://github.com/BentoBoxWorld/Biomes/pull/136 *
Add new options to zh-CN.yml by @huguyt in https://github.com/BentoBoxWorld/Biomes/pull/137 *
Spanish Translation by @gitlocalize-app in https://github.com/BentoBoxWorld/Biomes/pull/144 *
Japanese translation by @gitlocalize-app in https://github.com/BentoBoxWorld/Biomes/pull/145 * Format money using vault by @tastybento in https://github.com/BentoBoxWorld/Biomes/pull/143 *
Chinese translation by @gitlocalize-app in https://github.com/BentoBoxWorld/Biomes/pull/138 * Only register IslandLevelListener if Level addon is present, Fix typos (commends) by @IAISI in https://github.com/BentoBoxWorld/Biomes/pull/140 *
Update biomesTemplate.yml by @tastybento in https://github.com/BentoBoxWorld/Biomes/pull/146 *
Update to 1.21.3 by @tastybento in https://github.com/BentoBoxWorld/Biomes/pull/147 * Release 2.2.0 by @tastybento in https://github.com/BentoBoxWorld/Biomes/pull/125
New Contributors
* @RUYSUE made their first contribution in https://github.com/BentoBoxWorld/Biomes/pull/129 * @huguyt made their first contribution in https://github.com/BentoBoxWorld/Biomes/pull/130 * @IAISI made their first contribution in https://github.com/BentoBoxWorld/Biomes/pull/140 Full Changelog: https://github.com/BentoBoxWorld/Biomes/compare/2.1.1...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