Releases: BentoBoxWorld/BentoBox
Release 1.23.1
This is Release 1.23.0 with a hot-fix to remove debug console spam. Please see the 1.23.0 release notes for the contents.
What's Changed
- 1.23.1 release - hot fix by @tastybento in #2120
Full Changelog: 1.23.0...1.23.1
Release 1.23.0
New in this release
🔺With 1.19.4 comes changes to the underlying API that affects how BentoBox can load Addons that forced a number of changes to BentoBox. Now, more than ever, Addons are like Plugins and will be visible in the /plugins
command. Therefore, make sure you update your Addons to the latest version compatible with 1.23.0 of BentoBox to ensure they load and work correctly.
Other changes:
- New flags for island protection HARVEST and CROP_PLANTING - enable players to allow visitors (or coop/trusted) to do farming
- Support for 1.19.4
- Adds API to enable translations to be set and specific API for flags #2109
- Uses NMS to paste islands
- New flags SHULKER_TELEPORT and ENDERMAN_TELEPORT that can prevent a shulker or enderman from teleporting on an island setting basis.
- Locale files can now use the placeholder [display_name] instead of [name] to show the display (colorful) name of a player
- Adds API to enable a GameModeAddon to declare whether it will use the legacy chunk deletion approach or the new one. The legacy is enough for void worlds. #2096 It also means the backup worlds will not be generated.
- Enables banned commands to be more than one word. #2092
Compatibility
✔️ Minecraft 1.18.x to 1.19.4, but optimized with NMS for 1.19.4
✔️ Java 17
✔️ Adonis should be updated to their latest version to work with this version of BentoBox
Downloading
It's a good idea to use our download site where you can pick and choose add-ons: https://download.bentobox.world.
Upgrading
- As always, take backups just in case. (Make a copy of everything!)
- Stop the server
- Replace the BentoBox jar with this one
- Download the latest versions of all your addons and put them in the Addons folder
- Restart the server
- You should be good to go!
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
- Adds API to enable a GameModeAddon by @tastybento in #2096
- Javadoc and other cleanup from code analysis by @tastybento in #2099
- 🔡Relates to #2104. Adds user.displayName() as a placeholder option by @tastybento in #2108
- Update to 1.19.3 for NMS by @tastybento in #2107
- Implements NMS for pasting and supports older versions of server by @tastybento in #2110
- 🔡Adds API to enable translations to be set and specific API for flags by @tastybento in #2109
- Disable chunk generation on rengeneration by @BONNe in #2114
- Version 1.23.0 by @tastybento in #2118
Full Changelog: 1.22.0...1.23.0
1.22.0
New in this release
This release changes how islands are deleted to allow Game Modes to be able to use the latest Bukkit custom world generator API that allows various vanilla generation aspects to be used. The approach taken is to have a pristine reference world stored inside the game world folder (in the bentobox
folder) that is copied over to the playing world once a reset occurs. The dummy world files act like a cache and should generally never need pruning, but they can be deleted if required because they will be regenerated when required.
Compatibility
✔️ Minecraft 1.18.x to 1.19.3, but optimized with NMS for 1.19.x
✔️ Java 17
✔️ See below for DynMap tips.
Downloading
It's a good idea to use our download site where you can pick and choose add-ons: https://download.bentobox.world.
Upgrading
- As always, take backups just in case. (Make a copy of everything!)
- Stop the server
- Replace the BentoBox jar with this one
- Restart the server
- You should be good to go!
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
- Rework SQL database implementation. by @BONNe in #1993
- Register BentoBox World Generator option with MyWorlds by @bergerkiller in #2039
- Mark end portals and gateways as unsafe location. by @BONNe in #2042
- Add and fix tests for end gateway and portal. by @tastybento in #2044
- Fixes #2045. Hides invisible team members from the count. by @tastybento in #2047
- 2046 null player placeholder support by @tastybento in #2048
- Support for 1.19.3 by @tastybento in #2060
- Code cleanup by @tastybento in #2065
- 2049 trees growing outside range by @tastybento in #2050
- Code clean up from Sonar Cloud analysis by @tastybento in #2068
- Remove 1.18.2 from supported version list. by @BONNe in #2074
- Add [owner] in command placeholders #2080 by @tastybento in #2081
- Add variable parsing on reference text by @BONNe in #2073
- Uses seed worlds for deletion purposes by @tastybento in #2084
- 🔡 Update locale of Chinese-Hong Kong (zh-HK) by @JamesMCL44 in #2085
- New version by @tastybento in #2069
- Fixes missing FLAG check on clicking minecart entities (#2031)
New Contributors
- @bergerkiller made their first contribution in #2039
- @JamesMCL44 made their first contribution in #2085
Know issues
During the first run of BentoBox, you will see these worlds being generated and the associated vanilla error:
ERROR]: No key layers in MapLike[{}]
This is expected and not important... Mojang is lazy to fix the message that complains when a "flat" world without any "layers" is created via spigot api. A flat world with empty layers produces that message on first startup even in vanilla Minecraft.
Full Changelog: 1.21.1...1.22.0
DynMap Tips
Dynmap will pick up on the reference worlds that are used for deletion, so to hide them from view, open 'plugins/dynmap/worlds.txt' and add/change the world-section for the world you want to hide. Add the value 'enabled: false' to that world-section, so that you get something like the following:
worlds:
- name: bskyblock_world_nether-bentobox
enabled: false
- name: bskyblock_world_the_end-bentobox
enabled: false
- name: bskyblock_world-bentobox
enabled: false
- name: acidisland_world-bentobox
enabled: false
- name: acidisland_world_the_end-bentobox
enabled: false
- name: acidisland_world_nether-bentobox
enabled: false
- name: oneblock_world_nether-bentobox
enabled: false
- name: oneblock_world_the_end-bentobox
enabled: false
- name: oneblock_world-bentobox
enabled: false
See also this FAQ.
Release 1.21.1
Compatibility
✔️ Minecraft 1.18.x to 1.19.2, but optimized with NMS for 1.19.x
✔️ Java 17
Upgrading
- As always, take backups just in case. (Make a copy of everything!)
- Stop the server
- Replace the BentoBox jar with this one
- Restart the server
- You should be good to go!
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
- Fixes wrong protection bounding box by @BONNe in #1971
- Fix rare null on invitedPlayer by @HSGamer in #1972
- Support 1.18 negative y by @emmanuelvlad in #1973
- More abstract on World Regenerator by @HSGamer in #1969
- Feat: Filtering spectators from visitors by @emmanuelvlad in #1974
- More abstract on Blueprint Paster by @HSGamer in #1970
- Implement the ability to create ItemStack with Custom Model Data. by @BONNe in #1981
- Move database dependencies to the Spigot Libraries. by @BONNe in #1982
- Fixes Glowing Item frames protection by @BONNe in #1985
- Implement new 1.19 materials and entities by @BONNe in #1990
- Raid abuse fix by @BONNe in #1991
- Fix Actions by @Sliman4 in #1992
- Fixes blueprint pasting messages. by @BONNe in #1979
- Implements adding unknown default island flag values in settings. by @BONNe in #2001
- Check if a unique name contains chars not supported in regex expression by @gmijo47 in #1998
- Proper dimension processing by @BONNe in #2015
- Update Spigot 1.19.2. by @BONNe in #2017
- setBlock & setEntity as CompletableFuture by @HSGamer in #2019
- Rework blueprint and blueprint bundle names. by @BONNe in #2026
- Adds glow berries protection. by @BONNe in #2027
- Use Spigot-only events. by @BONNe in #2029
New Contributors
- @emmanuelvlad made their first contribution in #1973
- @Sliman4 made their first contribution in #1992
- @gmijo47 made their first contribution in #1998
Full Changelog: 1.20.1...1.21.1
Release 1.20.1
Compatibility
✔️ Minecraft 1.17.x to 1.18.1, but optimized with NMS for 1.18.x
✔️ Java 16, runs on Java 17
Upgrading
- As always, take backups just in case. (Make a copy of everything!)
- Stop the server
- Replace the BentoBox jar with this one
- Restart the server
- You should be good to go!
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
- Address unnecessary PVP reports on each teleport by @BONNe in #1948
- Fixes bug with Safe Spot Teleport by @BONNe in #1951
- Add an option in SafeSpotTeleport to cancel if fail by @BONNe in #1952
- Clearer paster by @tastybento in #1953
- Improve team kick command by @BONNe in #1957
- Solve crashes with Addon#allLoaded call by @BONNe in #1959
- using java 16 syntax by @Invvk in #1958
- Fixes kick command by @BONNe in #1960
- Fixes a bug with blueprint height by @BONNe in #1961
- Fixes Lava Duplication Glitch by @BONNe in #1964
- Fixes failures in obsidian scooping listener. by @BONNe in #1965
New Contributors
Full Changelog: 1.20.0...1.20.1
Release 1.20.0
Compatibility
✔️ Minecraft 1.17.x to 1.18.1, but optimized with NMS for 1.18.x
✔️ Java 16, runs on Java 17
Upgrading
If you are on BentoBox 1.19.0 then do this:
- As always, take backups just in case. (Make a copy of everything!)
- Stop server
- Replace the BentoBox jar with this one
- (OPTIONAL) As there are a number of locale differences, we recommend you delete (or move) the
BentoBox/locales
folder so that all the files can be regenerated. If you customized any of the files, then you'll need to merge in your changes. - Restart the server
- You should be good to go!
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
New Features
- Add an admin delete homes command by @tastybento #1900 This admin command removes all homes from a specified island.
- ⚙️Optimize safe location searching with configurable range limit #1892 by @HSGamer
Locale Updates
- 🔡Update dates in BentoBox console banner (2e6ef59) by @tastybento
- 🔡German Translation by @gitlocalize-app in #1904
- 🔡Turkish translation by @gitlocalize-app in #1905
- 🔡Dutch translation by @gitlocalize-app in #1906
- 🔡Chinese Translation by @gitlocalize-app in #1907
- 🔡Translate zh-CN.yml via GitLocalize by @gitlocalize-app in #1908
- 🔡Update Vietnamese by @gitlocalize-app in #1910
Bug Fixes
- Fix Biome compatibility on 1.17 by @HSGamer in #1895
- Rework the chunk deletion by @HSGamer in #1897
- fix an exception when cleaning an offline player by @HSGamer in #1898
- ⚙️Flags for Block Explode by @HSGamer in #1899
- Change AbsolutePath to CanonicalPath by @BONNe in #1901
- Fixes a bug that increased all button count by 1 by @BONNe in #1911
- Fixes a bug with on-join commands by @BONNe in #1926
- Implement duplicated actions click type by @BONNe in #1919
- Fixed bug with running onLeave commands by @BONNe in #1929
- Implement multiple panels in single file by @BONNe in #1932
- Fix null in reject invite by @HSGamer in #1933
API Related
- Adds bonus range elements to Island object. by @tastybento in #1921
- Extend ranked commands by @BONNe in #1928
- Templated Panel Title Parameters by @BONNe in #1934
- Implement a flag that rules all flags. by @BONNe in #1927
- Add missing templated panel builder method by @BONNe in #1935
- Implement ACTION defining by ACTION TYPE by @BONNe in #1938
Full Changelog: 1.19.0...1.20.0
Release 1.19.0
This is a bug fix release. See the upcoming BentoBox 1.19.x for Minecraft 1.18.x support.
Compatibility
✔️ Minecraft 1.17.x to 1.18.1, but optimized with NMS for 1.18.x
✔️ Java 16, runs on Java 17
Upgrading
If you are on BentoBox 1.18.1 then do this:
- As always, take backups just in case. (Make a copy of everything!)
- Stop server
- Replace the BentoBox jar with this one
- Restart the server
- You should be good to go!
Changelog
Legend
- 🔡 locale files may need to be regenerated or updated.
- ⚙️ config options have been removed, renamed or added.
- 🔺 special attention needed.
Change Log
Bug Fixes
- Make BlockEndDragon support custom max world height (#1888) - Use max world height instead of magic 255 value.
- Send PVP toggle messages only to on-island players. (#1885)
- Work with Minecraft 1.18.x
Full Changelog: 1.18.1...1.19.0
Release 1.18.1
This is a bug fix release. See the upcoming BentoBox 1.19.x for Minecraft 1.18.x support.
Compatibility
✔️ Minecraft 1.17.1 (for 1.16.5 compatibility use the 1.16.x release)
✔️ Java 16
This release does mostly work on Minecraft 1.18 except for not being optimized when pasting or deleting islands. Also, the admin range command will cause a bug.
Upgrading
If you are on BentoBox 1.18.1 then do this:
- As always, take backups just in case. (Make a copy of everything!)
- Stop server
- Replace the BentoBox jar with this one
- Restart the server
- You should be good to go!
Changelog
Legend
- 🔡 locale files may need to be regenerated or updated.
- ⚙️ config options have been removed, renamed or added.
- 🔺 special attention needed.
Change Log
Bug Fixes
API
- Added snapshot repo to Maven info. (commit: f3a7ed1)
What's Changed
Full Changelog: 1.18.0...1.18.1
Release 1.16.6 for Minecraft 1.16.5
Compatibility
✔️ Minecraft 1.16.5 - note - this is a release for Minecraft 1.16.5. If you are on 1.17.1 or greater, then use the latest general BentoBox release.
✔️ Java 16
Upgrading
If you are on BentoBox 1.16.5 then this should just be a drop-in replacement, but as always, take backups just in case.
- Stop server
- Replace the BentoBox jar with this one
- Make a backup of your server worlds and the BentoBox folder
- Restart the server
- You should be good to go!
Changelog
Legend
- 🔡 locale files may need to be regenerated or updated.
- ⚙️ config options have been removed, renamed or added.
- 🔺 special attention needed.
Change Log
Bug Fixes
- Admin teleport command in console caused an error (Commit: 6b6ab71)
- Sometime island teleport home command did not work. (Commit: 930433b)
- When deleting an island, 1 block around two of the edges could sometimes be left depending on the size of the island. (Commit: 3c65194) #1863
- Island info command was mis-stating the island protection coordinates by 1 (Commit: b5fd992)
- Island range perms could be 2x island distance #1851 (Commit: 3dd9e97) This could allow protection ranges to be much greater than the island range and therefore overflow into adjacent islands.
API
User.getInstance
can no longer be called with a null - this will throw an exception- You cannot use
User#getPlayer
if the User is not a player, e.g., the console. Check that it is a player before trying. The same is true with offlinePlayer. Similarly, you cannot ask for a user's location if the user is not a player. #1856 - Deprecated events, like IslandEvents and TeamEvents were removed. If you write your own events then make sure you implement handlers for them!
- Removed the unused WorldEdit hook. (#1853)
- Fix "ugly" enchant name. (#1858)
- Added API to get a translation without color conversion (Commit: af3c0a8) Enables to get the translation without converting colors to Bukkit colors.
Release 1.18.0
This is a bug fix release and also updates and cleans up the BentoBox API.
Compatibility
✔️ Minecraft 1.17.1 (for 1.16.5 compatibility use the 1.16.x release)
✔️ Java 16
Upgrading
If you are on BentoBox 1.17.3 then do this:
- As always, take backups just in case. (Make a copy of everything!)
- Stop server
- Replace the BentoBox jar with this one
- Restart the server
- You should be good to go!
Changelog
Legend
- 🔡 locale files may need to be regenerated or updated.
- ⚙️ config options have been removed, renamed or added.
- 🔺 special attention needed.
Change Log
Bug Fixes
- Sometime island teleport home command did not work. (Commit: 930433b)
- When deleting an island, 1 block around two of the edges could sometimes be left depending on the size of the island. (Commit: 3c65194) #1863
- Island info command was mis-stating the island protection coordinates by 1 (Commit: b5fd992)
- Island range perms could be 2x island distance #1851 (Commit: 3dd9e97) This could allow protection ranges to be much greater than the island range and therefore overflow into adjacent islands.
API
User.getInstance
can no longer be called with a null - this will throw an exception- You cannot use
User#getPlayer
if the User is not a player, e.g., the console. Check that it is a player before trying. The same is true with offlinePlayer. Similarly, you cannot ask for a user's location if the user is not a player. #1856 - Deprecated events, like IslandEvents and TeamEvents were removed. If you write your own events then make sure you implement handlers for them!
- Removed the unused WorldEdit hook. (#1853)
- Fix "ugly" enchant name. (#1858)
- Added API to get a translation without color conversion (Commit: af3c0a8) Enables to get the translation without converting colors to Bukkit colors.