Releases: BentoBoxWorld/BentoBox
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.
92% Feature Complete - FC-0.9 HOTFIX
WARNING: Use the build 334 from CodeMC CI because locale references in BentoBoxVersionCommand weren't updated. https://ci.codemc.org/job/BentoBoxWorld/job/bentobox/334/
92% feature complete and not bug-free pre-release version. This version is a hot-fix for FC-0.9.
WARNING: BentoBox and its addons are 1.13 only.
NOTE: There should be no need to update your addons for this update.
NOTE: Some bugs are known to be caused by Minecraft. They will likely be resolved with Minecraft's 1.13.1.
NOTE: Make sure to take backups, to update carefully and to keep your Spigot updated as much as possible.
Changelog :
- API
AdminDeleteCommand
is nearly finished.- Updated some Javadoc.
- Deprecated
setParameters(String)
in favor ofsetParametersHelp(String)
inCompositeCommand
. - Removed purge-related events (they were unused).
- Actually removed
Constants
class. - Fixed default parameters and description in
CompositeCommand
.
- New features
- No new features.
- Tweaks
- Updated
en-US
locale toFC-0.92
.
- Bug fixes
- Fixed help commands not working properly.
90% Feature Complete
90% feature complete and not bug-free pre-release version.
WARNING: BentoBox and its addons are 1.13 only.
WARNING: This update contains API breaking changes, make sure to update your addons as well.
NOTE: Some bugs are known to be caused by Minecraft. They will likely be resolved with Minecraft's 1.13.1.
NOTE: We know some early adopters are already using BentoBox on their "production" server. Make sure to take backups, to update carefully and to keep your Spigot updated as much as possible (there is nearly 5 new builds every day)!
Changelog :
- API
- BREAKING: Ready-to-use island and admin commands have been moved to the
world.bentobox.bentobox.api.commands
package. Feel free to use them in your Gamemode addons ! - Removed
Constants
class. It was useless. - Added generic commands cooldown handling in
CompositeCommand
:#setCooldown(UUID, UUID, int)
and#checkCooldown(User, UUID)
. - BREAKING: Renamed following classes :
BSBDatabase
-> Database
BSBDbSetup
-> DatabaseSetup
BSBConfig
-> Config
DatabaseConnecter
-> DatabaseConnector
FlatFileDatabaseConnecter
-> FlatFileDatabaseConnector
MongoDBDatabaseConnecter
-> MongoDBDatabaseConnector
MySQLDatabaseConnecter
-> MySQLDatabaseConnector
- Updated some javadoc and made it display everything.
- Removed
IslandSpawnCommand
. It was an empty class. - Updated
ItemParser
to use the new BANNER material names. - Added
authors
andobsolete
variables toBentoBoxLocale
. They are currently not used. - Created a new "format" for locales meta information :
meta:
authors:
- tastybento
- Poslovitch
banner: "WHITE_BANNER:1:STRIPE_SMALL:RED:SQUARE_TOP_RIGHT:CYAN:SQUARE_TOP_RIGHT:BLUE"
version: "FC-0.81"
- Added
#getNewOwner()
and#getOldOwner()
inTeamMakeLeaderEvent
. - Added
AdminDeleteCommand
. Note: this is a WIP and it hasn't been tested properly.
- New features
- Added
/bentobox
command. It has currently no technical use, it has mainly been implemented as a placeholder for commands to come. - Bypass protection permissions are now differenciated for each flag (e.g:
BREAK_BLOCKS
) and where they apply (everywhere
orisland
). As an example,bskyblock.mod.bypass.BREAK_BLOCKS.island
will only allow the player to break blocks inside an island's protection range.bskyblock.mod.bypass.PLACE_BLOCKS.everywhere
will allow it to place blocks everywhere (inside and outside an island's protection range). Note: this is a long-awaited feature and we would be really pleased to get some feedback about it!
- Tweaks
- Brought back automated
#setDescription(String)
and#setParameters(String)
forCompositeCommand
. It has been previously removed due to an infinite loop. - Updated some of the commands to use the confirmation API.
- Updated some of the commands to use the cooldown API. Note: some commands are known to not be using it at the moment.
- Removed following unused settings from
Settings
:recoverSuperFlat
andmuteDeathMessages
. - Made
fakePlayers
an experimental config setting. Note: this has currently no effect over BentoBox, however theexperimental
value will later be used to explicitely tell that this setting might be dangerous to use. - Updated locales to use the new banner format.
- Updated locales to use the new "meta" format.
- Bug fixes
- Fixed EndermanListener to use BlockData instead of MaterialData.
- Added missing
protection.flags.PVP_OVERWORLD.active
inen-US
locale. - Fixed schems not being pasted correctly. They now use BlockData as well.
- Fixed commands tab-completer not working on 1.13.
- Fixed spawners being incorrectly handled in schems.
- Fixed
/island team kick <player>
not kicking the player (even though it was said he was). - Fixed tons of code smells.
FC 81% Release
Installation
I recommend a fresh install for this version because a lot has changed. If you plan to use MySQL, you'll need to create a database yourself, e.g., bentobox and set the config settings in config.yml of BentoBox.
- BentoBox is the main plugin. Put it in your plugins folder.
- Run the server and BentoBox will create some folders, one of them called addons
- Stop the server and edit config.yml as you like
- Place all the add-ons (or whichever ones you want) into the addons folder
- Start the server. The add-ons will make their folders and config files
- (Optional) Stop the server and edit the configs how you like, then restart.
We are still in development, so by all means report bugs, but we may need to ignore them if we know about them already. Thanks!
80% Feature Complete - 1.13 update!
80% feature complete and not bug-free pre-release version.
WARNING: We updated BentoBox to fully support 1.13. This means that BSkyBlock & AcidIsland addons can not currently run on BentoBox.
NOTE: BSkyBlock's commands have been removed from BentoBox. In the current state, BentoBox is doing "nothing".
Changelog :
- API
- Better exception handling with locales.
- Changed
BSBLocale
constructor toBSBLocale(Locale, YamlConfiguration)
. - Changed
BSBLocale#merge(File)
toBSBLocale#merge(YamlConfiguration)
. - Removed acid-related events :
EntityDamageByAcidEvent
,ItemDestroyByAcidEvent
,ItemFillWithAcidEvent
,PlayerDrinkAcidEvent
. - Better addon loading handling.
- BREAKING CHANGE: renamed
world.bentobox.bbox
toworld.bentobox.bentobox
. - Removed
GameType
enum inConstants
. - Description and parameters references for
CompositeCommand
are now set automatically, but can still be overridden.
- New features
- Updated to 1.13 (31st July 2018 Spigot version).
- Tweaks
- Removed a few unused references in
en-US
locale. - Fixed typos in
en-US
locale. - Made
TNT
a PROTECTION flag (was previously aSETTING
).
- Bug fixes
- Fixed incorrect YAML format in
pl-PL
locale. - Fixed invalid banner for
pl-PL
locale.
79% Feature Complete
79% feature complete and not bug-free pre-release version.
NOTE: Tastybento and I are currently away from our respective homes. Downloads will be added soon, but you can download the dev builds on CodeMC CI for now.
NOTE: BSB can now work on Spigot 1.13-pre7. However, keep in mind it is not designed to work on 1.13 and that it is currently only officially developped on 1.12.
Changelog :
- API
- Removed
Island#setSpawnFlagsDefaults()
- was not used. - Added
BSBReadyEvent
which is called when the plugin is fully loaded. - Removed the following variables in
Settings
(they are now flags) : allowPistonPush, restrictFlyingMobs, allowEndermanGriefing, endermanDeathDrop, allowTNTDamage, allowChestDamage, allowCreeperDamage, allowCreeperGriefing, allowMobDamageToItemFrames.
- New features
- Added
CHEST_DAMAGE
WORLD_SETTING flag. - Added
ENDERMAN_GRIEFING
WORLD_SETTING flag. - Added
ENDERMAN_DEATH_DROP
WORLD_SETTING flag. - Added
ITEM_FRAME_DAMAGE
WORLD_SETTING flag. - Added
GEO_LIMIT_MOBS
WORLD_SETTING flag - defaults are flying mobs, but it can be expanded to all existing mobs. - Added
pl-PL
locale (thanks @RikoDEV). - Added
/bsb clearresets
. - Added
/bsb clearresetsall
(and this has been done 30,000 feet above Nevada desert! Woohoo!).
- Tweaks
/bsb range display
now uses the server view-distance to reduce potential lags on both client and server sides.TNT
flag is now a SETTING (it was previously a WORLD_SETTING). That means that it can now be toggled by players! BOOOM!- Updated
en-US
with better texts for the newest commands. /bsb range set
and/bsb range reset
now provide a better feedback.
- Bug fixes
- Removed a debug message that was a bit spammy ("Place blocks MATERIAL").
- Fixed
CREEPER_DAMAGE
flag applying even to non-island worlds.
74% Feature Complete
74% feature complete and not bug-free pre-release version.
WARNING: This update contains some API breaking changes. If you're using addons, wait for their updated versions to be attached to this release note (~ 20/07 at 10 AM UTC).
WARNING: BSkyBlock now needs at least Spigot to run properly as it now uses the SpigotAPI.
Changelog :
- API
- Renamed ClickHandlers (IslandToggleClickListener -> IslandToggleClick ; WorldToggleClickListener -> WorldToggleClick).
- IslandToggleClick is now used by default for SETTING flags.
- WorldToggleClick is now used by default for WORLD_SETTING type flags.
- Added the ability to add comments to the top of the config file.
- Flag listeners are now registered once the plugin is nearly entirely loaded.
- Added
isWaterUnsafe()
in WorldSettings. - Added convenience methods in CompositeCommand to ignore the help subcommand (if it exists).
- Changed
BSBCommand#execute(User, List<String>)
toBSBCommand#execute(User, String, List<String>)
. - Added
PlayersManager#getUser(UUID)
. - Rewrote some Javadoc in Island.
- Removed
#setMinX(int)
,#setMinZ(int)
,#setMinProtectedX(int)
,#setMinProtectedZ(int)
in Island as those were legacy methods from ASkyBlock and were actually useless. - Removed
Island#getTileEntityCount(Material, World)
as it will become useless as of 1.13.
- New features
- Added config option to set the worlds' difficulty.
- Added
TNT
WORLD_SETTING flag. - Added
CREEPER_DAMAGE
andCREEPER_GRIEFING
WORLD_SETTING flags. - Added
/bsb range <display/show/hide>
to show the limits of an island (not optimized yet). - Added
/bsb range set <player> <range>
. - Added
/bsb range reset <player>
.
- Tweaks
- Added more detailed feedback for CleanSuperFlat Flag.
- Moved
commands/admin/teams
package tocommands/admin/team
. - Moved
commands/island/teams
package tocommands/island/team
. - Updated en-US locale so multi-line texts looks nicer
- Bug fixes
- Fixed
ANIMAL_SPAWN
flag not being toggleable. - Fixed "Unknown command" error due to a case-sensitive handling of the sub-commands (e.g.: HeLP, ABout).
- Fixed /is go sending a default-colored error message when having no island .
- Fixed damage not applying on entities in case it was also inflicting damage on the player while PVP was off (e.g.: potions).
- Fixed OPs not being able to bypass locked islands.
- Fixed OPs not being able to bypass islands where they were banned.
- Fixed database errors due to an incorrect Location serialization in YAML files.
- Fixed edge-case bugs with
FIRE_EXTINGUISH
flag. - Fixed an NPE when some custom entities where spawning naturally.
- Fixed bug where OPs could not see admin help by default.
- Fixed bug where boats could not be broken by the island owner.
- Fixed /bsb info not displaying the actual protection range.