Releases: BentoBoxWorld/BentoBox
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.
- Fix...
1.2.1 - The Bug Slayer
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
⚠️ Removed deprecated methods inAddonDescription
,FlagListener
andFlagsManager
.
Features / Tweaks
- Duplicate islands are now put in quarantine to avoid loading them continuously (#505).
Fixes
- Fixed incompatibility with Java 11 (#494).
- Fixed
POTION_THROWING
flag (#493). - Fixed case-sensitivity with schems name (#496, @barpec12). E.g: you can now load a schem called
MyLovelyIsland.schem
by just typingmylovelyisland
. - Fixed saving
ItemStack
s in non-YAML databases (#501). - Fixed
JSON
database not loading files correctly (#502). - Fixed
AdminTeamAddCommand
andAdminUnregisterCommand
not working properly (#506). - Fixed NPE with
PanelItem
s that had a nullItemMeta
(#492). - Fixed a load-order incompatibility with Residence (#503).
- Fixed island name too short / name too long locale references in
IslandSetnameCommand
(#508). - Fixed players being able to place armor stands no matter what the
ARMOR_STAND
flag was set to (#507). - Fixed permission bug when resetting using custom schems (#509).
- 🔡 Fixed typos in
en-US
locale. - Fixed code smells.
- Fixed players being stuck in SPECTATOR after going through the End Portal (#377).
- Fixed tab-completion suggesting help more than once (#416).
1.2.0 - Ancile
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
- Updated and improved some Javadoc.
⚠️ Added abstractGameModeAddon#getDefaultWorldGenerator(String, String)
(#491, #431). It requires Gamemode addons to override this method!!!- Added
GameModeAddon#inWorld(World)
.
Features / Tweaks
- Made
CLEAN_SUPER_FLAT
log as INFO instead of WARN (#483). - ⚙️ Added
logs.clean-super-flat-chunks
to toggleCLEAN_SUPER_FLAT
regeneration logging (#483). - IslandCreateCommand: added
new
alias. - IslandBanlistCommand: added
banned
,bans
aliases. - 🔺 If no safe teleport is found when trying to teleport the player, it will run
/spawn
for the player (#479). - Improved some config comments.
- 🔺 ⚙️ Moved all command cooldown settings to
island.cooldown.time
node (see here). - ⚙️ 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
- Fixed code smells. Again, and again!
- Fixed NPE caused by island deletion of a null island.
- Fixed players being stuck in
SPECTATOR
when they joined an island (#481). - Fixed island save being done on the old player island instead of the new one when a player joins an island.
- Fixed hooks being loaded after addons, which may have resulted in NPEs (#489).
- 🔺 Fixed critical data loss bug on
YAML
databases where players were losing their islands when they banned/unbanned a player (#486). - Fixed Flags being requested statically instead of via the FlagsManager's own storage in a few methods.
- Fixed Multiverse hook not working properly.
- Fixed probable NPEs in
IslandsManager
andIslandCache
. - Fixed
AdminGetrankCommand
for island members (#485).
1.1 - Rune d'Équinoxe
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!
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
- Added
Addon#getState
. - Added
LOADED
inAddon.State
. - Added
#getLoadedAddons()
and#getEnabledAddons()
inAddonsManager
. - 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. - Added
IslandBanEvent
andIslandUnbanEvent
: both are cancellable and will result in the ban/unban being cancelled. - Added
Island#setRank(UUID, int)
. - 🔺 Deprecated
#getFlagById(String)
and added#getFlag(String)
inFlagsManager
. - Added
IslandDeletionManager
(see Features.8.). - Fixed tests failing randomly.
- Implemented a FIFO to queue async save requests for YAML and MySQL (see this commit's description).
- Added
Flag#setDefaultSetting(World, boolean)
. - Added option to not paste a schem when creating a new island (
NewIsland
). Note: this may be used by gamemode addons such as SkyGrid. - 🔺 Added ability for gamemode addons to override locale references (#471).
⚠️ 🔺 Added#getPlayerCommand()
and#getAdminCommand()
inGameModeAddon
(#448, #472). Note: all gamemode addons should therefore do the following.- Added
IslandWorldManager#getWorlds()
(#470). - Made
BStats
class public. - Added
BentoBox#getMetrics()
. - Added
BentoBox#getIslandDeletionManager()
. - Added
metrics
to theAddonDescription
(see Features.11): addons need to manually opt-in. ⚠️ Various minor deprecations/changes inAddonDescription
. Note: this won't cause any trouble with addons.- Added
IslandsManager#getIslands()
andPlayersManager#getPlayers()
(#392). ⚠️ AddedIslandsManager#spawnTeleport(World, Player)
and madeIslandsManager#getSpawn(World)
return anOptional
.
Features
- Setting an island as spawn is now logged in its history.
- Making an Island unowned is now logged in its history.
- 🔡 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. - ⚙️ Added MariaDB 10.2.3+ support (#299, #460, @barpec12).
- 🔺 Implemented asynchronous island deletion (#466, #457, #447). Note: see this commit's description for more information.
- 🔺 Implemented asynchronous saving to
YAML
andMYSQL
databases. - 🔡
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). - 🔺 Implemented asynchronous super flat cleaning (#431). This should avoid crashes when there's a lot of cleaning to do.
- ⚙️ 🔡 Added
POTION_THROWING
(PROTECTION) flag (#468). - Added islands created count metrics.
- Added addons metrics chart. Note: it is currently unused because it relies on an in progress BStats feature.
- 🔡 Added
IslandSpawnCommand
to teleport the player to the world's island spawn if it is set (#441).
Fixes
- Fixed error handling when loading incompatible addons (#440).
- Fixed
AdminTeleportCommand
having a "doubled" permission prefix in its permission (@BONNe). - Added defensive code in databases (#447).
- Added defensive code against duplicate Island UUIDs (#447).
- Fixed possible infinite loop with
CLEAN_SUPER_FLAT
flag. - Fixed Invincible Visitors GUI not working (#450).
- Fixed
AdminInfoCommand
andAdminTeamSetownerCommand
showing that player (who is member of an island and is not owner of it) doesn't have an island (#452). - Fixed code smells (a lot of them!)
- Fixed possible NPEs.
- Fixed NPE when hiding the clipboard selection.
- Fixed concurrent saving of files to the database (see API.10).
- 🔺 Fixed errors when the database connection info is wrong. Note: if this happens, the plugin will disable itself.
- Fixed Multiverse world registration.
- 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...
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 ❤️.
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
⚠️ ReplacedFlagBuilder
withFlag.Builder
. Renamed some of the methods (#409).⚠️ MadeFlags
final so it cannot be extended.⚠️ AddedGameModeAddon
(#415). This is a specific implementation of Addon which creates its own Game world. More information with this video.- Greatly improved the Javadoc!
⚠️ IslandWorldManager
's methods are now usingGameModeAddon
.⚠️ RemovedAdminClearresetsCommand
andAdminClearresetsallCommand
.- Added
set
andreset
subcommands to a newAdminResetCommand
(#353). ⚠️ FixedAddonDescription
to use a valid Builder pattern.- Finished implementation of
Addon#onReload()
. - Added
AdminReloadCommand
for addons to use. - Added
LogEntry
andLogEntryListAdapter
. ⚠️ RenamedIsland#addToBanList(UUID)
toIsland#ban(UUID, UUID)
.⚠️ RenamedIsland#removeFromBanList(UUID)
toIsland#unban(UUID, UUID)
.- Added
ConfigEntry#hidden()
. - Removed
@since
Javadoc tags. They were useless because they were added during the Alpha process.
Features
- 🔺 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-
orend-
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. - 🔡 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. - 🔺 🔡 Added
DISPENSER
,DROPPER
,HOPPER
flags (PROTECTION) (#401). These were previously protected by theCHEST
flag). - 🔺 🔡
/<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). - 🔡 Added
/<admin> resets set <player> <resets>
(#353). - 🔺 🔡 ⚙️ 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.
- 🔡 ⚙️ Added ban limit (#423).
- 🔡 Added
ITEM_FRAME
flag (PROTECTION) (#391). /bentobox reload
now reloads Addons that support reloading (#370).- 🔺 🔡 ⚙️ Removed
general.allow-obsidian-scooping
and made it a WORLD_SETTING flagOBSIDIAN_SCOOPING
(#432).
Tweaks
- 🔺 🔡 Renamed
CHEST
flag toCONTAINER
(#402). Players will need to update the value as it will be resetted to default. - ⚙️ Removed
general.starting-money
from the config (#432). - Added defensive code in JSON-based databases.
- Improved some config comments.
- Metrics: added islands count.
- ⚙️ Removed
island.custom-ranks
from the config (#432). - Made
general.rank-command
experimental in the config. - 🔡 Improved the "successfully loaded" message in the console.
Bug fixes
- Fixed
/bentobox reload
not reloading correctly the locales from addons (#417). - Fixed code smells (lots of them!).
- Fixed commands being registered with their main label as fallbackPrefix. E.g.:
/is
from BSkyBlock was registered as/island:is
instead of/bskyblock:is
. - 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!
- Automated island ownership transfer (#167).
- Island logs / Island history / Island timeline.
Alpha 13 - Santa Claus is coming to town!
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
- 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! LocalesManager
: added#getOrDefault(User, String, String)
and#getOrDefault(String, String)
.⚠️ Removed deprecated methods inIsland
.
- Features
- 🔡 Added
NAME_TAG
flag (#390). - 🔡 🔺 Splited
PORTAL
flag intoNETHER_PORTAL
andEND_PORTAL
(#388).NETHER_PORTAL
andEND_PORTAL
will be using the default protection values, notPORTAL
's one, so please make sure to tell your players that they may need to change these settings on their island. - 🔡 🔺 Added support for translatable "starting" sign (#372). The sign must have
[start]
as its first line.
- Tweaks
- 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.
- Added some metrics related to the database type and the default language.
- Added website to
plugin.yml
. - BentoBox now only tries to enable/disable addons if there is at least one addon loaded.
- Bug fixes
Alpha 12 - It's freezing cold outside!
Description
Winter is coming. Unless you live in the southern hemisphere. In that case, would you consider sending us some of the Sun back? - Thanks.
This pre-release fixes bugs and introduces a bunch of tweaks and features
Addons will be updated on December, 16th.
In order to fully take advantage of all the features that got added in this version, you will have to update your addons (especially BSkyBlock / AcidIsland) once we release an update for both of them.
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.
Contents
- API
- 🔡 Added
AdminDeathsCommand
,AdminDeathsSetCommand
andAdminDeathsResetCommand
to allow admins to set/reset death count of players (#76). - Fixed code smells.
- 🔡 Added
IslandInfoCommand
with the following aliases:info, who
(#361). This is basically a copy/paste fromAdminInfoCommand
. - 🚧 Deprecated
Island#showInfo(BentoBox, User, World)
andIsland#showMembers(BentoBox, User, World)
. They are replaced with equivalents that only requires an User as parameter:Island#showInfo(User)
andIsland#showMembers(User)
. - Added
Addon#onReload()
(#370). It currently has no effect. - Improved various Javadoc bits.
- Features
- 🔡 Added
FROST_WALKER
protection flag (#183). Frosted ice generation was previously protected by thePLACE_BLOCK
flag. - 🔡 Coops are now removed of the island when all island members are logged out (#335).
- 🔡 Added
EXPERIENCE_PICKUP
protection flag (#217).
- Tweaks
- Made the "tried to paste schem" error less confusing.
- 🔡 Added
commands.help.syntax-no-parameters
to avoid layout inconsistencies in the command help layout (#379). - Language names in the Language Panel are now longer italicized.
- 🔡
World Settings
flags that are using a "sub-panel" now have their name yellow (configurable in localization files) (#383). - 🔡 Added colors to the Settings Panel's categories (configurable in localization files as well) (#383).
- Upgraded bStats dependency to
1.4
. I don't really know what this brings, but keeping things up to date is fine!
- Bug fixes
- Fixed animals which could be bred or fed to grow up while
BREEDING
was not allowed (#366). - Fixed
AdminVersionCommand
returning nothing (#374). It now displays the addon's version. - 🔡 Fixed some multi-line localization colors (#383 (comment)).
- 🔡 Fixed some formatting in all localization files.
Alpha 11 - The "We're LAAAATE" update
Description
This pre-release brings some bug fixes, although it is mainly focused on improving the consistency in the code.
When will BentoBox be released ?
I originally planned to release BentoBox (1.0) by the end of November, but I have to admit we're late. Therefore, the new goal is to release BentoBox by the end of December!
Changelog
How to read it
Each change/tweak/bug fix is listed in the corresponding category.
If a change is likely to do something that needs the user to keep a close eye on, then it is labelled with an icon.
⚠️ 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.
Contents
- API
⚠️ Removed previously deprecated methods and classes (check Alpha 9's changelog).- Fixed some code smells.
- Replaced all the code referencing to team leader. This was a long-time misleading conception (it comes from ASkyBlock): island owners were sometimes known as "team leaders", sometimes "leaders" and sometimes "owners". As of today, it will be "owner" everywhere.
- Added
IslandsManager#getIslandCount(World)
. - Added some defensive code in
User#getPermissionValue(...)
to prevent bugs in case the providedpermissionPrefix
was ending with a dot.
- Features
- ⚙️ Finished implementation of
max-islands
config option for Gamemode addons. No need to update your addons, as this was an unfinished feature that was already implemented.
- Tweaks
- 🔡 Removed
en-GB
andfr-FR
locales: they were outdated. An updated French locale is on the way. - 🔡 Updated all locales to match the consistency of the code regarding "island owners". You must regenerate your locale files as the previous ones will be out of sync!
- Bug fixes
Alpha 10 - Bug fixes
Description
This pre-release fixes bugs that were brought by some changes in Alpha 9.
Changelog
How to read it
Each change/tweak/bug fix is listed in the corresponding category.
If a change is likely to do something that needs the user to keep a close eye on, then it is labelled with an icon.
⚠️ 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.
Contents
- API
- Provided some debug for developpers using the Database API.
- Bug fixes
- Fixed
BREEDING
not protecting turtle breeding (#348). - Fixed lowercased or mixed-case enum entries in database not being read when loading databases (BentoBoxWorld/Challenges#33).
- Fixed the Yaml database no longer working properly as of Alpha 9.
Alpha 9 - Running late...
Description
This pre-release brings in bug fixes and deprecates some methods that needed to be renamed to ensure consistency.
You won't need to update your addons alongside this release.
We're running some delay with our original planning. Alpha 9 should have been the last alpha before the actual 1.0 release, however that logically won't be the case.
Changelog
How to read it
Each change/tweak/bug fix is listed in the corresponding category.
If a change is likely to do something that needs the user to keep a close eye on, then it is labelled with an icon.
⚠️ 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.
Contents
- API
- Improved some bits of Javadoc.
- Added
LocalesManager#get(String)
. - 🚧 Deprecated
#getTeamLeader(...)
methods inCompositeCommand
,IslandCache
andIslandsManager
: they are renamed to#getOwner(...)
. - Added a generic
IslandEvent
that provides theReason
why it was called (#346). ⚠️ 🚧 Moved addon exceptions toworld.bentobox.bentobox.api.addons.exceptions
; older ones got deprecated.- Added a generic event to expose addon info via K,V pairs (#352 (comment)).
- Features
- ⚙️ 🔠 Added
FISH_SCOOPING
flag to prevent players from scooping fishes using a water bucket (#349). - Added pagination to the Settings panel (WIP).
- ⚙️ 🔠 Added
TURTLE_EGGS
flag to prevent players from crushing turtle eggs (#348).
- Tweaks
- 🔠 Replaced
%bsb_plugin_name%
in all locale files byBentoBox
. - 🔠 Removed
de-DE
locale: it was outdated. - 🔠 Updated
zh-CN
locale (@CNAmira). - Flags in the Settings panel are now sorted alphabetically based on the player's locale (WIP).
- Bug fixes
- Fixed
PVP
not protecting players from being set to fire using flame arrows (#336). - Cooped players now lose the coop when they logout or on server shutdown (#335).
- Fixed
ARMOR_STAND
not protecting players from moving armor stands using fishing rods (#350). - Fixed error when tab-completing some commands with no island (#358).