Releases: BentoBoxWorld/BentoBox
Alpha 8 - Provision of patches
Description
This pre-release is intended to fix bugs. A few new features were also added. And there is not a single API breaking change 🙂.
You won't need to update your addons alongside this release.
Placeholders
Although Placeholders integration is implemented in BentoBox, Addons are currently not registering their own placeholders. This is due to a few incoming changes, which is keeping us from adding them.
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.
- 🔠 - locale files may need to be regenerated or updated.
- ⚙️ - config options have been removed, renamed or added.
Contents
- API
- Improved Javadoc.
- Slight optimizations in PlaceholdersManager.
- Added
MultiverseCoreHook
. - Added
CycleClick(String, int, int)
constructor (#332).
- Features
- ⚙️ 🔠 Added
COARSE_DIRT_TILLING
inWORLD_SETTING
flags. This helps avoid players tilling coarse dirt using a hoe to obtain dirt (#337).
- Tweaks
LOCK
flag can now only be applied to theMEMBER
rank at maximum. This means that island owners can no longer lock their island to the island members or island sub-owners: they can still do so for trusted, cooped and visitors (#332).- Player file is now preventively saved in the database after they create an island.
- Bug fixes
- Fixed obsidian scooping replacing the whole bucket stack with lava buckets (#338).
- Fixed errors that could occur when adding island to the grid (#326). Also introduced some defensive code there.
- Fixed errors spamming console when teleporting to non-BentoBox worlds (#310).
- Fixed protection checks not correctly taking into account standard Nether and End (#331).
- Fixed teleporting back from standard Nether to island.
- Fixed island members dying when joining an island locked to members (#332).
- Fixed a few bugs with protection (#336):
- Placing boats is now prevented by
PLACE_BLOCKS
; - Using bone meal is now prevented by
PLACE_BLOCKS
; - Fixed interaction with Shulker Boxes (
CHEST
); - Flower pots interaction is now prevented by
CHEST
; - Using name tags is now prevented by
PLACE_BLOCKS
; - Hurting pufferfish is now prevented by
HURT_MONSTERS
; - Hurting other types of fish is now prevented by
HURT_ANIMALS
;
- Fixed the
ENDER_CHEST
flag not using the Notifier.
Alpha 7 - The very small super tiny update that fixes (a) huge bad bug(s)
Description
This pre-release fixes a major bug with Placeholders implementation (you basically couldn't run BentoBox if you didn't have PlaceholderAPI in the plugins folder).
There is no need to update your addons alongside this release.
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.
Here is a list of the labels:
⚠️ - the change is breaking the API and/or deprecate some parts of it.
Contents
- API
⚠️ RenamedAbstractFlagListener
toFlagListener
.⚠️ Moved allPlaceholderAPIHook
's inner classes to their own classes in the\api\placeholders\placeholderapi
folder.
- Bug fixes
- Fixed BentoBox not launching when PlaceholderAPI wasn't installed on the server.
- Fixed double chests pasting in certain orientations that could cause an ArrayOutOfBoundsException (#326).
Alpha 6 - The protection killer
Description
This pre-release fixes a major bug with protection and also implements PlaceholderAPI integration. Addons now have to register their own placeholders. If you've got any idea of placeholders you'd like us to add, feel free to post them here : #322.
There is no need to update your addons alongside this release.
The Challenges addon still didn't receive an update, is it safe to keep it?
Yes, it is. Some of its minor features may no longer work, but the addon is globally working fine.
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.
Here is a list of the labels:
⚠️ - the change is breaking the API and/or deprecate some parts of it. It theorically should only concern addons, so make sure to update them as well!
Contents
- API
- Added
PlaceholdersManager
. You can get it usingBentoBox#getPlaceholdersManager()
. ⚠️ RemovedAbstractFlagListener#getWhy()
- it was internally not used and was most likely not used by addons.
- Features
- Implemented PlaceholderAPI integration (#322).
- Bug fixes
- Fixed protection listeners not being registered in Bukkit as the plugin was no longer considered as "loaded" at the time the registration was taking place.
Alpha 5 - The (not so) Spooky update!
Description
This pre-release fixes a few bugs and brings us the ability to hook into plugins, such as Vault and soon PlaceholderAPI! This version also introduces a lot of API breaking changes. They are necessary to provide you the nicest API when we will release 1.0 (before 2019).
Update very carefully !
A lot of config options changed, but please take a closer look to the database type:
- If you were using
FLATFILE
, please change it toYAML
. - If you were using
MONGO
, please change it toMONGODB
.
"The Flattening", part 2
Level and WelcomeWarpSigns got updated and received their "Flattening update". They are now both available on CodeMC's Maven repository.
1.13.2
There was no significant change to Spigot's API between 1.13.1 and 1.13.2, so it's now safe to say that BentoBox officially supports 1.13.2 !
Update your addons !
Each addon you're using must be updated, otherwise they just won't launch (yes, I made it so that it won't spam your console with a huge load of errors ❤️).
Where is the Challenges addon ?
Ahum... Well, I didn't have the time to update this one yet. So, as we said in 2016, keep calm and wait for Poslovitch to fix that.
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.
Here is a list of the labels:
⚠️ - the change is breaking the API and/or deprecate some parts of it. It theorically should only concern addons, so make sure to update them as well!- 🔠 - locale files may need to be regenerated or updated.
- ⚙️ - config options have been removed, renamed or added.
Contents
- API
- Added/fixed some Javadoc in a few classes.
⚠️ IslandsManager
: renamed#getCount()
to#getIslandCount()
; renamed#makeLeader(...)
methods to#setOwner(...)
.- Added
Addon#getPermissionPrefix()
: it is a method that returns the permission prefix automagically generated from the addon's name. ⚠️ RemovedCompositeCommand#setPermissionPrefix(String)
: it is now inherited from the Addon's.⚠️ RenamedAdminTeamMakeLeaderCommand
toAdminTeamSetownerCommand
.⚠️ RenamedTeamEvent.TeamMakeLeaderEvent
toTeamEvent.TeamSetownerEvent
.⚠️ Lowercased some command class names to better fit how they are actually working in game :AdminClearresetsallCommand
,AdminClearresetsCommand
,AdminGetrankCommand
,AdminSetrankCommand
.⚠️ ReplacedAddon#setEnabled(boolean)
byAddon#setState(Addon.State)
.- Removed
YmlConfiguration
andYmlCommentParser
as they weren't used. AddonsManager
: removed#loadAddonsFromFile()
, renamed#setLoader(...)
to#setLoaders(...)
.⚠️ ⚙️DatabaseSetup.DatabaseType
: renamedMONGO
toMONGODB
.⚠️ DatabaseConnector
: removed#loadYamlFile(...)
and#saveYamlFile(...)
as they weren't generic to all database connectors.- Added
AbstractJSONDatabaseHandler<T>
. ⚠️ Made all DatabaseHandlers' and DatabaseConnectors' constructors package-private: these shouldn't have been used by any external plugin/addon.⚠️ Moved TypeAdapters indatabase/json/adapters
package.⚠️ MovedDATABASE_FOLDER_NAME
toAbstractDatabaseHandler<T>
.⚠️ ⚙️ RenamedFLATFILE
database type (and related files) toYAML
.- Fixed some code smells.
- Implemented the Hooks API:
Hook
andHooksManager
. - Implemented Vault integration:
VaultHook
. ⚠️ RemovedAddonInterface
and put its methods inAddon
.
- Features
- Implemented Vault integration: money reset on island join/leave should now be working.
- Tweaks
- Changed the command
/is team setleader <player>
to/is team setowner <player>
. - ⚙️
general.database.type
: renamedFLATFILE
toYAML
, addedJSON
and renamedMONGO
toMONGODB
. - ⚙️ Renamed
island.customranks
toisland.custom-ranks
and made it experimental (Spooky!). - Added some safety checks to the config loading: some options will now be using their default value if the one in the configuration is invalid, instead of throwing ugly stacktraces.
- Bug fixes
- 🔠 Fixed some entries in the
en-US
locale being invalid. - Fixed island protection range not being updated after a login if there was a permission change (#256).
- Fixed outdated addons causing errors in console when loading (#281).
- Fixed the
AddonsManager
disabling not-enabled addons. - Fixed the
[label]
text variable being replaced by "invite" in the invite notification (#315). - Fixed island members sometimes not being recognized and therefore considered as visitors on their own island (#318).
- Fixed
[version]
text variable in config comments always being replaced by BentoBox's version instead of the addon's (#312).
Alpha 4 - "The Flattening"
Description
This pre-release fixes a few bugs and adds some nice new features!
About the "Flattening"
We're close to a first Beta release. Therefore, we're trying to make sure everything we did up to nowadays is following our code guidelines. This phase will be splited on a few Alpha releases and will consist in the final API breaking changes on both addons and BentoBox. Alongside the flattening, addons will progressively be made available on CodeMC's Maven repository so that you can start to mess around with them. It's starting with AcidIsland and BSkyblock !
1.13.2
BentoBox is currently not officially supporting 1.13.2. However, given that Spigot updated fastly, it should be safe to say that BentoBox won't run into weird issues. Don't forget to submit a bug report if you get to be extremely unlucky !
Update your addons !
BSkyBlock and AcidIsland both received an update to support Alpha 4 and must be updated.
Other addons may not need to be updated.
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.
Here is a list of the labels:
⚠️ - the change is breaking the API and/or deprecate some parts of it. It theorically should only concern addons, so make sure to update them as well!- 🔠 - locale files may need to be regenerated or updated.
- ⚙️ - config options have been removed, renamed or added.
Contents
- API
- Added
WorldSettings#isDeathsCounted
. - Added
User#spawnParticle(Particle, Particle.DustOptions, double, double, double)
. ⚠️ RemovedUtil#getPermValue(Player, String, int)
.- Added
User#getPermissionValue(String, int)
. - Fixed a mistake in IslandWorldManager's javadoc.
- Tweaks
- 🔠 Added the addon name to the version's world list (#285).
- Bug fixes
- Fixed teleporting to an island by using a member's name causing an exception (#300).
- 🔠 Added English locale text for schem commands (#305).
- Fixed tons of code smells (as usual).
- Fixed
island.maxhomes
permission being sometimes not correctly appended to the addon's permission prefix.
- Features
- ⚙️ Deaths are now only counted if this is enabled in the gamemode world (#164 ; check the gamemode's config file).
- 🔠 Added the admin
why
command (/bsb why
on BSkyBlock ;/acid why
on AcidIsland). It will reveal why a player can do something on an island. Extract of the commit message: I want admins to be able to understand this better so that they can give us better bug reports or fix it themselves. When the player did something, it would be reported in the console. - Added schem clipboard selection display using particles. Here is how it looks.
- 🔠 ⚙️ Request confirmation when
/is sethome
is used while being in the Nether/End (#237). Options were also added to disallow setting an home in the Nether or in the End.
Alpha 3
Description
This pre-release fixes a few bugs and potentially contains a few API breaking changes.
Don't forget to update your addons as well.
How to read the changelog
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.
Here is a list of the labels:
⚠️ - the change is breaking the API and/or deprecate some parts of it. It theorically should only concern addons, so make sure to update them as well!- 🔠 - locale files may need to be regenerated or updated.
- ⚙️ - config options have been removed, renamed or added.
Changelog
- API
⚠️ 🔠 SplitedAdminSchemCommand
into proper subcommands: seeworld.bentobox.bentobox.api.commands.admin.schem package
for more details.- Added
ConfirmableCommand#askConfirmation(User, String, Runnable)
. - Added
User#spawnParticle(Particle, Particle.DustOptions, int, int, int)
. ⚠️ MovedAddonState
toAddon.State
.⚠️ MovedYmlCommentParser
andYmlConfiguration
inworld.bentobox.bentobox.util.yaml
package.⚠️ MovedHeadGetter
andHeadRequester
inworld.bentobox.bentobox.util.heads
package.⚠️ MovedSafeTeleportBuilder
toSafeSpotTeleport.Builder
.⚠️ ModifiedSafeSpotTeleport
to add a booleanoverrideGamemode
parameter.- Added
IslandWorldManager#inWorld(World)
.
- Tweaks
- ⚙️ Added
island.cooldown.coop
andisland.cooldown.trust
to avoid using invite's cooldown for these commands. - Made PVPListener use Notifier: it is now less ''spammy''.
- 🔠 Removed
general.errors.unknown-player-name
from locales. - 🔠 Added a
[name]
variable ingeneral.errors.unknown-player
(#263). - 🔠 Implemented protection for standard Nether and End (BentoBoxWorld/BSkyBlock#9).
- 🔠 Display BentoBox version in
/bentobox version
(#284).
- Bug fixes
- Panels size could be higher than 54.
- Fixed the Settings panel that was using outdated logic.
- Fixed players considered "unknown" until they created/joined an island.
- Fixed typo in
SchemsManager
. - Fixed trusted and coop members being protected like visitors (#258).
- Fixed closing vanilla inventories when clicking outside of them.
- Fixed a bunch of code smells.
- Fixed
AdminTeleportCommand
overriding the player's gamemode when teleporting (#262). - Fixed island protection being applied to standard Nether and End (BentoBoxWorld/BSkyBlock#9).
- Fixed handling of the Nether portal when standard Nether is enabled.
- Partially fixed critical exceptions when loading outdated addons (#280).
- Fixed dying outside of an island's space causing spectator mode (#286).
- Fixed error when saving schems containing a Shulker (#293).
Alpha 2
Description
This pre-release fixes a few bugs and potentially contains a few API breaking changes.
Java support
This pre-release introduces a better Java 10 support. While BentoBox is still not fully updated to this version (we are waiting for Java 11, which is the next LTS), it should be able to run.
Spigot 1.13.1
Alpha 2 is using Spigot 1.13.1. We highly recommend you to update from 1.13, not to mention that a lot of bugs have been fixed in both Minecraft and Spigot.
Official addons
There should be no need to update the official addons alongside this pre-release.
How to read the changelog
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.
Here is a list of the labels:
⚠️ - the change is breaking the API and/or deprecate some parts of it. It theorically should only concern addons, so make sure to update them as well!- 🔠 - locale files may need to be regenerated or updated.
- ⚙️ - config options have been removed, renamed or added.
- 🔺 - the original build contained a major bug or an exploit that has been fixed. Redownload BentoBox as soon as possible.
Changelog
- API
PanelBuilder#nextSlot()
was not returning the expected value.⚠️ MadeNotifier.Notification
nested class private. Note: addons or external plugins shouldn't have been able to use this.
- Tweaks
- ⚙️ Removed
general.check-updates
: it is unused. - Changed island distance particles (
/<admincommand> range display
) to be gray REDSTONE instead of TOWN_AURA. - ⚙️ Removed purge-related settings.
⚠️ ⚙️ Renamed all database-related settings and methods to replacedb
withdatabase
.- ⚙️ Moved confirmation-time to
island.confirmation.time
. ⚠️ ⚙️ Removedkick-wait
andleave-wait
. The confirmation time is now generic across all of the commands.- ⚙️ Renamed and moved
invite-wait
,ban-wait
andreset-wait
toisland.cooldown.<x>
. - ⚙️ Moved
island.require-confirmation.<command>
toisland.confirmation.commands.<command>
. WORLD_SETTING
flag type is now using aGRASS_BLOCK
block as an icon instead of aGRASS
item.
- Bug fixes
- Panel size was incorrectly set.
- Last login timestamp in Island information was sometimes 0 due to how OfflinePlayer works in Bukkit.
- Metrics were loaded even though it was set to false in config. Note: Metrics are still not yet fully implemented.
- Fixed BentoBox not loading addons due to Java 10 restrictions.
- 🔠 Fixed color formatting in
general.errors.no-permission
in theen-US
locale. - Fixed NPE when an invite gets rejected.
- Fixed Enter/Exit messages not being sent when the player teleports to an island.
- Fixed Invincible Visitors settings panel still using
general.errors.you-need
.
Trial of Java 10 version
Do not use it unless you're told to do so, as there are potentially some bugs.
Java 10 version just for preliminary testing.
Alpha 1
About this alpha pre-release
This pre-release, Alpha 1, fixes a few bugs that caused unexpected behaviours on various addons. It does not add any new features nor it brings API breaking changes.
Alpha 1 has not been built using Spigot 1.13.1 API, however it works fine on both 1.13 and 1.13.1.
Bug Fixes
- [Major] Entities in schems were not being pasted
- [Major] Deaths were not being counted
- [Major] Recognition of e.g. bskyblock.settings.* was not happening
- [Major] Protected items, e.g., chests, could be broken, thereby bypassing protection
- [Minor] Falling players starting an island could die from fall damage
- [Minor] API addRank or removeRank could remove trust, coop and sub_owner ranks
- [Minor] Endermen were dropping two blocks when killed if they held them
100% Feature Complete (Updated Aug 19 - hotfix)
About this release
100% feature complete pre-release version. This version will have bugs so be careful if you use it on a server. Major structural pieces are in place and are not expected to be redone, therefore the API will be quite stable.
However please keep in mind that this version can still contain bugs that might require some refactoring on the API. If you don't feel confident in using this pre-release, then don't use it and wait for 1.0 which should come out in a few weeks.
We will also follow a compliant semantic versioning, as stated on this page, for further versions :
- 0.9.0-SNAPSHOT: dev builds. They should not be used.
- 0.9.0-alpha: alpha builds. They will mainly be focused on new features and improvements to the current API.
- 0.9.0-beta: beta builds. They will be focused on bugs fixes.
- 1.0.0-rc: final pre-release(s).
- 1.0.0: release.
Warnings
- BentoBox and its addons are 1.13 only.
- Some bugs are known to be caused by Minecraft. They will likely be fixed in the upcoming 1.13.1 release.
- Make sure to take backups, to update carefully and to keep your Spigot updated as much as possible.
- BentoBox and its addons do not contain all the features that ASkyBlock/AcidIsland used to have, that's a fact. Be patient while we progressively add them back.
How to read the changelog
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 a big bold label like this one: LABEL:
Here is a list of the labels:
- BREAKING: - the change is breaking the API and/or deprecate some parts of it. It theorically should only concern addons, so make sure to update them as well!
- LOCALE: - locale files may need to be regenerated or updated.
- HOTFIX: - the original build contained a major bug or an exploit that has been fixed. Update BentoBox as soon as possible.
Changelog
- API
- Added
CompositeCommand(Addon, CompositeCommand, String, String...)
constructor. - Changed the main package declaration restriction to be
world.bentobox.bentobox
. This will allow us to create our addons using a "conventional" package naming. - BREAKING: Removed deprecated
CompositeCommand#setParameters(String)
. - More Javadoc!
- Created a sub-class of
CompositeCommand
calledConfirmableCommand
. - All the "wait" settings have been switched to
int
instead oflong
. - BREAKING: Made
DatabaseSetup
an interface. Note: addons usually don't implement their own database handlers, they use BentoBox built-in ones. However, let's take good habits and label this change as breaking! - Removed
FlyingMobEvents
protection listener. It was basically a (very old) duplicate of the GEO_LIMIT_MOBS' flag listener. - Removed unused
InventorySave
andInventoryStore
classes. IslandEnterEvent
andIslandExitEvent
are now properly fired.- Shaded bStats in BentoBox and replacing
Metrics
class byBStats
class. It will later be used to allow addons to register their own metrics through BentoBox. - BREAKING: Removed
IslandsManager#metrics_getCreatedCount()
andIslandsManager#metrics_setCreatedCount(int)
. Note: these methods were not used by the official addons, however it's labelled as breaking because custom addons could have used them. - BREAKING: Removed the current Placeholders support (
world.bentobox.bentobox.api.placeholders
package +world.bentobox.bentobox.lists.Placeholders.java
). It was unused. Note: it will be re-implemented when we'll find a good API design for them. - BREAKING: Removed entity and tile limit settings from
WorldSettings
(#getEntityLimits()
,#getTileEntityLimits()
). Note: the functionality of limiting certain entities or tile entities can be
provided by an addon instead. - Added support for
depend
andsoftdepend
inaddon.yml
. Note: an addon cannot (soft-)depend from a plugin. An API will be provided soon for that.
- New features
- Commands can require the player to have a specific minimum rank on the island to be able to execute it. See
general.rank-command
in the config. - Added
coop
,uncoop
,trust
anduntrust
commands. - Added
/bentobox reload
- it only reload locales for now.
- Tweaks
- Removed Herobrine.
- LOCALE: removed
general.errors.you-need
> the[permission]
variable is now handled ingeneral.errors.no-permission
. - LOCALE: moved all confirmation-related references to
commands.confirmation.xxx
. - LOCALE: renamed
protection.panel.flag-item.xxx_rank
to use a dash (-
) instead of an underscore (_
). - Minor code cleanup.
- Made the
reset
command use the command cooldown API. - Adjusted event listeners priority to stop spamming the console with island lock and ban.
- Changed enter/exit messages to be notifications (messages that are only sent once within 5 seconds).
- LOCALE: added colors in
en-US
. - LOCALE: added
jp-JP
locale. - LOCALE: fixed typos in
en-US
. - Removed custom metrics for now (was not used).
- Improved admin
delete
command to properly delete the player's island.
- Bug fixes
- Fixed locale references in
/bentobox version
. - Fixed UUID lookup telling that players are "known" although they never connected to the server (#232).
- Fixed some issues depending on the OS's locale.
- Fixed tons of code smells.
- Fixed locale files being saved from BentoBox into addon locales.
- Fixed error when loading add-on with no locale files.
- Fixed
resetname
command making the island enter/exit messages disappear. - Fixed config files saving on Windows.
- Fixed a few bugs when copying files using the FLATFILE database.
- Fixed "Unknown player!" error occuring even if the player was connected on the server when the server is using MYSQL database.
- Fixed FLATFILE database not saving files properly on the 1st time.
- HOTFIX: for bug where players cannot issue commands after relogging in.