Skip to content

1.3.0 - Flags of the damned grid

Compare
Choose a tag to compare
@Poslovitch Poslovitch released this 22 Feb 12:53
· 2615 commits to master since this release

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. Fixed loading and setting of the spawn Island (#523).
  18. Improved setspawn handling when a player owns the island.
  19. Fixed island members receive random "Protected island" messages from their own island (#534).
  20. Fixed sethome in the Nether and the End (#538, #569, @BONNe).
  21. Fixed a lot of yet unknown bugs with protection (#543).
  22. Fixed player's inventory being cleared whatever inventory clear was set in the config (#553, @DarkRails).
  23. Fixed End Portal not linking to standard End world (#306).
  24. 🔡 Fixed FISH_SCOOPING flag description in en-US locale.
  25. Fixed owners not being able to kick island members (#567, @BONNe).
  26. 🔡 Fixed commands.island.team.invite.accept.confirmation in en-US locale.
  27. Fixed bug where island location was shifting due to home calculation (#549). Note: this bug has been introduced in 1.3.0's development builds. 1.2.1 and prior versions users are not exposed to this bug.
  28. Fixed NPE if /[admincommand] register cannot get a valid Island slot.
  29. Fixed island coordinates that are not on the grid (#549).
  30. Fixed bug where player will not exit SPECTATOR mode if the location he was teleporting to was immediatly safe.
  31. Fixed a number of issues with spawn islands (#523).
  32. Fixed IllegalArgumentException in VaultHook (#572, #574).

Incoming (in the next minor updates)...

  1. Automated island ownership transfer (#167).
  2. Updates checker.
  3. In game Addons catalog.
  4. Moar placeholders!