1.5.0 - World of Gooeys Update
Description
Ahoy! The super-groovy BentoBox 1.5.0 lands from the sky, bringing down a lot of exciting new stuff such as long-awaited User Experience improvements, for your BentoBox server to become top-notch!
This update has been more than two months in the making (250+ commits, +5k lines of code), and we’re proud to finally release it. BentoBox 1.5.0 brings in state-of-the-art features that make it a truly unique and exciting release: new GUIs (gooeys), better placeholders, Blueprints, Island creation panel... To learn more about all those crazy things, just keep reading this changelog!
This is a big release - probably the biggest we've ever made - and the only one of its kind. This implies you must take backups upon updating. We've worked on some "converters" to ensure backward-compatibility, but it's still possible that something may go wrong.
Which versions are compatible with this release?
1.13 and 1.13.1 are no longer compatible with BentoBox 1.5.0, yet 1.13.2 still is and remains an officially compatible server version.
In regards to 1.14+, 1.14.2 is the only version that we're officially supporting, and also the only one you should be using due to the various fixes Mojang put in it.
Update instructions
- TAKE BACKUPS.
- 1.14 enforces all lowercase names for worlds. We recommend everyone to rename the world folders to lowercase and update all the configs accordingly. Note: some addons' data might need to be adapted as well (Challenges, Biomes, ...).
- 1.14 also enforces a denial of the teleportation to nether/end worlds if
allow-nether
andallow-end
are set tofalse
in the server properties. Set them totrue
if that's not already the case. Note: as of this version, it should be possible to set one of BentoBox's worlds as the default world for your server, as well as settingBentoBox
as the generator for these worlds inbukkit.yml
. YAML
databases have been deprecated. While they may still work fine, some addons might encounter issues. We highly recommend you to migrate your database type toJSON
. More information can be found in the config comments and on this video. Note:MYSQL
,MARIADB
andMONGODB
databases are not affected by that.
Schems are dead, long live the Blueprints!
For more detailed information about Blueprints, please read Blueprints.
Existing Schems will be converted into the Blueprint format upon loading 1.5.0 for the first time. Yet, take backups in case something goes wrong!
Goeeys (GUIs)
Graphical User Interfaces make the overall game feel more enjoyable and look nicer.
BentoBox Management Panel
The BentoBox Management Panel can be opened with /bentobox manage
. It gives you an overview of your BentoBox setup: installed addons and plugins, enabled hooks, server compatibility and more (to come)!
Catalog
The Catalog takes advantage of our GitHub Link. It will be further improved in the future, but it already grants you with the ability to see what the official addons and gamemodes are! It can be opened with /bentobox catalog
or via the BentoBox Management Panel.
Island Creation Panel
The Island Creation Panel is a long-awaited feature, and here it comes! It shows up to players when they execute the create
or reset
command.
Blueprint Bundle Manager
With Blueprints comes the Blueprint Bundle Manager! You can open it using the /[admin command] blueprint
. Blueprint Bundles are what your players will see in the Island Creation Panel.
Placeholders
Placeholders underwent a big overhaul in this update. We improved their format, added 18 more placeholders and added support for MVdWPlaceholderAPI!
Better placeholders
We improved how placeholders are handled. Check out the Wiki to see their new and better format!
Use external placeholders inside BentoBox
It is now possible to put placeholders from external plugins in our localizations! I don't really know how it could be used, but hey!, it's supported! 😛
Localization
Localizations play a major role in the ability for BentoBox to be used and understood by worldwide users and communities. Just like every update, we're adding new texts into BentoBox, yet those are often not translated to the existing locales - as neither of us at BentoBoxWorld speak these languages. However, for this update, we received the help of kind members from our community, who helped us translating BentoBox into a few more languages!
If you want to help us translating BentoBox and addons too, please join our Discord server.
We will continue to improve the locales over the next versions - we've received quite a lot of feature requests that will definitely make them better once implemented!
🇫🇷 Le jeu à la française
La traduction française arrive, mais elle est encore incomplète. Si un cher compatriote au fromage et à la baguette veut m'assister dans cette tâche, qu'il se manifeste sur le Discord !
🇪🇸 Entretenimiento con los colores de España
Sí! Thanks to @SrAcosta, we've got a nice Spanish translation for BentoBox.
🇱🇻 Nedaudz jautrība latviski
Thanks to @BONNe, we've now got a nice and fresh Latvian translation for BentoBox as well!
🇮🇹 An Italian translation too!
Thanks to @jummes, we've also got an Italian translation for BentoBox.
Translators, here's a tool to help you!
We created the /bbox locale
command. This very spammy command will help you to know which translations are missing from your locale file so that you can get a better overview of what's left to do.
Conversion: from out of fashion to state-of-the-art
For more detailed information and step-by-step conversion guide, please read Migration from an external plugin.
Changelog
Legend
⚠️ may break parts of the API.- 🔺 special attention needed.
Contents
API
- Added nullability annotations to various places in the code.
- Added
PlayersManager#getResetsLeft(World, UUID)
. - Improved javadocs on various places in the code.
- Added icons for addons (
icon: MATERIAL
in theaddon.yml
). ⚠️ DeprecatedGameModePlaceholderManager
.- Fixed inconsistency between
#getMembers()
fromIsland
andIslandsManager
(#627, #628). - Added icons for Hooks.
- Added
Island#getGameMode()
(#631). - Added
OfflineMessageEvent
. - Added
IslandsManager#getIslandCache
. - Panel's titles and PanelItem's names are now automatically color-translated (@BONNe, #660).
- Commands and world registration for addon now must be done in
Addon#onLoad()
as BentoBox now loads at STARTUP (#661). - Added
IslandNearCommand
(#56). ⚠️ Addons that use the Config API must now implementConfigObject
in their config class instead of DataObject.- Added
Flag.Builder#addon(Addon)
. - Added
Addon#registerFlag(Flag)
(@BONNe, #697). - Added
AdminSwitchCommand
(BentoBoxWorld/BSkyBlock#132).
Feature / Tweaks
- Improved handling of default placeholders for GameModeAddons.
- Added 18 new default placeholders for GameModeAddons (#621).
- Improved the registration of placeholders for PlaceholderAPI (they're now registered in the correct expansion).
- Added the BentoBox Management Panel (
/bentobox manage
). - Improved the "warp not safe" message.
- Implemented a hook with dynmap (#475).
- Improved the Schem/Blueprint paster (#632).
- 🔺 Implemented Blueprints as a replacement of Schems (#672, #691). Note: existing schems will automatically be converted to this new format.
- Added the BentoBox Addons Catalog (
/bentobox catalog
). - 🔺 Added a few web/GitHub related settings in
config.yml
. - Improved success messages for various commands (#630).
- Added
[name]
text variable incommands.admin.team.setowner.already-owner
. - Added
/bentobox locale
to perform analysis in the locale files to find missing translations. - Rewrote the chunk deletion due to 1.14 changes (#648).
- Added
DYE
(PROTECTION) flag (#653). - 🇪🇸 Added
es-ES
locale (@SrAcosta). - Enabled GameModeAddons to run as the only world on the server (#654, #661).
- Improved the feedback when trying to edit Flags in the settings panel while not being the owner of the island (#638).
- Made Clipboard completely asynchronous (#504).
- Implemented full addon reloading using
/bbox reload <addon>
(#601). - 🔺
JSON
is now the default database type (#662). JSON
database files are now pretty-printed (#662).- Added the ability to migrate from a database type to another through the use of a command and specific transition database types (#662).
- 🇱🇻 Added
lv-LV
locale (@BONNe, #655). - Implemented support for external placeholders in our own messages.
- Added display of locales' authors in the language selection panel.
- Made the loading time at startup much more accurate.
- 🔺 Split
TNT
flag intoTNT_DAMAGE
(SETTING) andTNT_PRIMING
(PROTECTION) (#566, #649). - Implemented 1.14 "support". Note: you may need to use specific addons' versions if you want to fully benefit of the 1.14 support.
- Added asynchronous save for
MARIADB
database type. - Improved performances in
IslandsManager
andIslandWorldManager
(@BONNe, #676, #692). - Improved
/bentobox version
output. - Added MVdWPlaceholderAPI support (#651).
- 🇫🇷 Added
fr-FR
locale (#639). - Improved performance when blocking the End Dragon from spawning (@BONNe, #723).
- 🇮🇹 Added
it-IT
locale (@jummes, #476, #724). - Added
/bentobox rl
as an alias for/bentobox reload
. - Added a setting for gamemodes (
leavers-lose-reset
) to makeIslandTeamLeaveCommand
remove a reset from player (#738). - Added preventive code to close all panels when the plugin gets reloaded (#726, #743).
- Added
logs.github-download-data
option in config.
Fixes
- Fixed
OFFLINE_GROWTH
flag not having a description inen-US
. - Fixed teleporting back from standard nether or end not working (#634).
- Fixed BentoBox still disabling itself if running on an incompatible server.
- Fixed some typos and inconsistencies in various locales.
- Fixed some config settings not being consistently saved to config.yml through multiple restarts (#657).
- Fixed incorrect home location when joining a locked island (@wellnesscookie, #665, #666).
- Fixed some permissions (BentoBoxWorld/BSkyBlock#120).
- Fixed PlaceholderAPI expansions being unregistered when doing
/placeholderapi reload
(#629). - Fixed islands not loading because of no longer existing flags (#680).
- Fixed some code smells (#698).
- Fixed Clipboard not being cleared when copying (#707).
- Fixed player dropping into a block and suffocating after an island reset due to specific Spigot settings (#705).
- Fixed superflat generation with Multiverse (#716).
- Fixed new team members randomly not being able to join an island (#718).
- Fixed error when pasting signs.
- Fixed stale home locations not being removed if their world became null.
- Fixed the
OFFLINE_GROWTH
not working properly (#729). - Fixed the
kicked-keep-inventory
gamemode option not being properly implemented (#738). - Added a home location failsafe when teleporting player to his home (#728 (comment))
- Fixed errors with
/bentobox reload
(#731).