Skip to content

1.1 - Rune d'Équinoxe

Compare
Choose a tag to compare
@Poslovitch Poslovitch released this 20 Jan 10:32
· 2796 commits to master since this release

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).