Skip to content

Releases: BentoBoxWorld/BentoBox

1.5.1 - Thunders of the Summer

10 Jun 07:49
Compare
Choose a tag to compare

Description

BentoBox 1.5.1 is a hotfix release. We figured out that a bug related to biomes was actually caused by BentoBox, and we obviously fixed it in this release. A safeguard has also been implemented, which will paste back the Nether/End islands (that got wiped out because of Minecraft enforcing the behaviour causing #741, as of 1.14), for whom teleports to these dimensions.

As this is a patch release, you don't need to update your addons, as long as you updated them for 1.5.0.

image

Changelog

Contents

Feature / Tweaks

  1. Removed the check for updates button from the BentoBox Management Panel. It will be readded upon the implementation of the update checker.
  2. Added a safeguard that pastes Nether/End islands once the player teleports to the dimension if the island hasn't been pasted there before/is no longer existing (@YellowZaki, #712, #713).

Fixes

  1. Fixed the Island Creation Panel showing even though there is only 1 Blueprint Bundle available (#744).
  2. HOTFIX: Fixed PLAINS biome being applied to the Nether and the End after an island reset (#745).

1.5.0 - World of Gooeys Update

09 Jun 08:09
Compare
Choose a tag to compare

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](https://github.com/B...
Read more

1.4.0 - Whistle of the Spring

28 Mar 20:18
Compare
Choose a tag to compare

Description

It took us a month to come up with this release which doesn't, actually, contain all the features that were originally planned for it. Therefore, this is pretty much a bug-fix / stability improvements release, yet with a bunch of small improvements.

Ahem... And you must update your gamemodes addons. [Edit - all game modes are now updated to 1.4.0]

image

Changelog

Legend

  • ⚠️ may break parts of the API.
  • 🔡 locale files may need to be regenerated or updated.
  • ⚙️ config options have been removed, renamed or added.
  • 🔺 special attention needed.

Contents

API

  1. Added #unregisterPlaceholder(String placeholder) and #unregisterPlaceholder(Addon addon, String placeholder) in PlaceholdersManager (#592).
  2. ⚠️ Made Island#getCenter() return a clone of the location (#591 (comment)).
  3. 🔡 Added AdminSchemListCommand to display a list of schems in chat (#563).
  4. 🔡 Added IslandExpelCommand (#524).

Feature / Tweaks

  1. Players with admin.noban permission cannot be banned (#590, @YellowZaki).
  2. Prevent ender crystals from being hit (#589).
  3. 🔡 Added OFFLINE_GROWTH WORLD_SETTING flag to prevent crops from growing while island members are offline (#580).
  4. Added ability for ops to adjust any island settings, including spawn island (#599).
  5. Improved islands asynchronous deletion from database (#591, #605).
  6. Prevented dragon eggs from teleporting outside of protection range (#558).
  7. Made podzol yield podzol when broken if coarse dirt tilling is denied (#613).
  8. Made some setting save to config.yml when they are changed while the server is running (#614, #615).
  9. 🔡 ⚙️ Added ability for admins to hide some flags (#617). To do so, either add the flag to the hidden-flags list of the gamemode's config; or open the settings panel and shift click on the flags you want to hide.
  10. Made addons opt-in by default to addons metrics.
  11. Added a bunch of placeholders that get automatically registered to every GameModeAddon (#322, #616): bentobox_[gamemode]-world-friendlyname, bentobox_[gamemode]-island-distance, bentobox_[gamemode]-island-protection-range, bentobox_[gamemode]-island-owner, bentobox_[gamemode]-island-creation-date, bentobox_[gamemode]-island-spawnpoint, bentobox_[gamemode]-island-name.
  12. BentoBox no longer refuses to launch on incompatible servers (#619).
  13. Added Akarin (as NOT_SUPPORTED) and GLOWSTONE (as INCOMPATIBLE) in server compatibility check (#620, @Remu1012).

Fixes

  1. Improved code in IslandRespawnListener (#587, @Sxtanna).
  2. Fixed IslandEnterEvent and IslandExitEvent not being called if the ENTER_EXIT_MESSAGES flag was set to false.
  3. Fixed island protection range resetting if player does not have a range permission (#484).
  4. Fixed NPE when going through a non-Bentobox world portal (#583).
  5. Fixed tridents or arrows being removed if PVP was disabled (#597).
  6. Fixed code smells.
  7. Fixed ArrayOutOfBoundsException in admin delete command (#600, @BONNe).
  8. Fixed MILKING flag not protecting milking Mooshrooms (#602, @BONNe).
  9. Fixed handling of Phantoms, Pufferfishes and a few other mobs which was being inconsistent (#595, @BONNe).
  10. Fixed most of the "overlapping islands" issues (#591).
  11. Added some defensive code.
  12. Fixed teleportation when the player was in some types of boat (#606).
  13. Fixed coop'd or trusted being able to use the sethome command on other islands (#588).
  14. Fixed /bbox version causing errors (#608).
  15. Fixed item frames that could be placed on any island (#610).

1.3.1 - Flags of the bug fixer

01 Mar 20:42
Compare
Choose a tag to compare

Description

BentoBox 1.3.1 is a small bug fixing update which wasn't originally scheduled. Therefore, it also brings some (minor) new features!

As always, update carefully!

Thanks for using BentoBox and our addons ❤️.

Changelog

Legend

  • ⚠️ may break parts of the API.
  • 🔡 locale files may need to be regenerated or updated.
  • ⚙️ config options have been removed, renamed or added.
  • 🔺 special attention needed.

Contents

Features / Tweaks

  1. 🔡 Added DRAGON_EGG PROTECTION flag: prevents players from making this raving egg teleporting everywhere (#559).
  2. 🔡 Added LEAF_DECAY SETTING flag: toggles whether leaves decay or not.
  3. Worlds and addons are now listed in alphabetical order in /bentobox version (#555).
  4. 🔺 🔡 Added EXPERIENCE_BOTTLE_THROWING PROTECTION flag: exp bottles were previously protected by the POTION_THROWING flag, but it was said to be misleading for players.
  5. 🔡 Improved the "not in team" message for AdminTeamKickCommand (#577).

Fixes

  1. Fixed AdminTeamKickCommand not working properly (#577).
  2. Fixed NPE in PortalTeleportationListener (#583).
  3. 🔺 Fixed End Portal teleporting into the Nether.
  4. Fixed UTF-8 encoding issues with MySQL database (#582).
  5. Fixed NPE in FlagListener if provided location was null, which may occur when 3rd-party plugins create their own inventories (#585).

1.3.0 - Flags of the damned grid

22 Feb 12:53
Compare
Choose a tag to compare

Description

BentoBox 1.3.0 is here, one week late! There has been a lot of twists and turns, ups and downs all along the path towards this new update. As a result, we haven't added as much features as I originally expected to. However, this update brings a lot of bug fixes. This also means that addons should be perfectly compatible with this new version (yet I recommend you to update them as soon as possible).

Before letting you read the changelog, I'd like to remind everyone that development builds are dangerous - yet they helped us to track down a bug that was going to do a lot of damage to your servers if it got shipped into 1.3.0. That's why we postponed this release. The bug is now fixed and I'd like to thank again the users who have been very understanding and helpful to us. However, please, when you're using development builds, you're at risk of losing data. Play safe: take backups, and be ready to downgrade at any moment.

image

Changelog

Legend

  • ⚠️ may break parts of the API.
  • 🔡 locale files may need to be regenerated or updated.
  • ⚙️ config options have been removed, renamed or added.
  • 🔺 special attention needed.

Contents

1.3.0 is a big update: 150+ commits and 1.2k+ lines of code were added! Whewh!

API

  1. Moved all the flags listeners to subpackages.
  2. Added IslandEvent.IslandRegisteredEvent and IslandEvent.IslandUnregisterEvent.
  3. Added TeamEvent.TeamJoinedEvent.
  4. Registering Flag now only require their ID to be unique.
  5. Added User#setAddon(Addon), User#notify(World, String, String...) and User#getTranslation(World, String, String...).
  6. Made ServerCompatibility#getServerVersion(...) and ServerCompatibility#getServerSoftware(...) public.
  7. Improved Addon error logging.
  8. ⚠️ Made User#hasPermission(String) return true if the User is op.
  9. Added BentoBoxCommand#canExecute(User, String, List<String>) (#530).
  10. Added IslandsManager#getIslandById(String) to get an Island using its id (#341).
  11. ⚠️ Made declaring the Player mandatory when calling FlagListener#checkIsland(...) (#543).
  12. Implemented gamemode-specific flags (#406, #541).
  13. Added BentoBox#logStacktrace(Throwable).
  14. Moved the Nether trees conversion to its own listener.
  15. Splited standard Nether/the End spawns protection into its own listener.
  16. Renamed NetherPortals to PortalTeleportationListener.
  17. Added AdminResetFlagsCommand.
  18. Added AdminTrashCommand, AdminEmptyTrashCommand and AdminSwitchtoCommand (#546).
  19. Added Island#hasVisitors() and Island#getVisitors().
  20. ⚠️ Changed Flags#values() to no longer return deprecated flags.
  21. Added ability to get a User instance from an OfflinePlayer (#574).

Features / Tweaks

  1. 🔡 Added zh-HK.yml locale (#510, @mkcoldwolf).
  2. 🔡 Added LIQUIDS_FLOWING_OUT WORLD_SETTING flag to prevent liquids from flowing outside of an island's protection range (#511).
  3. 🔡 Added REMOVE_END_EXIT_ISLAND WORLD_SETTING flag to provent the End Exit Portal from being generated in the End (#223).
  4. 🔡 Added server version and software to /bentobox version output (#518).
  5. 🔡 /bentobox reload now reloads BentoBox's configuration (#370).
  6. BentoBox's configuration can now be edited while the server is online.
  7. IslandTeamPromoteCommand now requires [gamemode].island.team.promote permission (#527, @YellowZaki).
  8. 🔡 Added TREES_GROWING_OUTSIDE_RANGE WORLD_SETTING flag to prevent trees (and their leaves) to grow outside of an island's protection range (#512).
  9. 🔡 Added NATURAL_SPAWNING_OUTSIDE_RANGE WORLD_SETTING flag to prevent entities (monsters and animals) to naturally spawn outside of an island's protection range (#513).
  10. 🔡 Added MINECART PROTECTION flag to prevent interactions with Minecarts (#387). Note: hopper/chest/furnace minecarts are respectively protected by HOPPER, CONTAINERS and FURNACE flags (#550, #565, @BONNe).
  11. 🔡 Added BOAT PROTECTION flag to prevent interaction with Boats (#387).
  12. Made /[admincommand] unregister require confirmation.
  13. Enabled Ender Dragon to be summoned using /summon (#522).
  14. Set player's initial home location to be in middle of block.
  15. 🔡 Added /[admincommand] resetflags to reset all islands in a world to the default flag settings in the GameModeAddon's config.yml.
  16. 🔡 Added /[admincommand] emptytrash, /[admincommand] switchto and /[admincommand] trash to handle damaged islands database (#546, #505).
  17. Improved various commands' tab completion.
  18. Added options as an alias to /[playercommand] settings.
  19. Added pardon as an alias to /[playercommand] unban.
  20. 🔡 Removed FIRE PROTECTION flag (#414).
  21. 🔡 Added FLINT_AND_STEEL PROTECTION flag to prevent the use of flint and steel or fire charges to create fires (#414).
  22. 🔡 Added FIRE_BURNING and FIRE_IGNITE SETTING flags (#414).
  23. 🔡 Added Island's UUID in /[admincommand] info and /[playercommand] info.
  24. Enabled negative values in numbered permissions (#560).
  25. 🔺 ⚙️ Moved general.metrics in config.yml to web.metrics.
  26. Improved comments in config.yml!
  27. 🔡 Improved /bentobox version description in en-US locale (#555).

Fixes

  1. 🔡 jp-JP.yml locale has been renamed to ja-JP.yml (#510, @mkcoldwolf).
  2. Fixed some confirmation messages not using translations.
  3. Fixed commands not firing various events.
  4. 🔡 Various typos fixed and improvements in the en-US.yml locale.
  5. Fixed various NPEs in events.
  6. Improved handling of null locations and worlds (#515).
  7. Fixed End Exit Portal generating over the very first Island generated in the End (#223, #533, @BONNe).
  8. Fixed Ender Chests being over-protected (#516).
  9. Fixed locales to show correctly based on GameModeAddons and locations (#519).
  10. Fixed localized console translations.
  11. 🔺 🔡 Fixed /bentobox version using [name] textvariable to display BentoBox's version (it now uses [version]).
  12. Fixed ClassCastException when pasting a schem containing a llama/mule/donkey (#532).
  13. Fixed island owner losing inventory when kicking an island's member (#521, #564, @BONNe).
  14. Fixed island pasting when pasting clipboard every tick (#535).
  15. Fixed SafeSpotTeleport being way too spammy (#306 (comment)).
  16. Made sethome command more reliable.
  17. Fix...
Read more

1.2.1 - The Bug Slayer

02 Feb 13:41
Compare
Choose a tag to compare

Description

BentoBox 1.2.1 fixes bugs! And for the first time, we didn't make any API breaking change (except removing deprecated methods that addons likely did not use), so you can safely update from 1.2.0 without worrying.

Changelog

Legend

  • ⚠️ may break parts of the API.
  • 🔡 locale files may need to be regenerated or updated.
  • ⚙️ config options have been removed, renamed or added.
  • 🔺 special attention needed.

Contents

API

  1. ⚠️ Removed deprecated methods in AddonDescription, FlagListener and FlagsManager.

Features / Tweaks

  1. Duplicate islands are now put in quarantine to avoid loading them continuously (#505).

Fixes

  1. Fixed incompatibility with Java 11 (#494).
  2. Fixed POTION_THROWING flag (#493).
  3. Fixed case-sensitivity with schems name (#496, @barpec12). E.g: you can now load a schem called MyLovelyIsland.schem by just typing mylovelyisland.
  4. Fixed saving ItemStacks in non-YAML databases (#501).
  5. Fixed JSON database not loading files correctly (#502).
  6. Fixed AdminTeamAddCommand and AdminUnregisterCommand not working properly (#506).
  7. Fixed NPE with PanelItems that had a null ItemMeta (#492).
  8. Fixed a load-order incompatibility with Residence (#503).
  9. Fixed island name too short / name too long locale references in IslandSetnameCommand (#508).
  10. Fixed players being able to place armor stands no matter what the ARMOR_STAND flag was set to (#507).
  11. Fixed permission bug when resetting using custom schems (#509).
  12. 🔡 Fixed typos in en-US locale.
  13. Fixed code smells.
  14. Fixed players being stuck in SPECTATOR after going through the End Portal (#377).
  15. Fixed tab-completion suggesting help more than once (#416).

1.2.0 - Ancile

27 Jan 10:01
Compare
Choose a tag to compare

Description

Bugs we have brought, bugs have we slained.
Watch out, vile are those who may remain,
But worry not, as those are the ones you won't have to sustain.

BentoBox 1.2.0 fixes bugs! Thanks to all of you, we discovered some sneaky bugs that we were able to slain, kill and jail!

⚠️ YAML database users, update as soon as possible to 1.2.0! Both 1.0 and 1.1 contain a critical data loss bug that result in players losing their island after banning/unbanning a player. Once updating to 1.2.0, your data will automatically be fixed - players might therefore retrieve their island, if they lost it because of this bug.

Update Gamemode addons, you will.

This release brings in some changes that Gamemode addons must use in order to function properly. We'll release updates for BSkyBlock and AcidIsland as soon as possible!

Changelog

Legend

  • ⚠️ may break parts of the API.
  • 🔡 locale files may need to be regenerated or updated.
  • ⚙️ config options have been removed, renamed or added.
  • 🔺 special attention needed.

Contents

API

  1. Updated and improved some Javadoc.
  2. ⚠️ Added abstract GameModeAddon#getDefaultWorldGenerator(String, String) (#491, #431). It requires Gamemode addons to override this method!!!
  3. Added GameModeAddon#inWorld(World).

Features / Tweaks

  1. Made CLEAN_SUPER_FLAT log as INFO instead of WARN (#483).
  2. ⚙️ Added logs.clean-super-flat-chunks to toggle CLEAN_SUPER_FLAT regeneration logging (#483).
  3. IslandCreateCommand: added new alias.
  4. IslandBanlistCommand: added banned, bans aliases.
  5. 🔺 If no safe teleport is found when trying to teleport the player, it will run /spawn for the player (#479).
  6. Improved some config comments.
  7. 🔺 ⚙️ Moved all command cooldown settings to island.cooldown.time node (see here).
  8. ⚙️ Added island.cooldown.options.set-reset-cooldown-on-create to apply the reset cooldown when the player creates an island for the first time (#456).

Fixes

  1. Fixed code smells. Again, and again!
  2. Fixed NPE caused by island deletion of a null island.
  3. Fixed players being stuck in SPECTATOR when they joined an island (#481).
  4. Fixed island save being done on the old player island instead of the new one when a player joins an island.
  5. Fixed hooks being loaded after addons, which may have resulted in NPEs (#489).
  6. 🔺 Fixed critical data loss bug on YAML databases where players were losing their islands when they banned/unbanned a player (#486).
  7. Fixed Flags being requested statically instead of via the FlagsManager's own storage in a few methods.
  8. Fixed Multiverse hook not working properly.
  9. Fixed probable NPEs in IslandsManager and IslandCache.
  10. Fixed AdminGetrankCommand for island members (#485).

1.1 - Rune d'Équinoxe

20 Jan 10:32
Compare
Choose a tag to compare

Description

We miss the Sun. So, let's bring in some on your server by download the second official release of BentoBox 1.1!

I'm not going to lie, we've done things big! BentoBox 1.1 brings in overall a better stability, better performances and some new features - nevertheless, that's 90 commits and +1k lines of code. That's why we needed to postpone the update for a week: we needed more time to ensure that what we changed didn't break anything or didn't make things worse than they already were.

Although, I have to admit the overall stability of BentoBox is quite impressive. The modularity we're gambling on is a very tricky thing to handle, and it seems that we're doing it hands down.

Thanks everyone for your support and your help finding bugs!

image

Update your addons

Official addons will all receive an update in the following hours or days.

Changelog

Legend

  • ⚠️ may break parts of the API.
  • 🔡 locale files may need to be regenerated or updated.
  • ⚙️ config options have been removed, renamed or added.
  • 🔺 special attention needed.

Contents

API

  1. Added Addon#getState.
  2. Added LOADED in Addon.State.
  3. Added #getLoadedAddons() and #getEnabledAddons() in AddonsManager.
  4. Greatly improved the Javadoc by introducing the @NonNull and @Nullable annotations. Note: this is still a WIP, but this has already helped to fix potential NPEs.
  5. Added IslandBanEvent and IslandUnbanEvent: both are cancellable and will result in the ban/unban being cancelled.
  6. Added Island#setRank(UUID, int).
  7. 🔺 Deprecated #getFlagById(String) and added #getFlag(String) in FlagsManager.
  8. Added IslandDeletionManager (see Features.8.).
  9. Fixed tests failing randomly.
  10. Implemented a FIFO to queue async save requests for YAML and MySQL (see this commit's description).
  11. Added Flag#setDefaultSetting(World, boolean).
  12. Added option to not paste a schem when creating a new island (NewIsland). Note: this may be used by gamemode addons such as SkyGrid.
  13. 🔺 Added ability for gamemode addons to override locale references (#471).
  14. ⚠️ 🔺 Added #getPlayerCommand() and #getAdminCommand() in GameModeAddon (#448, #472). Note: all gamemode addons should therefore do the following.
  15. Added IslandWorldManager#getWorlds() (#470).
  16. Made BStats class public.
  17. Added BentoBox#getMetrics().
  18. Added BentoBox#getIslandDeletionManager().
  19. Added metrics to the AddonDescription (see Features.11): addons need to manually opt-in.
  20. ⚠️ Various minor deprecations/changes in AddonDescription. Note: this won't cause any trouble with addons.
  21. Added IslandsManager#getIslands() and PlayersManager#getPlayers() (#392).
  22. ⚠️ Added IslandsManager#spawnTeleport(World, Player) and made IslandsManager#getSpawn(World) return an Optional.

Features

  1. Setting an island as spawn is now logged in its history.
  2. Making an Island unowned is now logged in its history.
  3. 🔡 Added AdminSetspawnCommand to set an island as the world's spawn (#441). Note: this feature is not perfect at the moment, and we'd be glad to receive some feedback about it.
  4. ⚙️ Added MariaDB 10.2.3+ support (#299, #460, @barpec12).
  5. 🔺 Implemented asynchronous island deletion (#466, #457, #447). Note: see this commit's description for more information.
  6. 🔺 Implemented asynchronous saving to YAML and MYSQL databases.
  7. 🔡 IslandTeamInviteAcceptCommand now requires confirmation and sends a spooky message to players to make sure they don't want to do something bad. Very bad. (#464).
  8. 🔺 Implemented asynchronous super flat cleaning (#431). This should avoid crashes when there's a lot of cleaning to do.
  9. ⚙️ 🔡 Added POTION_THROWING (PROTECTION) flag (#468).
  10. Added islands created count metrics.
  11. Added addons metrics chart. Note: it is currently unused because it relies on an in progress BStats feature.
  12. 🔡 Added IslandSpawnCommand to teleport the player to the world's island spawn if it is set (#441).

Fixes

  1. Fixed error handling when loading incompatible addons (#440).
  2. Fixed AdminTeleportCommand having a "doubled" permission prefix in its permission (@BONNe).
  3. Added defensive code in databases (#447).
  4. Added defensive code against duplicate Island UUIDs (#447).
  5. Fixed possible infinite loop with CLEAN_SUPER_FLAT flag.
  6. Fixed Invincible Visitors GUI not working (#450).
  7. Fixed AdminInfoCommand and AdminTeamSetownerCommand showing that player (who is member of an island and is not owner of it) doesn't have an island (#452).
  8. Fixed code smells (a lot of them!)
  9. Fixed possible NPEs.
  10. Fixed NPE when hiding the clipboard selection.
  11. Fixed concurrent saving of files to the database (see API.10).
  12. 🔺 Fixed errors when the database connection info is wrong. Note: if this happens, the plugin will disable itself.
  13. Fixed Multiverse world registration.
  14. Fixed ejected players being stuck in SPECTATOR mode (#382). Note: see this commit's description for more details.

Upcoming changes

Like BentoBox 1.0, we've got a few things in the code that we started to implement but that we didn't finish yet. This include the island history and the automated ownership transfer (#167).

1.0 - The Beginning of a long Journey...

03 Jan 21:07
Compare
Choose a tag to compare

Description

We finally did it. This took us three years, but we did it! BentoBox is finally production-ready. If you don't mind, we still have a long way to go, at your side ❤️.

Now, sit back. Relax. Take a deep breath. And take advantage of this moment of reading to look at the past, observe the present and imagine the future.

Thanks to everyone ❤️.

The (unofficial) BentoBox logo as signature.

Update your addons

Official addons will all receive an update in the following hours or days. Thanks to our incredible crew, you might expect some exciting newcomers as well!

About supported server softwares and server versions

Due to the potential data-loss risks or errors that could occur when running BentoBox on an incompatible server software and/or server version, BentoBox will now stop loading in such an environment.

Therefore, you must run BentoBox on a 1.13.2 Spigot server. Not Bukkit/CraftBukkit. Paper and TacoSpigot are officially not supported, but BentoBox should load correctly.

Changelog

Legend

  • ⚠️ may break parts of the API.
  • 🔡 locale files may need to be regenerated or updated.
  • ⚙️ config options have been removed, renamed or added.
  • 🔺 special attention needed.

Contents

API

  1. ⚠️ Replaced FlagBuilder with Flag.Builder. Renamed some of the methods (#409).
  2. ⚠️ Made Flags final so it cannot be extended.
  3. ⚠️ Added GameModeAddon (#415). This is a specific implementation of Addon which creates its own Game world. More information with this video.
  4. Greatly improved the Javadoc!
  5. ⚠️ IslandWorldManager's methods are now using GameModeAddon.
  6. ⚠️ Removed AdminClearresetsCommand and AdminClearresetsallCommand.
  7. Added set and reset subcommands to a new AdminResetCommand (#353).
  8. ⚠️ Fixed AddonDescription to use a valid Builder pattern.
  9. Finished implementation of Addon#onReload().
  10. Added AdminReloadCommand for addons to use.
  11. Added LogEntry and LogEntryListAdapter.
  12. ⚠️ Renamed Island#addToBanList(UUID) to Island#ban(UUID, UUID).
  13. ⚠️ Renamed Island#removeFromBanList(UUID) to Island#unban(UUID, UUID).
  14. Added ConfigEntry#hidden().
  15. Removed @since Javadoc tags. They were useless because they were added during the Alpha process.

Features

  1. 🔺 Implemented ability to have multiple schems (#104, #207, #378, #408). Schems can be named anything, but the partner nether or end worlds must be pre-fixed with nether- or end- in the filename. Additional schems can be added by the admin into the schem folder, or they can be stored in the jar file of the add-on. Both are supported.
  2. 🔡 Added DISABLE_TELEPORT_WHEN_FALLING flag (WORLD_SETTING) (#403). It will prevent players from teleporting back to their islands using commands when they're falling into the void.
  3. 🔺 🔡 Added DISPENSER, DROPPER, HOPPER flags (PROTECTION) (#401). These were previously protected by the CHEST flag).
  4. 🔺 🔡 /<admin> clearresets and /<admin> clearresetsall are replaced with /<admin> resets reset. Use @a instead of the player's name to reset the resets counter of all players (#353).
  5. 🔡 Added /<admin> resets set <player> <resets> (#353).
  6. 🔺 🔡 ⚙️ Implemented asynchronous schem pasting (#376). Current schem are compatible, however you must update them to the new format (by pasting them and re-saving them) in order to avoid issues such as torches popping, etc... If you were using the default ones, you just need to delete the schems folder and restart your server.
  7. 🔡 ⚙️ Added ban limit (#423).
  8. 🔡 Added ITEM_FRAME flag (PROTECTION) (#391).
  9. /bentobox reload now reloads Addons that support reloading (#370).
  10. 🔺 🔡 ⚙️ Removed general.allow-obsidian-scooping and made it a WORLD_SETTING flag OBSIDIAN_SCOOPING (#432).

Tweaks

  1. 🔺 🔡 Renamed CHEST flag to CONTAINER (#402). Players will need to update the value as it will be resetted to default.
  2. ⚙️ Removed general.starting-money from the config (#432).
  3. Added defensive code in JSON-based databases.
  4. Improved some config comments.
  5. Metrics: added islands count.
  6. ⚙️ Removed island.custom-ranks from the config (#432).
  7. Made general.rank-command experimental in the config.
  8. 🔡 Improved the "successfully loaded" message in the console.

Bug fixes

  1. Fixed /bentobox reload not reloading correctly the locales from addons (#417).
  2. Fixed code smells (lots of them!).
  3. Fixed commands being registered with their main label as fallbackPrefix. E.g.: /is from BSkyBlock was registered as /island:is instead of /bskyblock:is.
  4. Fixed IslandCreatedEvent/IslandResettedEvent being fired too early.

Work in progress

This release contains some features that are still being worked on. However, we couldn't remove them safely from the production branch, as some features relies on some of these changes. Therefore, we disabled them for this release so they won't do anything bad. Once they'll be fully implemented, we'll let you know!

  1. Automated island ownership transfer (#167).
  2. Island logs / Island history / Island timeline.

Alpha 13 - Santa Claus is coming to town!

22 Dec 16:35
Compare
Choose a tag to compare

Description

We're obviously late - but well, where's the fun of developing a plugin on our free time if we had to sleep one hour a day to keep up with daily releases? We know there are some new Skyblock plugins that came out recently. And that they actually catched up in less than a month what we did in two years. But we're working with ❤️, and you'll see the difference!

This pre-release might be the last one, actually. A lot of work still has to be done, especially on addons and user experience, but the metrics we gather talk for themselves: 70 servers are using BentoBox while we're still in alpha. Even though that's nothing compared to the 2000+ servers using ASkyBlock and the old AcidIsland, that's impressive. Thanks!

Today, we've got some crunchy new features, tweaks and bug fixes that'll make everyone's life easier 🙂.

Update your addons

Official addons will all receive an update in the following days, in order to use all the new features that got added in Alpha 12 & 13.

Changelog

Legend

  • ⚠️ may break parts of the API.
  • 🚧 classes or methods have been deprecated.
  • 🔡 locale files may need to be regenerated or updated.
  • ⚙️ config options have been removed, renamed or added.
  • 🔺 special attention needed.

Contents

  • API
  1. Plugins will now be able to request data from addons using Addon#request(String, Map<String, Object> (#400 @HyKurtis). Note that this is still a WIP - addons need to be updated to use this new system. But we sincerely hope it will make creating external plugins requesting addon's data a lot easier!
  2. LocalesManager: added #getOrDefault(User, String, String) and #getOrDefault(String, String).
  3. ⚠️ Removed deprecated methods in Island.
  • Features
  1. 🔡 Added NAME_TAG flag (#390).
  2. 🔡 🔺 Splited PORTAL flag into NETHER_PORTAL and END_PORTAL (#388). NETHER_PORTAL and END_PORTAL will be using the default protection values, not PORTAL's one, so please make sure to tell your players that they may need to change these settings on their island.
  3. 🔡 🔺 Added support for translatable "starting" sign (#372). The sign must have [start] as its first line.
  • Tweaks
  1. Players trying to go through an End portal while they are not allowed to will receive the "Island protected" message. It was previously silently denying the action.
  2. Added some metrics related to the database type and the default language.
  3. Added website to plugin.yml.
  4. BentoBox now only tries to enable/disable addons if there is at least one addon loaded.
  • Bug fixes
  1. Fixed NPE when reloading BentoBox after deleting the locales folder (#385).
  2. Fixed island deletion deleting some blocks of nearby islands (#405).