Skip to content

1.14.0 - 2020 Anniversary Update

Choose a tag to compare

@Poslovitch Poslovitch released this 07 Jul 21:33
· 2433 commits to master since this release

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

image

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:

image

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

  1. Made the setowner commands call a RANK_CHANGE event for the previous owner (#1342, #1349).
  2. Added @Table annotation to let addons choose the database table name for their DataObjects (#1348).
  3. Gamemode addons are now enabled first (#1368).
  4. ⚠️ Removed deprecated (as of 1.6.0) SafeSpotTeleport.Builder.overrideGamemode().
  5. Added WorldSettings#getOnRespawnCommands() (BentoBoxWorld/AOneBlock#27, #1374)
  6. Added stacktrace to addon's onLoad if there's a LinkageError (#1362, #1399).
  7. Added FlagsManager#unregisterFlag.
  8. HeadGetter will replace more than one of the same head if in a panel when it is obtained async.
  9. Added LocalesManager#isLocaleAvailable(Locale) (#1411).

Feature / Tweaks

  1. Fixed code smells.
  2. Added support for MongoDB URIs to connect to databases (@Cleymax, #1311, #1330).
  3. Changed the Setting Flags category's icon to COMPARATOR.
  4. Added some protection when executing on-join and on-leave commands (BentoBoxWorld/BSkyBlock#315).
  5. Added output of the top level commands registered under BentoBox in /bentobox help.
  6. The general.database.prefix-character config option is no longer limited to a single character (#1348).
  7. Added/improved some config comments.
  8. Added config option to let admins choose the item that fills the gaps in the panels (#1344).
  9. Added a sound when resetting flags to default by clicking on the TNT in the Island Settings panel.
  10. Added a new default placeholder for gamemodes: %[gamemode]_owns_island% (#1355).
  11. Improved paging layout for panels.
  12. Improved the default "commands actions" to allow executing other plugins' commands (#1359, #1369).
  13. Improved asynchronous location loading for home teleporting (#1241, #1381).
  14. Implemented Minecraft 1.16.1 support (#1416).
  15. Protected breeding of Hoglins and Striders (#1418, #1419).
  16. Protected breaking minecarts / boats by their respective flags (#1430).
  17. Auto-translation of PIG_ZOMBIE to ZOMBIFIED_PIGLIN for 1.16.1 upgrading.
  18. Added BREAK_HOPPERS protection flag (#1331).
  19. Pasting of islands is done using async methods throughout.
  20. Added ability to replace [name] by the island owner's name when pasting an entity from a blueprint.
  21. 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).
  22. Split the animal/monster spawn flags to "natural" and "spawners" (#1351).
  23. Player is not teleported to their island until all their islands are pasted (world, nether and end).
  24. Added language selection using /[player_command] lang [language code] (as alternative to GUI) (#1411).
  25. Added protection for redstone wires under the REDSTONE flag (#1421).
  26. Added protection for breeding Bees.

Localization

  1. Improved creeper damage and creeper griefing protection explanations.
  2. Fixed typo in en-US.yml.
  3. Tweaked spanish translation to disambiguate "roca de base" into "bedrock".

Fixes

  1. Fixed NPEs with "fake" players having null UUIDs.
  2. Fixed race condition with asynchronous SafeSpotTeleport causing issues when creating the island (BentoBoxWorld/BSkyBlock#312).
  3. Fixed purge not calculating player logins correctly (#1333).
  4. Fixed duplicate addons loading (#1339).
  5. Fixed NPEs with worlds having null names (#1336).
  6. Fixed commands no longer working for players who disconnected from the server while mounted (#1341).
  7. Fixed player heads not being loaded properly if the player name had color codes in it (#1343).
  8. Fixed addon api-version compatibility check (#1346).
  9. Improved handling of formatting errors in localizations (#1290).
  10. Fixed glass panes in panel headers not having an empty name (#1344).
  11. Fixed Flags alphabetical sort not working properly due to the text color.
  12. Fixed missing permission not showing for the multi sethome command (#1367).
  13. Fixed UTF-8 handling for comments in YAML files (#1372).
  14. Fixed admin blueprint delete command (#1382).
  15. Fixed lightning from firing blocks if FIRE_IGNITE is not set for visitors (#1383).
  16. Fixed the island ban command sending a no-permission message instead of an insufficient-rank message.
  17. Fixed Elytra protection - players could still teleport into an island and be able to fly (#1403).

Removed features

  1. Removed Schem (our BentoBox pre-Blueprint homemade format) to Blueprint conversion.
  2. Removed fetching credits for non-installed addons from GitHub.