1.3.0 - Flags of the damned grid
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.
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
- Moved all the flags listeners to subpackages.
- Added
IslandEvent.IslandRegisteredEvent
andIslandEvent.IslandUnregisterEvent
. - Added
TeamEvent.TeamJoinedEvent
. - Registering Flag now only require their ID to be unique.
- Added
User#setAddon(Addon)
,User#notify(World, String, String...)
andUser#getTranslation(World, String, String...)
. - Made
ServerCompatibility#getServerVersion(...)
andServerCompatibility#getServerSoftware(...)
public. - Improved Addon error logging.
⚠️ MadeUser#hasPermission(String)
returntrue
if the User is op.- Added
BentoBoxCommand#canExecute(User, String, List<String>)
(#530). - Added
IslandsManager#getIslandById(String)
to get an Island using its id (#341). ⚠️ Made declaring the Player mandatory when callingFlagListener#checkIsland(...)
(#543).- Implemented gamemode-specific flags (#406, #541).
- Added
BentoBox#logStacktrace(Throwable)
. - Moved the Nether trees conversion to its own listener.
- Splited standard Nether/the End spawns protection into its own listener.
- Renamed
NetherPortals
toPortalTeleportationListener
. - Added
AdminResetFlagsCommand
. - Added
AdminTrashCommand
,AdminEmptyTrashCommand
andAdminSwitchtoCommand
(#546). - Added
Island#hasVisitors()
andIsland#getVisitors()
. ⚠️ ChangedFlags#values()
to no longer return deprecated flags.- Added ability to get a User instance from an OfflinePlayer (#574).
Features / Tweaks
- 🔡 Added
zh-HK.yml
locale (#510, @mkcoldwolf). - 🔡 Added
LIQUIDS_FLOWING_OUT
WORLD_SETTING flag to prevent liquids from flowing outside of an island's protection range (#511). - 🔡 Added
REMOVE_END_EXIT_ISLAND
WORLD_SETTING flag to provent the End Exit Portal from being generated in the End (#223). - 🔡 Added server version and software to
/bentobox version
output (#518). - 🔡
/bentobox reload
now reloads BentoBox's configuration (#370). - BentoBox's configuration can now be edited while the server is online.
IslandTeamPromoteCommand
now requires[gamemode].island.team.promote
permission (#527, @YellowZaki).- 🔡 Added
TREES_GROWING_OUTSIDE_RANGE
WORLD_SETTING flag to prevent trees (and their leaves) to grow outside of an island's protection range (#512). - 🔡 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). - 🔡 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). - 🔡 Added
BOAT
PROTECTION flag to prevent interaction with Boats (#387). - Made
/[admincommand] unregister
require confirmation. - Enabled Ender Dragon to be summoned using /summon (#522).
- Set player's initial home location to be in middle of block.
- 🔡 Added
/[admincommand] resetflags
to reset all islands in a world to the default flag settings in the GameModeAddon's config.yml. - 🔡 Added
/[admincommand] emptytrash
,/[admincommand] switchto
and/[admincommand] trash
to handle damaged islands database (#546, #505). - Improved various commands' tab completion.
- Added
options
as an alias to/[playercommand] settings
. - Added
pardon
as an alias to/[playercommand] unban
. - 🔡 Removed
FIRE
PROTECTION flag (#414). - 🔡 Added
FLINT_AND_STEEL
PROTECTION flag to prevent the use of flint and steel or fire charges to create fires (#414). - 🔡 Added
FIRE_BURNING
andFIRE_IGNITE
SETTING flags (#414). - 🔡 Added Island's UUID in
/[admincommand] info
and/[playercommand] info
. - Enabled negative values in numbered permissions (#560).
- 🔺 ⚙️ Moved
general.metrics
in config.yml toweb.metrics
. - Improved comments in config.yml!
- 🔡 Improved
/bentobox version
description inen-US
locale (#555).
Fixes
- 🔡
jp-JP.yml
locale has been renamed toja-JP.yml
(#510, @mkcoldwolf). - Fixed some confirmation messages not using translations.
- Fixed commands not firing various events.
- 🔡 Various typos fixed and improvements in the
en-US.yml
locale. - Fixed various NPEs in events.
- Improved handling of null locations and worlds (#515).
- Fixed End Exit Portal generating over the very first Island generated in the End (#223, #533, @BONNe).
- Fixed Ender Chests being over-protected (#516).
- Fixed locales to show correctly based on GameModeAddons and locations (#519).
- Fixed localized console translations.
- 🔺 🔡 Fixed
/bentobox version
using[name]
textvariable to display BentoBox's version (it now uses[version]
). - Fixed ClassCastException when pasting a schem containing a llama/mule/donkey (#532).
- Fixed island owner losing inventory when kicking an island's member (#521, #564, @BONNe).
- Fixed island pasting when pasting clipboard every tick (#535).
- Fixed SafeSpotTeleport being way too spammy (#306 (comment)).
- Made sethome command more reliable.
- Fixed loading and setting of the spawn Island (#523).
- Improved setspawn handling when a player owns the island.
- Fixed island members receive random "Protected island" messages from their own island (#534).
- Fixed sethome in the Nether and the End (#538, #569, @BONNe).
- Fixed a lot of yet unknown bugs with protection (#543).
- Fixed player's inventory being cleared whatever inventory clear was set in the config (#553, @DarkRails).
- Fixed End Portal not linking to standard End world (#306).
- 🔡 Fixed
FISH_SCOOPING
flag description inen-US
locale. - Fixed owners not being able to kick island members (#567, @BONNe).
- 🔡 Fixed
commands.island.team.invite.accept.confirmation
inen-US
locale. - 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.
- Fixed NPE if
/[admincommand] register
cannot get a valid Island slot. - Fixed island coordinates that are not on the grid (#549).
- Fixed bug where player will not exit SPECTATOR mode if the location he was teleporting to was immediatly safe.
- Fixed a number of issues with spawn islands (#523).
- Fixed IllegalArgumentException in VaultHook (#572, #574).
Incoming (in the next minor updates)...
- Automated island ownership transfer (#167).
- Updates checker.
- In game Addons catalog.
- Moar placeholders!