Releases: BentoBoxWorld/BentoBox
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.
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.