1.14.0 - 2020 Anniversary Update
Description
BentoBox 1.14.0 celebrates BentoBox's third birthday which occurred on May 21st (🎂). This update introduces the Minecraft 1.16.1 support, as well as notable API additions for Addons, various quality of life improvements and lots of little tweaks for those who want to get the most out of BentoBox. And, as usual, we improved performances and fixed some lots of bugs!
We're still in the process of writing these Release Notes. If you'd like to learn more about this update, come back in a few days!
Thanks to everyone for your awesome support! ❤️
Which Minecraft versions are compatible with this release?
Compiled against: Spigot 1.16.1.
Tested on: 1.16.1 and 1.15.2.
Upgrading from 1.15.2? See below for edits you'll need to make to config.yml files.
Support BentoBoxWorld
As a user, you're the one that keeps us thrilled to make continuous updates and improvements to all the BentoBoxWorld products. This is a voluntary and time-consuming yet exciting hobby.
So don't hesitate to join our Discord server and give us a hug, a “Thank You”. And if you feel that extra-generosity rushing in, tip us on PayPal or become a sponsor of tastybento, that's really much appreciated! (Donors get a special rank on our Discord server!) ❤️
Overview of the new features
1.16.1 support and upgrading
This release adds support for 1.16.1. Upgrading is very simple and should mostly be automatic. 1.15.2 is still supported.
Most additions from Minecraft 1.16.x are covered by our protection. However, if you find any bug related to 1.16.x, please file it on our bug tracker so that we can squish the bug into oblivion as soon as possible.
Quick makeover to the Settings Panel
In this update, the Settings Panel received some well-deserved attention. As you can see, we have improved the "pagination system" by introducing a footer. Moreover, the "Settings" part of the Settings Panel now uses a Comparator instead of Command Block as its icon, which makes it feel less out-of-place.
We plan to iterate over the footer in the following releases by introducing, among other things, a search bar.
We also introduced a new config option in BentoBox, which allows you to define which Material you want to use as your "filler" item in our GUIs: panel.filler-material.
In the following image, I modified this config option to LIME_STAINED_GLASS_PANE:
API Updates
Here you'll find the key points of this update and the things you should do to update your addons to the new standards.
Addons
Database tables @Table annotation - to enable shorter database table names when using MySQL-like databases, use this annotation to give a specific name to your DataObject. Make sure it's unique and not something already used! If you are upgrading an addon, don't worry, BentoBox will automatically shift all the data in the old table to the new one.
FlagsManager now has a unregisterFlag(Flag) method that can be used to remove registered flags if, for example, your addon or plugin wishes to disable itself.
#1344 - item that fills the gap
Gamemodes
getOnRespawnCommand()
Changelog
Legend
⚠️ deprecated/removed API.- 🔺 need special attention.
Contents
API
- Made the setowner commands call a RANK_CHANGE event for the previous owner (#1342, #1349).
- Added
@Tableannotation to let addons choose the database table name for their DataObjects (#1348). - Gamemode addons are now enabled first (#1368).
⚠️ Removed deprecated (as of 1.6.0)SafeSpotTeleport.Builder.overrideGamemode().- Added
WorldSettings#getOnRespawnCommands()(BentoBoxWorld/AOneBlock#27, #1374) - Added stacktrace to addon's onLoad if there's a LinkageError (#1362, #1399).
- Added
FlagsManager#unregisterFlag. HeadGetterwill replace more than one of the same head if in a panel when it is obtained async.- Added
LocalesManager#isLocaleAvailable(Locale)(#1411).
Feature / Tweaks
- Fixed code smells.
- Added support for MongoDB URIs to connect to databases (@Cleymax, #1311, #1330).
- Changed the Setting Flags category's icon to
COMPARATOR. - Added some protection when executing on-join and on-leave commands (BentoBoxWorld/BSkyBlock#315).
- Added output of the top level commands registered under BentoBox in
/bentobox help. - The
general.database.prefix-characterconfig option is no longer limited to a single character (#1348). - Added/improved some config comments.
- Added config option to let admins choose the item that fills the gaps in the panels (#1344).
- Added a sound when resetting flags to default by clicking on the TNT in the Island Settings panel.
- Added a new default placeholder for gamemodes:
%[gamemode]_owns_island%(#1355). - Improved paging layout for panels.
- Improved the default "commands actions" to allow executing other plugins' commands (#1359, #1369).
- Improved asynchronous location loading for home teleporting (#1241, #1381).
- Implemented Minecraft 1.16.1 support (#1416).
- Protected breeding of Hoglins and Striders (#1418, #1419).
- Protected breaking minecarts / boats by their respective flags (#1430).
- Auto-translation of PIG_ZOMBIE to ZOMBIFIED_PIGLIN for 1.16.1 upgrading.
- Added
BREAK_HOPPERSprotection flag (#1331). - Pasting of islands is done using async methods throughout.
- Added ability to replace
[name]by the island owner's name when pasting an entity from a blueprint. - Improved head caching - heads will be cached only for 3 minutes, then refreshed async if required. Server was garbage collecting them, causing lag when doing things like
/is top(BentoBoxWorld/Level#159). - Split the animal/monster spawn flags to "natural" and "spawners" (#1351).
- Player is not teleported to their island until all their islands are pasted (world, nether and end).
- Added language selection using
/[player_command] lang [language code](as alternative to GUI) (#1411). - Added protection for redstone wires under the
REDSTONEflag (#1421). - Added protection for breeding Bees.
Localization
- Improved creeper damage and creeper griefing protection explanations.
- Fixed typo in
en-US.yml. - Tweaked spanish translation to disambiguate "roca de base" into "bedrock".
Fixes
- Fixed NPEs with "fake" players having null UUIDs.
- Fixed race condition with asynchronous SafeSpotTeleport causing issues when creating the island (BentoBoxWorld/BSkyBlock#312).
- Fixed purge not calculating player logins correctly (#1333).
- Fixed duplicate addons loading (#1339).
- Fixed NPEs with worlds having null names (#1336).
- Fixed commands no longer working for players who disconnected from the server while mounted (#1341).
- Fixed player heads not being loaded properly if the player name had color codes in it (#1343).
- Fixed addon api-version compatibility check (#1346).
- Improved handling of formatting errors in localizations (#1290).
- Fixed glass panes in panel headers not having an empty name (#1344).
- Fixed Flags alphabetical sort not working properly due to the text color.
- Fixed missing permission not showing for the multi sethome command (#1367).
- Fixed UTF-8 handling for comments in YAML files (#1372).
- Fixed admin blueprint delete command (#1382).
- Fixed lightning from firing blocks if
FIRE_IGNITEis not set for visitors (#1383). - Fixed the island ban command sending a no-permission message instead of an insufficient-rank message.
- Fixed Elytra protection - players could still teleport into an island and be able to fly (#1403).
Removed features
- Removed Schem (our BentoBox pre-Blueprint homemade format) to Blueprint conversion.
- Removed fetching credits for non-installed addons from GitHub.

