Skip to content

1.5.0 - World of Gooeys Update

Compare
Choose a tag to compare
@Poslovitch Poslovitch released this 09 Jun 08:09
· 2248 commits to master since this release

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.

image

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

  1. TAKE BACKUPS.
  2. 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, ...).
  3. 1.14 also enforces a denial of the teleportation to nether/end worlds if allow-nether and allow-end are set to false in the server properties. Set them to true 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 setting BentoBox as the generator for these worlds in bukkit.yml.
  4. 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 to JSON. More information can be found in the config comments and on this video. Note: MYSQL, MARIADB and MONGODB 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)!

image

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.

The Gamemodes Catalog
image

The Addons Catalog
image

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.

image

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.

The Blueprint Bundle list
image

Edit the Blueprint Bundle!
image

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

  1. Added nullability annotations to various places in the code.
  2. Added PlayersManager#getResetsLeft(World, UUID).
  3. Improved javadocs on various places in the code.
  4. Added icons for addons (icon: MATERIAL in the addon.yml).
  5. ⚠️ Deprecated GameModePlaceholderManager.
  6. Fixed inconsistency between #getMembers() from Island and IslandsManager (#627, #628).
  7. Added icons for Hooks.
  8. Added Island#getGameMode() (#631).
  9. Added OfflineMessageEvent.
  10. Added IslandsManager#getIslandCache.
  11. Panel's titles and PanelItem's names are now automatically color-translated (@BONNe, #660).
  12. Commands and world registration for addon now must be done in Addon#onLoad() as BentoBox now loads at STARTUP (#661).
  13. Added IslandNearCommand (#56).
  14. ⚠️ Addons that use the Config API must now implement ConfigObject in their config class instead of DataObject.
  15. Added Flag.Builder#addon(Addon).
  16. Added Addon#registerFlag(Flag) (@BONNe, #697).
  17. Added AdminSwitchCommand (BentoBoxWorld/BSkyBlock#132).

Feature / Tweaks

  1. Improved handling of default placeholders for GameModeAddons.
  2. Added 18 new default placeholders for GameModeAddons (#621).
  3. Improved the registration of placeholders for PlaceholderAPI (they're now registered in the correct expansion).
  4. Added the BentoBox Management Panel (/bentobox manage).
  5. Improved the "warp not safe" message.
  6. Implemented a hook with dynmap (#475).
  7. Improved the Schem/Blueprint paster (#632).
  8. 🔺 Implemented Blueprints as a replacement of Schems (#672, #691). Note: existing schems will automatically be converted to this new format.
  9. Added the BentoBox Addons Catalog (/bentobox catalog).
  10. 🔺 Added a few web/GitHub related settings in config.yml.
  11. Improved success messages for various commands (#630).
  12. Added [name] text variable in commands.admin.team.setowner.already-owner.
  13. Added /bentobox locale to perform analysis in the locale files to find missing translations.
  14. Rewrote the chunk deletion due to 1.14 changes (#648).
  15. Added DYE (PROTECTION) flag (#653).
  16. 🇪🇸 Added es-ES locale (@SrAcosta).
  17. Enabled GameModeAddons to run as the only world on the server (#654, #661).
  18. Improved the feedback when trying to edit Flags in the settings panel while not being the owner of the island (#638).
  19. Made Clipboard completely asynchronous (#504).
  20. Implemented full addon reloading using /bbox reload <addon> (#601).
  21. 🔺 JSON is now the default database type (#662).
  22. JSON database files are now pretty-printed (#662).
  23. Added the ability to migrate from a database type to another through the use of a command and specific transition database types (#662).
  24. 🇱🇻 Added lv-LV locale (@BONNe, #655).
  25. Implemented support for external placeholders in our own messages.
  26. Added display of locales' authors in the language selection panel.
  27. Made the loading time at startup much more accurate.
  28. 🔺 Split TNT flag into TNT_DAMAGE (SETTING) and TNT_PRIMING (PROTECTION) (#566, #649).
  29. Implemented 1.14 "support". Note: you may need to use specific addons' versions if you want to fully benefit of the 1.14 support.
  30. Added asynchronous save for MARIADB database type.
  31. Improved performances in IslandsManager and IslandWorldManager (@BONNe, #676, #692).
  32. Improved /bentobox version output.
  33. Added MVdWPlaceholderAPI support (#651).
  34. 🇫🇷 Added fr-FR locale (#639).
  35. Improved performance when blocking the End Dragon from spawning (@BONNe, #723).
  36. 🇮🇹 Added it-IT locale (@jummes, #476, #724).
  37. Added /bentobox rl as an alias for /bentobox reload.
  38. Added a setting for gamemodes (leavers-lose-reset) to make IslandTeamLeaveCommand remove a reset from player (#738).
  39. Added preventive code to close all panels when the plugin gets reloaded (#726, #743).
  40. Added logs.github-download-data option in config.

Fixes

  1. Fixed OFFLINE_GROWTH flag not having a description in en-US.
  2. Fixed teleporting back from standard nether or end not working (#634).
  3. Fixed BentoBox still disabling itself if running on an incompatible server.
  4. Fixed some typos and inconsistencies in various locales.
  5. Fixed some config settings not being consistently saved to config.yml through multiple restarts (#657).
  6. Fixed incorrect home location when joining a locked island (@wellnesscookie, #665, #666).
  7. Fixed some permissions (BentoBoxWorld/BSkyBlock#120).
  8. Fixed PlaceholderAPI expansions being unregistered when doing /placeholderapi reload (#629).
  9. Fixed islands not loading because of no longer existing flags (#680).
  10. Fixed some code smells (#698).
  11. Fixed Clipboard not being cleared when copying (#707).
  12. Fixed player dropping into a block and suffocating after an island reset due to specific Spigot settings (#705).
  13. Fixed superflat generation with Multiverse (#716).
  14. Fixed new team members randomly not being able to join an island (#718).
  15. Fixed error when pasting signs.
  16. Fixed stale home locations not being removed if their world became null.
  17. Fixed the OFFLINE_GROWTH not working properly (#729).
  18. Fixed the kicked-keep-inventory gamemode option not being properly implemented (#738).
  19. Added a home location failsafe when teleporting player to his home (#728 (comment))
  20. Fixed errors with /bentobox reload (#731).