BentoBox

Expandable Minecraft server plugin for island-type games like SkyBlock or AcidIsland.

EPL-2.0 License

Stars
310
Committers
69
BentoBox - 1.13.1 - Reopening the Gates

Published by Poslovitch over 4 years ago

Description

BentoBox 1.13.1 is a HOTFIX release to fix a non-critical bug which is more annoying than actually harmful. BentoBox would complain about not being able to save objects to database while having actually succeeded to do so.

Which Minecraft versions are compatible with this release?

Compiled against: Spigot 1.15.2.
Tested on: 1.15.2.

Support BentoBoxWorld

As a user, you're the one that keeps us thrilled to make continuous updates and improvements to all the BentoBoxWorld products. This is a voluntary and time-consuming yet exciting hobby.

So don't hesitate to join our Discord server and give us a hug, a “Thank You”. And if you feel that extra-generosity rushing in, tip us on PayPal or become a sponsor of tastybento, that's really much appreciated! (Donors get a special rank on our Discord server!) ❤️

Changelog

Contents

Fixes

  1. Fixed BentoBox spamming "Could not save object to database!" although having succeeded to do so.
BentoBox - 1.13.0 - Opening the Gates

Published by Poslovitch over 4 years ago

Description

BentoBox 1.13.0 gets the ball rolling. It is the first major update of the Future development cycle of 2020 Q2. It brings in a lot of awesome and quality-of-life features for players, admins and addon developers! In these release notes, you will find the usual changelog, but also an overview of the new features as well as a detailed walkthrough of the API improvements for addons.

Alongside this update, you should update your addons to take advantage of all the new features. Updates for official addons will be progressively released over the next few weeks.

We are also officially launching our new documentation website! Basically, the contents of all the Wikis on each of our repositories have been moved to this website so that it can be more easily read and updated.

image

Which Minecraft versions are compatible with this release?

Compiled against: Spigot 1.15.2.
Tested on: 1.15.2.

Support BentoBoxWorld

As a user, you're the one that keeps us thrilled to make continuous updates and improvements to all the BentoBoxWorld products. This is a voluntary and time-consuming yet exciting hobby.

So don't hesitate to join our Discord server and give us a hug, a “Thank You”. And if you feel that extra-generosity rushing in, tip us on PayPal or become a sponsor of tastybento, that's really much appreciated! (Donors get a special rank on our Discord server!) ❤️

Overview of the new features

Keep player's old island when they reset their island

An option is added to the gamemodes' config, allowing admins to decide whether BentoBox should delete the players' islands when they reset theirs. If enabled, whenever a player resets their island, it is going to create a new one and leave the old one unowned. The player won't have access to it, but it will remain in the server's worlds. Those islands can be later definitely removed from the worlds by purging unowned islands. This might come in handy to be able to give players their island back if they accidentally deleted it; or to avoid deletion occurring while the server is running with players.

This feature was implemented by @Poslovitch and was requested in #1188.

Coop and Trust limitations

Prior to this release, players could coop or trust unlimited amount of fellow players to their island.
Specific options to define how many players can be cooped or trusted on an island are added to the gamemodes' config files, and similarly to the team size, you can assign permissions to players to allow them to coop or trust more players. Those permissions are the following: [gamemode].coop.maxsize.<number> and [gamemode].trust.maxsize.<number>.

This feature was implemented by @Cleymax in #1267 and was requested in #1065.

Player UUIDs in admin commands

In some cases, depending on the server setup, a player's UUID can change. This leads to some inconvenience when trying to re-register them to their own island. This new feature allows admins to use player UUIDs in most admin commands, such as follows:

Image showing that it is now possible to reserve an island spot for a player using their UUID

This feature was implemented by @tastybento in #1298 and was requested in #1297.

Prefixes in localizations

Admins and addon developers can now define prefixes in the localization files that can be used virtually anywhere throughout the entirety of BentoBox and addons' localization files. As this feature allows for an unlimited amount of prefixes, admins and addon developers can also choose which message uses a specific prefix. Moreover, prefixes can be translated. Currently, only the BentoBox prefix is part of the default locales. That's up to you to add more, if you wish 😉.

Image showing that prefixes can be translated

A detailed guide about this new feature is being worked on and will be made available on the docs soon.

This feature was implemented by @Poslovitch and was requested in #1086.

An admin command to set an island's spawn point

In case the spawn point on an island is not where you'd like it to be, you will now be able to change it using this new command: /[admin_command] setspawnpoint. Easy to use!

This feature was implemented by @BONNe in #1295 and was requested in #937.

Change the behavior of the main player command

New options in gamemodes' config allow admins to define the behavior of the main player command. Admins can finally decide which subcommand should be executed when players have or do not have an island on the gamemode!

This feature was implemented by @BONNe in #1293 and was requested in #498.

Addon developers

Here you'll find the key points of this update and the things you should do to update your addons to the new standards.

Addons

Use the placeholder permissions

This feature allows addons to avoid updating their permissions each time there is a new gamemode.
You can use [gamemode] in their permissions to automatically register the permissions on all available gamemodes.

Example:

BEFORE

permissions:
  bskyblock.myperm:
    default: true
  acidisland.myperm:
    default: true
  skygrid.myperm:
    default: true

AFTER

permissions:
  [gamemode].myperm:
    default: true

Database management

Database#saveObject() has been deprecated. Use Database#saveObjectAsync() instead.

SafeSpotTeleport

SafeSpotTeleport now requires the use of its Builder in order to be instanciated.

Gamemodes

New provided commands

  • AdminSetSpawnPointCommand;
  • AdminPurgeStatusCommand (already called in AdminPurgeCommand).

Default commands API

BentoBox now provides two default commands (DefaultAdminCommand and DefaultPlayerCommand) that you can both register instead of having to create and update your own implementations of an admin and player commands.

Some gamemode addons are already implementing custom settings in their config to allow users to change the commands' label and aliases. If that's your case, do not forget to properly override getAdminCommandAliases() and getPlayerCommandAliases() from WorldSettings.

New WorldSettings

  • The following WorldSettings are to be overriden only if the default commands are used:
    • getAdminCommandAliases();
    • getPlayerCommandAliases();
    • getDefaultPlayerAction();
    • getDefaultNewPlayerAction().
  • Put the following WorldSettings close to the "max team size" option in the config. Eventually use a similar comment that explains what those two new settings do and which permission they are associated with.
    • getMaxCoopSize(): [gamemode].coop.maxsize.<number>
    • getMaxTrustSize(): [gamemode].trust.maxsize.<number>

Changelog

Legend

  • ⚠️ deprecated/removed API.
  • 🔺 need special attention.

Contents

API

  1. Added some nullability annotations.
  2. Added AdminPurgeStatusCommand to allow admins to view the current purge's status (#1254).
  3. 🔺 SafeSpotTeleport now requires the use of its Builder.
  4. Added IslandEvent.IslandRankChangeEvent (@Cleymax, #1135, #1260).
  5. Improved error message if BentoBox fails to save an Addon's config.
  6. Added CompositeCommand#setHidden(boolean) to enable commands to be hidden from help and tab-complete (#1300, #1301).
  7. Implemented ability to set an amount for a PanelItem: added #getAmount() and #setAmount(int) in PanelItemBuilder (@BONNe, #1299).
  8. Added AdminSetSpawnPointCommand to change an island's spawn point (@BONNe, #937, #1295).
  9. 🔺 Made IslandsManager#getSafeHomeLocation(...) return null if the world is not an island world (#1306).
  10. Added Addon#reloadConfig() (@YellowZaki, #1302).
  11. Added DefaultPlayerCommand and DefaultAdminCommand (@BONNe, #498, #1293).
  12. Added 4 new methods in WorldSettings: getAdminCommandAliases(), getPlayerCommandAliases(), getDefaultPlayerAction(), getDefaultNewPlayerAction() (@BONNe, #498, #1293).
  13. ⚠️ Deprecated the saveObject() method for databases (#1308).
  14. 🔺 Added saveObjectAsync() method for databases (#1308). This new method makes use of a CompletableFuture, making (async) saves into the database much easier to handle.
  15. Implemented placeholder permissions for addons (#1303, #1305). Addons will no longer need to see their permissions updated each time there is a new gamemode. They can use [gamemode] in their permissions to automatically register the permissions on all available gamemodes.
  16. Added 2 new methods in WorldSettings: getMaxCoopSize() and getMaxTrustSize() (@Cleymax, #1065, #1267).

Feature / Tweaks

  1. Added %[gamemode]_island_members_list% and %[gamemode]_visited_island_members_list% placeholders (#1243, #1246).
  2. Improved/Fixed EXPERIENCE_PICKUP flag on Paper servers (@KennyTV, #1256).
  3. 🔺 IslandResetCommand now requires the [gamemode].island.reset permission (#1207).
  4. 🔺 Removed support for MVdWPlaceholderAPI - you can still use our placeholders through PlaceholderAPI.
  5. Added %[gamemode]_on_island% placeholder (@Cleymax, #1168, #1259).
  6. Updated copyright info in about command.
  7. Added BREAK_SPAWNERS (PROTECTION) flag (@N0tMyFaultOG, #1130, #1263).
  8. Added a single character prefix to database tables (#1277, #1278).
  9. Added a config option to keep islands when players reset them (#1188).
  10. Made use of the "spawn protected" message when the island is a spawn.
  11. Allowed player UUIDs to be used in admin commands (#1297, #1298).
  12. Added prefixes in localizations and added a default prefix for BentoBox (#1086).
  13. Added coop and trust limits and related permissions: [gamemode].trust.maxsize.number and [gamemode].coop.maxsize.number (@Cleymax, #1065, #1267).
  14. Removed unused tab-completion for the /bentobox reload command.
  15. Added /bentobox reload locales command to only reload locales (#1245).
Localization
  1. Updated locales to remove some outdated stuff.
  2. Made some tweaks to en-US.
  3. Updated Spanish (es) translation (@SrAcosta, #1239).
  4. Improved purge-related messages.
  5. Improved description of CREEPER_GRIEFING flag (@N0tMyFaultOG, #1201, #1264).
  6. Updated license dates in startup message (@N0tMyFaultOG, #1266).
  7. Emphasized that natural spawning is toggled for mobs and animals (#1284).
  8. Updated Polish (pl) translation (@workonfire, #1289).

Fixes

  1. Fixed player-not-cooped message key (@KennyTV, #1251).
  2. Fixed spawn islands that could be purged when running an unowned islands purge (#1255).
  3. Fixed Paintings protection (#1273).
  4. Fixed inventory (etc.) being cleared even though the player cannot teleport to his island (#1280).
  5. Fixed cannot-kick message key.
  6. Fixed MySQL databases not being properly saved on shutdown (#1292).
  7. Fixed torches being considered as "safe blocks" (#1296).
  8. Fixed IslandsManager#getSafeHomeLocation(...) throwing a NPE if the world is not an island world (#1306).
  9. Fixed the confirmation warning message showing twice in AdminRegisterCommand when reserving an island spot for a player.
BentoBox - 1.12.0 - The Future is Next

Published by tastybento over 4 years ago

Description

BentoBox 1.12.0 polishes existing features and fixes bugs while we are concluding the Addons Initiative 2020 and moving towards our next roadmap for 2020 Q2 : Future. Through performance improvements and API additions, this update leads BentoBox to the path of becoming the sturdiest plugin capable of running island-based gamemodes, which is our dearest wish.

Alongside this update, you should not need to update your gamemode addons.

image

Which Minecraft versions are compatible with this release?

Compiled against: Spigot 1.15.2.
Tested on: 1.14.4 (might be unstable), 1.15.2.

We highly recommend you update to 1.15.2, as this will become our only compatible version by BentoBox 1.13.0.

Psssst! Are you still on 1.13.2? Well, if that is the case, you're missing out tons of 1.15-related features. But worry not, we've (unofficially) got your back covered. Download the BentoBox-1.12.0-1.13.2.jar file below, which is kindly provided by @BONNe. While we understand some may want to remain on 1.13.2 and are doing it thanks to his build, keep in mind you are at risk of addons becoming incompatible at some point.

What comes next?

We are currently reviewing our roadmap for the following months. We are planning to focus our efforts on polishing BentoBox. The current worldwide situation is leading to an increase of servers using BentoBox. Those are newcomers we want to welcome warmly into the BentoBoxWorld community through the implementation of a more user-friendly experience overall.

Support BentoBoxWorld

As a user, you're the one that keeps us thrilled into making continuous updates and improvements to all the BentoBoxWorld products. This is a voluntary and time-consuming yet exciting hobby.

So don't hesitate to join our Discord server and give us a hug, a “Thank You”. And if you feel that extra-generosity rushing in, tip us on PayPal or become a sponsor of tastybento, that's really much appreciated! (Donors get a special rank on our Discord server!) ❤️

Changelog

Legend

  • ⚠️ deprecated/removed API.
  • 🔺 need special attention.

Contents

API

  1. Added nullability annotations in various locations.
  2. Added ConfigEntry#needsRestart().
  3. Added #getOldIsland() in island reset-related events (@Draww, #1178, #1179).
  4. Added IslandEvent.IslandPreclearEvent (#1200).
  5. Added IslandEvent.IslandReservedEvent.

Feature / Tweaks

  1. Added LIMIT_MOBS flag (WORLD_SETTING) (#1133, #1155).
  2. Added ver alias to version commands.
  3. Added %[gamemode]_deaths% placeholder (#1197).
  4. Prevent island height to be set outside Minecraft's allowed values (BentoBoxWorld/SkyGrid#39).
  5. Sped up the "new island spot" search (BentoBoxWorld/CaveBlock#44).
  6. Added use-ssl config option to toggle SSL when connecting to SQL databases (@BONNe, #1206).
  7. Set the spawn island protection range to be the max by default.
  8. When pasting an island, load each required chunk asynchronously (Paper only).
  9. Updated bStats integration: removed metrics config option, improved the "Players per server" chart (@N0tMyFaultOG, #1225).
  10. Added protection for bee nests and hives (#1237).
Localization
  1. Updated Italian (it) localization (@xion87, #1194).
  2. Updated Turkish (tr) localization (@OverBrave, #1196).

Fixes

  1. Ignored colors when checking panel names (#1202).
  2. Fixed ClassCastException occurring when handling projectiles launched by blocks (#1211).
  3. Fixed Addon#saveResource() not overwriting files properly.
  4. Fixed TeamEvent.TeamKickEvent#getPlayer() not returning the kicked player (#1216).
  5. Fixed any island member being able to reset the island settings (#1219).
  6. Fixed automated island creation on joining (#1221).
  7. Fixed a rare ConcurrentModificationException that could occur when unloading addons classes.
  8. Fixed NullPointerException that could occur with misnamed default language.
  9. Fixed splash potion PvP handling (@KennyTV, #1230).
  10. Fixed handling of negative perms for value setting (BentoBoxWorld/Limits#73).
BentoBox - 1.11.1 - Internationally Unglitched

Published by Poslovitch over 4 years ago

Description

BentoBox 1.11.1 adds a few features but most notably fixes bugs. We also made sure that some of our long-established features underwent some fine-tuning. In a nutshell, this update is mostly the result of a meticulous work with a resolute attention to details. Beyond becoming feature-rich, we want BentoBox to be a stable, trustworthy tool for you to use on the long-term. Therefore, while this update might not be as exciting as others, we believe it is a necessity to assess the quality of our work from time to time to ensure we are not heading for trouble. Thanks to everyone who help us in that monumental task.

Alongside this update, you should not need to update your gamemode addons. However, we recommend you to reset your locales, if you have not customized them. This can be achieved by deleting the locales folder.

Which Minecraft versions are compatible with this release?

Compiled against: Spigot 1.14.4.
Tested on: 1.14.4, 1.15.1, 1.15.2.

We highly recommend you update to 1.15.2, as this will soon become our only compatible version.

Psssst! Are you still on 1.13.2? Well, if that is the case, you're missing out tons of 1.15-related features. But worry not, we've (unofficially) got your back covered. Download the BentoBox-1.11.0-1.13.2.jar file below, which is kindly provided by @BONNe. While we understand some may want to remain on 1.13.2 and are doing it thanks to his build, keep in mind you are at risk of addons becoming incompatible at some point.

Having some issues with performances?

Using Spigot 1.15.2 for quite some time? Grab yourself a more recent Spigot build as soon as possible as a critical bug has been uncovered and fixed, which caused performance issues when generating chunks.

Using Paper 1.15.2 for quite some time? You might have been exposed to the same bug as Spigot lately, so make sure you update your server as soon as possible. Moreover, you might want to update BentoBox as well because we put in it some Paper-flavor asynchronous improvements.

Support BentoBoxWorld

As a user, you're the one that keeps us thrilled into making continuous updates and improvements to all the BentoBoxWorld products. This is a voluntary and time-consuming yet exciting hobby.

So don't hesitate to join our Discord server and give us a hug, a “Thank You”. And if you feel that extra-generosity rushing in, tip us on PayPal or become a sponsor of tastybento, that's really much appreciated! (Donors get a special rank on our Discord server!) ❤️

Changelog

Legend

  • ⚠️ deprecated/removed API.
  • 🔺 need special attention.

Contents

API

  1. Improved and fixed javadocs.

Feature / Tweaks

  1. Added success messages for IslandSetnameCommand and IslandResetnameCommand (#1164).
  2. Made AdminWhyCommand send debug messages to the issuer if it is a player (#1126).
  3. Added a new permission for bypassing delayed commands: [gamemode].mod.bypassdelays (#1136).
  4. Significantly improved performances when generating chunks on Paper servers (#1180).
  5. Added a message sent if scooping obsidian fails due to nearby obsidian blocks.
  6. Added a message sent to all players on an island when PVP is toggled (#1081).
Localization
  1. Added Czech (cs) translation (@Polda18, #1156).
  2. Updated Latvian (lv) translation (@BONNe, #1171).
  3. Updated the PISTON_PUSH flag's description to better reflect its actual behavior (#1162).
  4. Updated the FLINT_AND_STEEL flag's description to also tell about campfires.
  5. Updated French (fr) translation (#1189).

Fixes

  1. Fixed AdminTeleportCommand not allowing to be used in console (#1158).
  2. Fixed End Portal teleportation causing the player to fall under the island if entering the End Portal with a high velocity (#1118).
  3. Fixed PVP related messages not using their dimension-related counterparts.
  4. Fixed island center coordinates correction not working properly when using customized start-x, start-z values (#1169).
  5. Fixed a discrepancy in descriptions about the behavior of the PISTON_PUSH flag (#1162).
  6. Fixed a NPE caused by external plugins incorrectly interacting with the Bukkit API (#1172).
  7. Fixed an event concurrency with external plugins overriding the Nether Portal teleportation destination (#1101).
  8. Fixed the addon API-version checking algorithm (#1176, #1177).
  9. Fixed critical performance issues when generating chunks (#1180, SPIGOT-5573).
  10. Fixed DYE protection being always called when interacting with Sheep.
  11. Fixed code smells.
  12. Fixed BREEDING protection not catching breeding of newer animals (Pandas, Foxes...) or with some items (Golden Carrots, ...).
  13. Fixed exceptions occurring when using AddonsManager#getClassByName().
BentoBox - 1.11.0 - January Update

Published by Poslovitch over 4 years ago

Description

BentoBox 1.11.0 brings new API features, tweaks and bug fixes!

As we made some changes to permissions, you will need to update your gamemode addons.

Which Minecraft versions are compatible with this release?

This release is compiled against Spigot 1.14.4 and was tested successfully on 1.14.4, 1.15.0, 1.15.1 and 1.15.2.

We highly recommend you update to 1.15.1 or higher, as this will soon become our only compatible version.

Note that we now consider Paper as supported server software.

Having some issues with performances?

Please see the previous releases' changelogs.

Support BentoBoxWorld

As a user, you're the one that keeps us thrilled into making continuous updates and improvements to all the BentoBoxWorld products. This is a voluntary and time-consuming yet exciting hobby.

So don't hesitate to join our Discord server and give us a hug, a “Thank You”. And if you feel that extra-generosity rushing in, tip us on PayPal or become a sponsor of tastybento, that's really much appreciated! (Donors get a special rank on our Discord server!) ❤️

Changelog

Legend

  • ⚠️ deprecated/removed API.
  • 🔺 need special attention.

Contents

API

  1. 🔺 AddonEventBuilder#build() now fires the event (#1111).
  2. AddonEvent.AddonEnableEvent, AddonEvent.AddonDisableEvent, AddonEvent.AddonLoadEvent, AddonEvent.AddonGeneralEvent and AddonEvent.AddonEventBuilder have been made static (#1111).
  3. Added some nullability annotations.
  4. Improved Javadocs.
  5. Added IslandEvent.IslandProtectionRangeChangeEvent (@BONNe, #1109).
  6. Added api-version field to addon.yml to allow addons to specify a minimum required BentoBox version (#1131). Subsequently added AddonDescription#getApiVersion().

Feature / Tweaks

  1. Made the %[gamemode]_island_name% and %[gamemode]_visited_island_name% use the default island name ("Owner's island") if the island has no custom name (#1108).
  2. Made redstone operate on island if staff members are present, even if the OFFLINE_REDSTONE flag is active and no island members are online (#1102).
  3. Prevented loading Blueprint Bundles that have duplicate uniqueIds (#1117).
  4. Added new messages when the player enters or exits his own island (#1084). E.g. "Entering your island", instead of "Entering [owner]'s island".
  5. Applied minor tweaks to the Blueprint Bundle Editor panel.
  6. 🔺 Made changes to the island protection range permission on island ownership changes. If the new owner has no perms (and the previous one did), then the range will not be reset. Previously, it was always resetting to the default range.
  7. Added minimum required database versions in comments into config for databases (#1149).
  8. Fixed typos in the config.yml file.
  9. Added 1.15.2 to the list of compatible versions (#1150).
Localization
  1. Added German (de) translation (@xXjojojXx, #1123).
  2. Updated Latvian (lv) translation (@BONNe, #1124).
  3. Improved colors in English (en-US) localization.
  4. Update some admin commands descriptions in English (en-US) to better explain their behavior (#1140).
  5. Fixed typos in English (en-US) localization.
  6. Updated French (fr) translation (@AFGAME, #639).
Commands
  1. Improved tab completion for AdminSetrankCommand (/[admin] setrank (...)) (#787).
  2. Added an optional island owner argument to AdminSetrankCommand (/[admin] setrank <player> <rank> [island owner]) to allow admin to trust or coop players on another player's island (#787).
  3. Improved the success message for AdminSetrankCommand (/[admin] setrank (...)) (#787).
  4. Added an optional island owner argument to AdminGetrankCommand (/[admin] getrank <player> [island owner]) (#1106).
  5. Improved the /bentobox version layout to convey a bit more information about worlds.
  6. Added an optional player to teleport argument to AdminTeleportCommand (/[admin] tp <player> [player to teleport]) to teleport another player to the player's island (#1120).
  7. 🔺 Added explicit permissions to team commands (#1144, #1146):
    • island.team.accept: IslandTeamInviteAcceptCommand.
    • island.team.invite: IslandTeamInviteCommand.
    • island.team.reject: IslandTeamInviteRejectCommand.
    • island.team.kick: IslandTeamKickCommand.
    • island.team.leave: IslandTeamLeaveCommand.
    • island.team.setowner: IslandTeamSetownerCommand.

Fixes

  1. Fixed commands not being prevented from being executed if the player falls (#1103).
  2. Fixed some API events being called twice (#1110, #1111).
  3. Fixed unregistering island causing trusted players to lose their own islands (#1096).
  4. Fixed island offset settings in gamemodes' config not working properly (#1105).
  5. Fixed "duplicate key" error occurring when BentoBox tries to load blueprint bundles that have the same uniqueId (#1117).
  6. Fixed ConcurrentModificationException when using MySQL (#1128, #1141). Note that the GSON serialization is now made on the main thread.
  7. Fixed deleted islands' spots not being considered as free spots for new islands (#1147).
  8. Fixed POSTGRESQL database (#1093, #1142).
  9. Fixed gamemode subcommands not inheriting permissions from parent commands (this was the case of most admin commands).
  10. Fixed the IslandTeamUntrustCommand not using the [gamemode].island.team.trust permission. It was using the [gamemode].island.team.coop permission instead.
BentoBox - 1.10.0 - The Journey continues...

Published by Poslovitch almost 5 years ago

Description

BentoBox 1.10.0 is mostly a bug fix release with some minor additions. Gamemode addons should be updated in order to make use of all the new features.

Exactly one year ago, on January 3rd, 2019, BentoBox 1.0 was released. As you might already know, I tend to pick meaningful names for the releases I publish. The Beginning of a long Journey.... Here we are a year later, counting 1218 additional commits and innumerous hours of work put into this project.

This is incredible.

image

Which Minecraft versions are compatible with this release?

This release is compiled against Spigot 1.14.4 and was tested successfully on 1.14.4, 1.15.0 and 1.15.1.

We highly recommend you to update to 1.15.1, as this will soon become our only compatible version.

Note that we now consider Paper as a supported server software.

Psssst! Are you still on 1.13.2? Well, if that is the case, you're missing out tons of 1.14-related features. But worry not, we've (unofficially) got your back covered. Download the BentoBox-1.10.0-1.13.2.jar file below, which is kindly provided by @BONNe. While we understand some may want to remain on 1.13.2 and are doing it thanks to his build, keep in mind you are at risk of addons becoming incompatible at some point.

Having some issues with performances?

Tweaking config options...

BentoBox 1.6.0 introduced config options that are useful to tweak performance issues on island creation or deletion.

  • island.paste-speed should be reduced to 64 if you are using the default Blueprints, 128 if you are using bigger ones. In accordance with #1051, the impact on performances can be significant, while the extra time required to create the islands is not felt by the player to be inconvenient.
  • island.delete-speed should be kept as small as possible, yet it has been changed 1.9.0 from being per ticks to per seconds. Take that into account!

Using Paper?

BentoBox 1.9.0 introduced support for PaperLib. Basically, if you're using Paper, nearly all resource-intensive operations will be run asynchronously. This will keep your server's performances high, but might lengthen the time taken by some processes.

Support BentoBoxWorld

As a user, you're the one that keeps us thrilled into making continuous updates and improvements to all the BentoBoxWorld products. This is a voluntary and time-consuming yet exciting hobby.

So don't hesitate to join our Discord server and give us a hug, a “Thank You”. And if you feel that extra-generosity rushing in, tip us on PayPal or become a sponsor of tastybento, that's really much appreciated! (Donors get a special rank on our Discord server!) ❤️

Changelog

Legend

  • ⚠️ deprecated/removed API.
  • 🔺 need special attention.

Contents

API

  1. Added WorldSettings#isPasteMissingIslands() and IslandWorldManager#isPasteMissingIsland(World) (#1063).
  2. Added nullability annotations to IslandsManager public methods, User#hasPermission(...) and User#getSender(...).
  3. Improved Javadocs.
  4. Added AdminRangeAddCommand and AdminRangeRemoveCommand (#1072).
  5. Added Util#isInteger(...).
  6. Added support for floats in config files (BentoBoxWorld/TwerkingForTrees#6).
  7. 🔺 Made NewIsland.Builder#reason(Reason) enforce the reason to be either CREATE or RESET.
  8. Added WorldSettings#isTeleportPlayerToIslandUponIslandCreation() and IslandWorldManager#isTeleportPlayerToIslandUponIslandCreation(World) (#1032).
  9. Updated PlaceholderAPI dependency to 2.10.4.
  10. Added AdminBlueprintRenameCommand (#1082).

Feature / Tweaks

  1. Added LECTERN (PROTECTION) flag (#1094). It prevents players from taking or placing a book on the lecterns while still allowing them to read the book.
Gamemode additions
  1. 🔺 Added config option to toggle the on-the-fly pasting of nether/end islands. In some cases, this could be exploited by players to get an infinite amount of resources (#1063).
  2. Added add and remove subcommands for the admin range command (#1072).
  3. Added config option to toggle whether the player should be teleported to his island upon its creation (#1032).
  4. Added rename subcommand for the admin blueprint command (#1082).
Performances and stability
  1. Reworked how spots for new islands are found (#1057).
  2. Improved the reliability of some commands requesting an integer as a parameter.
  3. Tweaked the GitHub download feedback to be less spammy.

Fixes

  1. Fixed timeout crashes when trying to find a free spot for a new island (#1057).
  2. Fixed the message being incorrect when trusting a player (#1073).
  3. Fixed the accept command for non-team invites (i.e. trust or coop) (@sgdc3).
  4. Fixed the admin range set/reset commands not working if the target is in a team.
  5. Fixed entities being damaged by TNTs or Creepers regardless of the protection (#1075).
  6. Fixed Chorus being able to grow outside islands even if trees were prevented from growing outside islands' protection range (#1079).
  7. 🔺 Fixed Chorus Flowers not being protected from breaking if hit by an arrow or a trident (#812). Note it can cause the block to flicker or to turn into a ghost block. The Bukkit API does not provide a way to actually cancel the block breaking, therefore we need to resort to an efficient yet unaesthetic way to prevent this.
  8. Fixed issue with addons disabling themselves in the onEnable (#1090).
  9. Fixed code smells.
  10. Fixed incorrect translation showing up when changing language.
  11. Fixed players eventually getting stuck in SPECTATOR gamemode when accepting an invite.
BentoBox - 1.9.2 - Snowy Bees!

Published by Poslovitch almost 5 years ago

Description

BentoBox 1.9.2 is mostly a bug fix release. Unless you are updating from 1.8.0 or older, you will not need to update any of your addons. If you are updating from 1.8.0 or older, please read BentoBox's 1.9.0 changelog.

BentoBox was launched on SpigotMC on Saturday 7th December, after a 21-month-long development. And in less than a week, it reached heights with over 200 hundred downloads there.

Releasing BentoBox on SpigotMC has been the long-term goal so far. And our new one is the following: from December 2019 to March 2020, we will focus on improving and creating addons. Lots of them. This is called the Addons Initiative 2020.

Which Minecraft versions are compatible with this release?

This release is compiled against Spigot 1.14.4 and was tested successfully on 1.14.4 and 1.15.0 (although we do not recommend you to update to 1.15.0 yet).

Using 1.14.4 and having some issues with performances?

Tweaking config options...

BentoBox 1.6.0 introduced config options that are useful to tweak performance issues on island creation or deletion.

  • island.paste-speed should be reduced to 64 if you are using the default Blueprints, 128 if you are using bigger ones. In accordance with #1051, the impact on performances can be significant, while the extra time required to create the islands is not felt by the player to be inconvenient.
  • island.delete-speed should be kept as small as possible, yet it has been changed 1.9.0 from being per ticks to per seconds. Take that into account!

Using PaperSpigot?

BentoBox 1.9.0 introduced support of PaperLib. Basically, if you're using PaperSpigot, nearly all resource-intensive operations will be run asynchronously. This will keep your server's performances high, but might lengthen the time taken by some processes.

Support BentoBoxWorld

As a user, you're the one that keeps us thrilled into making continuous updates and improvements to all the BentoBoxWorld products. This is a voluntary and time-consuming yet exciting hobby.

So don't hesitate to join our Discord server and give us a hug, a “Thank You”. And if you feel that extra-generosity rushing in, tip us on PayPal or become a sponsor of tastybento, that's really much appreciated! ❤️ (Donors get a special rank on our Discord server!)

Changelog

Legend

  • ⚠️ deprecated/removed API.
  • 🔺 need special attention.

Contents

API

  1. Improved Javadocs.
  2. Added Island#isOwned() and Island#isUnowned().

Feature / Tweaks

  1. Added the Hungarian flag to Hungarian (hu) locale (@andris155, #1055).
  2. Implemented 1.15 compatibility.
  3. Forced UTF-8 encoding in MariaDB databases (@TheGeyik, #1052, #1066).
  4. Implemented teleportation delay when using /[gamemode] spawn (#1069).

Fixes

  1. Fixed the "you can ban X more players" message showing incorrect number if bans are unlimited (#1060).
  2. Fixed Ops or players with the mod.bypasscooldown permission not being able to bypass the delay before teleportation (#1059).
  3. Fixed "gathering contributors' data" messages at startup not being toggled by the corresponding config option.
BentoBox - 1.9.0 - Snowflakes & Cornflakes

Published by Poslovitch almost 5 years ago

Description

BentoBox 1.9.0 is a major release. You will have to update your Gamemode Addons alongside this update.

What a slaughter! So many bugs being decapitated, what a delightful show! That's why there's so many bug heads hanging around! What a... uh oh. Wait, Halloween's already over? And November too? Really?!

Times are changing, and so BentoBox does. Indeed, BentoBox is launching on SpigotMC on Saturday 7th December at 6 PM GMT, after a 21-month-long development. As snow starts falling down around the North Hemisphere, things are getting serious. Take advantage of the various performance improvements we made in this release, as well as of the UX changes!

Releasing BentoBox on SpigotMC has been the long-term goal so far. Now that it is close, we are currently reviewing our workflow and next goals to take into account the new needs the servers have nowadays. We're eager to see you again in 2020!

image

Which Minecraft versions are compatible with this release?

This release is compiled against Spigot 1.14.4 and as such should be considered stable on 1.14.4 only.

However, due to the popular demand, we agreed to improve the backward compatibility for 1.13.2. Therefore, BentoBox 1.9.0 should be able to run on 1.13.2 with minor to no inconveniences.

Using 1.14.4 and having some issues with performances?

Tweaking config options...

BentoBox 1.6.0 introduced config options that are useful to tweak performance issues on island creation or deletion.

  • island.paste-speed should be reduced to 64 if you are using the default Blueprints, 128 if you are using bigger ones. In accordance with #1051, the impact on performances can be significant, while the extra time required to create the islands is not felt by the player to be inconvenient.
  • island.delete-speed should be kept as small as possible, yet it has been changed in this release from being per ticks to per seconds. Take that into account!

Using PaperSpigot?

This update introduces support of PaperLib. Basically, if you're using PaperSpigot, nearly all resource-intensive operations will be run asynchronously. This will keep your server's performances high, but might lengthen the time taken by some processes.

Support BentoBoxWorld

As a user, you're the one that keeps us thrilled into making continuous updates and improvements to all the BentoBoxWorld products. This is a voluntary and time-consuming yet exciting hobby.

So don't hesitate to join our Discord server and give us a hug, a “Thank You”. And if you feel that extra-generosity rushing in, tip us on PayPal or become a sponsor of tastybento, that's really much appreciated! ❤️ (Donors get a special rank on our Discord server!)

Changelog

Legend

  • ⚠️ deprecated/removed API.
  • 🔺 need special attention.
  • ❗️ critical bug.

Contents

API

  1. Added ability to create Player Heads items with custom names (@YellowZaki, #1007).
  2. Improved error handling when errors occur while disabling addons (#1018).
  3. Added isCreateIslandOnFirstLoginEnabled(), #getCreateIslandOnFirstLoginDelay(), #isCreateIslandOnFirstLoginAbortOnLogout() in WorldSettings and IslandWorldManager (#889).
  4. Added various wrapper methods in Util for PaperLib methods (#1026).
  5. Added AdminBlueprintDeleteCommand (#1048).
  6. Added BlueprintsManager#deleteBlueprint(GameModeAddon, String) (#1048).

Feature / Tweaks

  1. Improved user feedback when creating an island (#996). Most notably, it now provides an estimated time for the pasting process.
  2. Removed the no longer needed "allow-nether" and "allow-end" warnings (#977).
  3. Added a Credits GUI for addons and BentoBox (#993).
  4. Improved layout of the /[playercmd] team command (#997).
  5. Added "last joined time" in the /[playercmd] team command (#997).
  6. Added a "reset all settings to defaults" in the Player Settings Panel (/[playercmd] settings) (#1011).
  7. Improved comments in config.yml.
  8. 🔺 Placing and breaking item frames and armor stands is now handled by their respective flags (#1023).
  9. Added config options to automatically create island on first login (#889).
  10. Implemented PaperLib support (#1026): asynchronous teleportation, asynchronous chunk loading,
  11. 🔺 Changed island.delete-speed to be per second instead of per tick.
  12. Excluded spawn islands from OFFLINE_REDSTONE flag (#1031).
  13. Implemented an on-the-fly sanitizer for Blueprint names to prevent Blueprints from breaking if manually edited.
  14. 🔺 Enabled operation on 1.13.2 servers.
  15. Reduced default paste speed in config from 128 to 64 blocks/tick.
Localization
  1. Improved protection messages in en-US (@N0tMyFaultOG, #1000, #1001).
  2. Created Romanian (ro) translation.
  3. Created Indonesian (id) translation.
  4. Updated Japanese (ja) translation (@jstnf, @mozzaf1ato, #1040).
  5. 🔺 Allowed a space to be placed after a color code in locale files (#1044, #1045).

Fixes

  1. Fixed the /bentobox version being available to all players (@N0tMyFaultOG, #1002, #1004).
  2. Fixed SQLite not failing silently when trying to delete an object that is not in the database (#1010).
  3. Fixed NPE when pasting banners that have null patterns (#1016).
  4. Fixed commands.island.expel.cannot-expel-member showing text reference.
  5. Fixed Pillager, Skeleton horses, Wandering Trader, Cats and Zombies spawning regardless of the Animal/Monster spawning flag (#1020).
  6. Fixed code smells.
  7. Fixed color codes not being translated correctly for Blueprint Bundle descriptions (https://github.com/BentoBoxWorld/BSkyBlock/issues/213).
  8. Fixed island team members who are banned from another island not being teleported to their island (#1017).
  9. Fixed NAME_TAG protection for Villagers (#1012).
  10. Fixed ITEM_FRAME protection (#1023).
  11. Fixed PVP bypass using fireworks with crossbows (#1027).
  12. Fixed Wandering Trader not being protected as a Villager (#1029).
  13. Fixed player's homes not being cleared when resetting island.
  14. Fixed waterlogged blocks being able to bypass LIQUIDS_FLOWING_OUT flag (#1034).
  15. Fixed liquids flowing into adjacent islands when islands abut others (#1034).
  16. Fixed 1.14.4-induced issue with portal teleportation (#1036).
  17. Fixed errors when loading Blueprints that contain a Material which does not exist on the server version (#1037).
  18. ❗️ Fixed island range permissions being able to set the island protection greater than the island distance (#1047).
  19. Fixed COMMAND_RANKS flag still requiring the admin permission to be accessed (#1050).
BentoBox - 1.8.0 - Bentoctober Update

Published by Poslovitch about 5 years ago

Description

BentoBox 1.8.0 is a major release. You will have to update your Gamemode Addons alongside this update.

We kept improving the overall user experience, by implementing various new features, including the automated localization updater: never ever shall those pesky text references (e.g. general.success) require you to delete the locales folder because localizations will be automatically updated upon restarting the server, if need be! Additional admin commands for deaths and resets management should also ease your life and help you make a stunning customized game server.

image

Which Minecraft versions are compatible with this release?

This release is compiled against Spigot 1.14.4 and as such should be considered as stable on 1.14.4 only. However, 1.13.2 should still work (although unofficially supported).

Using 1.14.4 and having some issues with performances?

Here are various config options you should have a look at if you're updating from 1.6.x:

  1. Reduce island.paste-speed in BentoBox's config to 128 if you're using default Blueprints, 256 if you're using bigger, custom ones.
  2. Keep island.delete-speed as small as possible (the default value is 1, but in some specific circumstances you might need to increase this a bit). In order to regenerate chunks, we need to load them, and that's what causes the performance issues!

Support BentoBoxWorld

As a user, you're the one that keeps us thrilled into making continuous updates and improvements to all the BentoBoxWorld products. This is a voluntary and time-consuming yet exciting hobby.

So don't hesitate to join our Discord server and give us a hug, a thank you. And if you feel that extra-generosity rushing in, tip us on PayPal, that's really much appreciated! ❤️ Donors get a special rank on our Discord server!

Changelog

Legend

  • ⚠️ deprecated/removed API.
  • 🔺 need special attention.
  • ❗️ critical bug.

Contents

API

  1. Added Addon#allLoaded() (#940). Addons should override it if they need to do things after everything has been loaded.
  2. 🔺 Improved addon getters (@BONNe, #939). CompositeCommand#getAddon() and AddonsManager#getAddonByName() no longer require you to cast the instance.
  3. Added #getOnLeaveCommands() and #getOnJoinCommands() in WorldSettings and IslandWorldManager (#704).
  4. Added AdminDeathsAddCommand and AdminDeathsRemoveCommand (#950).
  5. Added AdminResetsAddCommand and AdminResetsRemoveCommand.
  6. Added #getFallingBannedCommands() in WorldSettings and IslandWorldManager (#863).
  7. Added #isOnJoinResetHealth(), #isOnJoinResetHunger(), #isOnJoinResetXP(), #isOnLeaveResetHealth(), #isOnLeaveResetHunger(), #isOnLeaveResetXP() in WorldSettings and IslandWorldManager (#958).
  8. Created NewIslandLocationStrategy interface and added NewIsland.Builder#locationStrategy(NewIslandLocationStrategy) in order to allow developers to create and apply their own island "placement" options (@leonardochaia, #983, #984).
  9. Made the BentoBoxReadyEvent event be fired after all blueprints are loaded (#985).
  10. Added prevention code in IslandWorldManager's methods to provide a default value instead of NPEs.
  11. ⚠️ Removed the long-deprecated TNT flag from Flags. It was deprecated as of 1.5.0.

Feature / Tweaks

  1. Improved Multiverse world registration.
  2. Sped up the safe spot search process when teleporting to the Nether or the End (#952).
  3. Implemented ability to run configurable commands upon creating/joining or resetting/leaving an island (#704).
  4. Implemented four new admin commands (#950):
    • /[admincmd] deaths add <player> <amount>
    • /[admincmd] deaths remove <player> <amount>
    • /[admincmd] resets add <player> <amount>
    • /[admincmd] resets remove <player> <amount>
  5. Improved success messages for the following commands: /[admincmd] resets set and /[admincmd] resets reset.
  6. Added ability to reset one island flag to default for all islands using /[admincmd] resetflags (#930).
  7. 🔺 Improved the REMOVE_MOBS flag behaviour (#967): mobs around the player will no longer be removed if the teleportation is caused by a Chorus Fruit, an Ender Pearl or the Spectator gamemode. It also won't remove mobs if the teleport distance is less than the mob removal range. This is to avoid potential exploit of this feature by players.
  8. Spread the backup database saving to avoid lag (#976).
  9. Added island.confirmation.invites in the config.yml (#800, #971): if set to true, trust and coop invitations will have to be accepted by the recipient.
  10. Implemented ability to specify whether a player's health, hunger or XP should be reset upon joining/creating or leaving/resetting an island (#958).
  11. Added CAKE (PROTECTION) flag (@N0tMyFaultOG, #986, #987). Note: the cake is a lie.
Blueprints
  1. Added placeholders parsing in entities' names (#898).
  2. Improved just-in-time Nether/End blueprint pasting by pasting the nether or end Blueprints of the default Blueprint Bundle if custom ones are missing or not specified (#943).
  3. Added support for Banner patterns (#961).
  4. Made Blueprints be named with a lowercased English-localized name.
Localization
  1. Updated lv translation (@BONNe, #935).
  2. Updated zh-CN translation (#955).
  3. Implemented automated localization files updates (#539, #960): any missing message will be added automatically into the files, so that the occurrences of text references showing up in messages are mitigated.

Fixes

  1. ❗️ Fixed BentoBox not enabling correctly if error occurred when enabling Hooks (#938).
  2. Fixed vanilla Nether/End spawns protection (#927).
  3. Fixed the island owner seeing the commands.island.reset.kicked-from-island message.
  4. Fixed HeadGetter overwriting the item amount (@BONNe, #941).
  5. Fixed NPE when trying to paste just-in-time a nether or end Blueprint which does not exist or is not specified in the Blueprint Bundle (#943).
  6. ❗️ Fixed BentoBox preventing Wither block damage in non-BentoBox worlds (#954)
  7. Fixed NPEs occurring when requesting a placeholder with a null User (https://github.com/BentoBoxWorld/Level/issues/86).
  8. Fixed ISLAND_RESPAWN flag not respawning all the players on their island.
  9. Fixed deaths in the Nether or the End not teleporting back to the Overworld island.
  10. Fixed Sweet Berry Bushes not being protected (#948).
  11. Prevented null icons for PanelItem, thus fixing NPEs with some addons' GUIs (@BONNe, https://github.com/BentoBoxWorld/BSkyBlock/issues/203, #957).
  12. Fixed [gamemode].admin.noban, [gamemode].mod.noexpel and [gamemode].mod.bypassexpel permissions (@BONNe, #956).
  13. Fixed NPEs when connecting to the GitHub API.
  14. Fixed AdminResetsSetCommand not allowing to set the resets to 0.
  15. Fixed ConcurrentModificationException occurring when saving the database (#968).
  16. Fixed player's home locations not being cleared when an admin kicked him out of an island (#980).
  17. Fixed the /[playercmd] near command not working for team members (#981).
  18. Fixed registering a player to the spawn island not changing its status as a spawn island (#991).
  19. Improved error handling when establishing the connection to a MongoDB database.
  20. Fixed the DYE (PROTECTION) flag not protecting signs from being dyed on most recent 1.14 versions (#999).
BentoBox - 1.7.0 - Autumn Praeludium

Published by Poslovitch about 5 years ago

Description

BentoBox 1.7.0 is a minor release. It brings improvements as well as bug fixes. As always, we're also working hard on giving addons as much creative liberty as possible, so we also granted them access to a few new useful methods in our API!

The most notable changes in this update are without any doubts the huge background work we did with performance issues you can encounter on 1.14.4, yet that's only to say the least! Players will find themselves granted with a few quality of life improvements, including the no-longer need to kick all players from the island before resetting it - it's now done automatically!

image

Which Minecraft versions is this release compatible with?

This release is the first one entirely compiled against Spigot 1.14.4. 1.13.2 compatibility will be progressively reduced until incompatibility is occuring.

Using 1.14.4 and having some issues with performances?

This release brings a few changes you should have a look at if you're updating from 1.6.x:

  1. Reduce island.paste-speed in BentoBox's config to 128 if you're using default Blueprints, 256 if you're using bigger, custom ones.
  2. Keep island.delete-speed as small as possible (the default value is 1, but in some specific circumstances you might need to increase this a bit). In order to regenerate chunks, we need to load them, and that's what causes the performance issues!

Support BentoBoxWorld

As a user, you're the one that keeps us thrilled into making continuous updates and improvements to all the BentoBoxWorld products. This is a voluntary and time-consuming yet exciting hobby.

So don't hesitate to join our Discord server and give us a hug, a thank you or even a tip (you can find donation details on the Discord server), that's really much appreciated! ❤️

Changelog

Legend

  • ⚠️ deprecated/removed API or API changes that need attention.
  • 🔺 need special attention.

Contents

API

  1. Added TabbedPanelBuilder#hideIfEmpty() and #isHideIfEmpty() (#896).
  2. Added various new Panel types: Panel.Type - #INVENTORY, #HOOPER, #DROPPER (@BONNe, #917).
  3. Added the ability to have non-country specific localizations.
  4. Added nullability annotations in IslandCache, IslandsManager and Util.
  5. Added IslandsManager#getIslands(World) and IslandCache#getIslands(World).
  6. Added IslandsManager#nameExists(World, String).
  7. Added IslandResetCommand(CompositeCommand, boolean noPaste) constructor for gamemodes that do not need pasting of a blueprint.

Feature / Tweaks

  1. 🔺 Legacy placeholders (those starting with bentobox_[gamemode]) are no longer supported. Use the new ones instead.
  2. Disabled physics calculation when regenerating chunks (@BONNe, #913): this should help with performances a bit.
  3. Improved logging for the CLEAN_SUPER_FLAT flag.
  4. Improved SafeSpotTeleport to limit chunks scanned per tick (https://github.com/BentoBoxWorld/SkyGrid/issues/24).
  5. Improved various config comments.
  6. Added island.name.uniqueness config option to force island names to be unique across the gamemode (#899).
  7. Added SPAWNER_SPAWN_EGGS (WORLD_SETTING) flag (#768).
  8. 🔺 Resetting the island now automatically kicks all island members (#922).
  9. Clipboard now gets shown after pasting a Blueprint (#581).
  10. Added island.delete-speed option in config to reduce the chunk regeneration speed.
  11. Made the "owner kicked you from the island" messages more precise (#923): they tell the player from which gamemode they were kicked.
  12. Decreased default value for island.paste-speed from 1000 blocks/tick to 128 blocks/tick: this new value is more suitable to 1.14+ servers, on which chunk loading causes a lot of performance issues.
Localization
  1. 🔺 Renamed most localization files:
    es-ES -> es
    fr-FR -> fr
    it-IT -> it
    ja-JP -> ja
    lv-LV -> lv
    pl-PL -> pl
    ru-RU -> ru
    tr-TR -> tr
    vi-VN -> vi
  2. Updated latvian (lv) translation (@BONNe, #918).
  3. Updated spanish (es) translation (@SrAcosta, #929).

Fixes

  1. Fixed projectiles (e.g. arrows, tridents) being removed from the world if used in order to damage an entity (#846, #895).
  2. Fixed loading of SQLite tables (#902).
  3. Fixed "next" arrow showing when there is nothing on the next page (#904).
  4. Fixed entering island message and event not being fired when warping in from another world (#911).
  5. Fixed incorrect permission being required for the /[admin] getrank command.
  6. Fixed /[player] info [name] working only with island owners and not members.
  7. (Re-)fixed JSON object loading.
  8. Fixed /[player] near not working for island members.
  9. Fixed island members not respawning on the island even though ISLAND_RESPAWN flag was set to true.
  10. Fixed errors with Lingering Potions protection (#914).
  11. Fixed code smells and code security issues.
  12. Fixed Barrels that could be opened by players although their content could not be interacted with (#893).
  13. Fixed issues with loading tables in MySQL when not using InnoDB as storage engine (#934).
  14. Fixed JsonParseException occuring when the GitHub weblink downloads malformed JSON data.
BentoBox - 1.6.0 - Stars of the Settings Panel

Published by Poslovitch about 5 years ago

⚠️ If you are using SQLite database, please use build #1336 or later from the CI server because a critical bug was fixed.

Description

BentoBox 1.6.0 is a minor release.

This release, whilst not being the biggest so far (the record is held by 1.5.0), brings in a lot of long-awaited changes and tons of bug fixes. We keep "paving the way" towards further improvements, and this update has been a huge milestone we finally reached.

The major and most important change of this update is the complete overhaul of the Settings Panel. We fixed a lot of design flaws that have been pointed out to us by our beloved users (❤️). We will continue improving it over the next updates, but we're fairly confident we did a pretty good job already.

The new layout for the Settings Panel, the Admin Settings Panel and the ability for admins to edit a player's Island Settings are the major changes of this update, and definitely something you want to check out!

Default view of the Settings Panel.

Default view of the Settings Panel.

Check out the Island Protection, Flags & Ranks page on our Wiki for detailed information about these new features!

update banner

Which Minecraft versions are this release compatible with?

1.13.2, 1.14.2, 1.14.3 and 1.14.4. If you're any outdated 1.14.x versions, please update to 1.14.4 as soon as possible.

We will be dropping 1.13.x support in the next minor update (1.7.x)! Keeping the 1.13.x support is severely restricting our room of maneuver for upcoming features, as well as causing compatibility issues, and it is also preventing us from implementing some features. Now that nearly 70% of the servers are using 1.14.x, we're confident that it's the right way to go.

Support BentoBoxWorld

As a user, you're the one that keeps us thrilled into making continuous updates and improvements to all the BentoBoxWorld products. This is a voluntary and time-consuming yet exciting hobby.

So don't hesitate to join our Discord server and give us a hug, a thank you or even a tip (you can find donation details on the Discord server), that's really much appreciated! ❤️

Developer's zone

We're bringing a new section to BentoBox's changelogs, which aims to provide detailed and comprehensive information to developers so that they can easily update their addons.

Update your gamemode addon

The WorldSettings interface has been updated and all gamemode addons will need to apply the changes, otherwise, they will remain incompatible with 1.6.0.

  1. Removed #isNetherTrees(). It is recommended that you remove this setting from your configuration file so that users don't get confused.
  2. Added #isDeathsResetOnNewIsland(): deaths in the world are reset when the player starts a new island.

The following admin commands classes have been implemented, do not forget to instantiate them in your admin main command's #setup():

  1. AdminPurgeCommand;
  2. AdminSettingsCommand.

Update your addon

All your events should now extend BentoBoxEvent since PremadeEvent has been deprecated and removed.

Changelog

Legend

  • ⚠️ deprecated/removed API or API changes that need attention.

Contents

API

  1. Improved documentation (as always 😁).
  2. Added BentoBoxLocale#set(String, String).
  3. Added #getBlueprintBundle() and #setBlueprintBundle(BlueprintBundle) for IslandEvent.IslandCreateEvent and IslandEvent.IslandResetEvent (#635).
  4. ⚠️ Removed WorldSettings#isNetherTrees() and related methods (#746, #822).
  5. Added WorldSettings#isDeathsResetOnNewIsland() (#817).
  6. Added Flag#getCooldown() and Flag.Builder#cooldown(int) (#754, #821).
  7. Added the following methods in Island: #getCommandRanks(), #setCommandRanks(Map<String, Integer>), #getRankCommand(String), #setRankCommand(String, int) (#557, #823).
  8. Added admin purge commands: AdminPurgeCommand, AdminPurgeStopCommand, AdminPurgeUnownedCommand, AdminPurgeProtectCommand (#5, #829, #836).
  9. Added DelayedTeleportCommand, which extends CompositeCommand (#837).
  10. Added Island#isReserved() and Island#setReserved(boolean) (#749, #850).
  11. Added Island#getPlayersOnIsland() and Island#hasPlayersOnIsland() (@wellnesscookie, #860, #861).
  12. ⚠️ Removed FlagChangeEvent (#753), re-added as an abstract class (https://github.com/BentoBoxWorld/BentoBox/commit/90fd6a625f58db1ff53b0a85691d0fea845b896d).
  13. Added FlagProtectionChangeEvent, FlagSettingChangeEvent and FlagWorldSettingChangeEvent (#753).
  14. ⚠️ Fixed divergency in the various #getPermissionPrefix(...) methods (#870). They now all return the permission with the trailing dot.
  15. Added AdminSettingsCommand (#59).
  16. ⚠️ Overhauled the PanelAPI: added TabbedPanel and Tab, allowed ClickListeners to gather the context of a Panel (#857).
  17. Added TextVariables#NEXT.
  18. ⚠️ Removed PremadeEvent (was deprecated since 1.5.3).
  19. ⚠️ Removed NewIsland.Builder#world (was deprecated since 1.5.0).

Feature / Tweaks

  1. Blueprints are now prevented from being saved unless they have a bedrock block in them (#777). Note: if a blueprint is loaded and does not have a bedrock block, one is added and a warning given in the console.
  2. Added some more prevention when deleting islands (#797).
  3. Improved prevention for overlapping islands issues (#799).
  4. Improved the Catalog: translatable tags and topics.
  5. Improved the "success" messages for most commands (#630).
  6. Increased the minimum time between connections to the GitHubAPI to 60 minutes.
  7. Added hook with WorldEdit: still a work in progress...
  8. Made the SafeSpotTeleport and the Visitor Protection no longer switch the player to SPECTATOR gamemode before teleporting them (#578, #786). Note: this was a remnant of the first iteration of this code, which required us to put the player in a state they wouldn't die while their island is created/deleted. This happened to no longer be useful, due to previous changes to the deletion process.
  9. Improved various processes to run asynchronous (@CustomEntity, #811).
  10. Added ELYTRA (PROTECTION) flag (#386).
  11. Removed the Nether Trees options for gamemode addons: it is now handled by the DimensionalTrees addon (#746, #822).
  12. Added an option for gamemode addons to reset deaths when the player creates/resets his island (#817).
  13. PVP-related Flags now require a 60 seconds cooldown to wear off before being toggled again (#754, #821).
  14. Improved GitHub-related messages so that they're less confusing.
  15. Made general.rank-command config option a PROTECTION flag (#557, #823).
  16. Added the ability for admins to set the default setting of a protection flag for the whole gamemode worlds (#840).
  17. Added a configurable teleportation delay (time in seconds players have to stand still before teleportation occurs) to IslandGoCommand (#837).
  18. 🔺 Removed Lingering Splash portion for 1.14 (#810). Note: it can only be brought back once we're moving to 1.14-only compatibility.
  19. Added defensive code around Flag declaration (https://github.com/BentoBoxWorld/AcidIsland/issues/53).
  20. Added defensive code to avoid removing mobs in non-BentoBox worlds (#847).
  21. Added island.clear-radius config option to set the clear radius of the removal of nearby entities upon teleporting to the island (#819).
  22. Added database type to the /bentobox version output.
  23. Added the ability to reserve an empty spot for a player by registering the player there using the AdminRegisterCommand (/[admin_command] register <player>) (#749, #850).
  24. Optimized a few methods in Island (@wellnesscookie, #861).
  25. Made Blueprint names lowercase-only (#865).
  26. Added a new tab in the Settings Panel: world default flags which apply to the player when he's outside an island (#384).
  27. Reduced code duplication and complexity.
  28. Added three new Metrics graphs: enabled Hooks, players per server, which displays rough categories of how many servers are small or big, and Flags display mode.
  29. Added WITHER_DAMAGE (WORLD_SETTING) flag (#858).
  30. Made Island deletion unload all not previously loaded chunks after their regeneration.
  31. The player Settings Panel no longer displays the World Settings in it.
  32. The Settings Panel now has 3 display modes: basic, advanced and expert (#888).
  33. Replaced icons of a few flags to better alternatives:
    • BREAK_BLOCKS: STONE -> STONE_PICKAXE
    • PLACE_BLOCKS: GRASS -> OAK_PLANKS
    • ITEM_DROP: BEETROOT_SOUP -> DIAMOND
    • ITEM_PICKUP: BEETROOT_SEEDS -> SUGAR_CANE
  34. Made /[player_command] banlist require the same rank than /[player_command] ban (#891).
  35. Removed %[gamemode]_island_spawnpoint% default gamemode placeholder.
Databases
  1. Added SQLite database support (#570, #791).
  2. Added various new transition databases: YAML2MONGODB, JSON2MONGODB, MONGODB2JSON, MARIADB2JSON (@BONNe, #793, #794).
  3. Added PostgreSQL database support (#789).
  4. Made JSON database use asynchronous saving and deletion (#826, #827).
  5. Rewrote SQL databases code to remove code duplication and prevent further regression on database connections (#831).
Localization
  1. Added turkish (tr-TR) localization (@OverBrave).
  2. Updated latvian (lv-LV) localization (@BONNe, #828, #832, #892).
  3. Updated french (fr-FR) localization.

Fixes

  1. Fixed some (a lot, actually) code smells.
  2. Fixed IslandEvent.IslandDeleteEvent not providing the UUID of the player (#790).
  3. Fixed NPC/Villager trading being double-prevented by the CONTAINER flag (#788).
  4. Fixed error when executing /bentobox version with Nether/End worlds disabled (@BONNe, #792).
  5. Fixed NPE when regenerating chunks if use-own-generator setting is set to true (#797).
  6. Fixed our database handlers creating a lot of connections to the databases (#805, #807, #813). It now only opens a single connection.
  7. Fixed the visitors falling in void being teleported back to the Overworld (#814). They're now teleported to the safest spot in the dimension they're currently in.
  8. Fixed NPE in AdminDeleteCommand.
  9. Fixed issues that could occur when BentoBox tries to paste islands on portal use if use-own-generator is set to true in the gamemode's configuration (https://github.com/BentoBoxWorld/SkyGrid/issues/18).
  10. Fixed hostile mobs not always being removed on teleportation with REMOVE_MOBS flag on (#818).
  11. Fixed island owner being allowed to demote himself (@wellnesscookie, #833, #834, #835).
  12. Fixed named mobs being removed when teleporting to the island (#847).
  13. Fixed projectiles (this includes tridents) being removed from the world (puff!) as a prevention to breaking blocks (#846). Note: they no longer are.
  14. Fixed the BentoBoxReadyEvent not being fired on reload (#853).
  15. Fixed admins being able to set a player's rank on an island to visitor or lower (banned, ...) using the admin setrank command (#849).
  16. Fixed Flag-related event(s) not being fired correctly (#753).
  17. Fixed NPE when banning an offline player (#872).
  18. Fixed ANVIL flag not protecting damaged anvils (#876).
  19. Fixed compilation issues with Java 11.
  20. Fixed StringIndexOutOfBoundsException with nether or end worlds which have non-standardized names (#877).
  21. Fixed StringIndexOutOfBoundsException when executing the language command if a locale's name was empty (#883).
  22. Fixed NPE when using the player help command as a console (#886).
  23. Fixed the island range permission not being used when making a new island (#664).
  24. Fixed island members unable to see the ban list (#891).
Blueprints and Blueprint Bundles
  1. Fixed the on-the-fly Blueprint conversion still sending warnings although it could safely convert a block (#802).
  2. Fixed code doing multiple attempts at create a default Blueprint Bundle in case the addon has none, instead of doing it once.
  3. Added defensive code in BlueprintBundles management to prevent NPEs (#868).
  4. Fixed concurrency issue when loading blueprints and bundles (#868).
Clean SuperFlat Fixer
  1. Fixed CLEAN_SUPER_FLAT flag mistakenly eating up a lot of resources with checks although it was disabled (@YellowZaki, #782).
  2. Fixed the CLEAN_SUPER_FLAT flag still using the deprecated Bukkit-provided chunk regeneration (#720).
  3. Improved accuracy of the CLEAN_SUPER_FLAT to avoid issues with SkyGrid-like world generation (https://github.com/BentoBoxWorld/SkyGrid/issues/22).
  4. Made the Clean SuperFlat fixer no longer apply physics to blocks in order to prevent issues with sand or gravel (https://github.com/BentoBoxWorld/SkyGrid/issues/22).
  5. Fixed the Clean SuperFlat fixer not using populators (https://github.com/BentoBoxWorld/SkyGrid/issues/22).
BentoBox - 1.5.3 - Paving the Way

Published by Poslovitch over 5 years ago

Description

BentoBox 1.5.3 is a small patch release. It fixes some bugs but mostly made some minor API changes that are paving the way for the next minor update: 1.6.0!

As always, thanks for everyone's support ❤️. Also, huge thanks to the contributors who are doing an amazing job at creating and maintaining the official addons, especially @BONNe whose work is just mad!

Both @tastybento and @Poslovitch are currently very busy, but this summer is going to be a great time for all BentoBox users. We still have a long way to go, and this way is made up of tons of exciting things you will discover all along the way. New features, new addons, and better UI/UX are hopefully only the smallest part of it all!

As this is a patch release, you don't need to update your addons, as long as you updated them for 1.5.0.

image

Changelog

Legend

  • ⚠️ deprecated API.

Contents

API

  1. Added CompositeCommand#call(...) (#759, #772).
  2. Added ConfigEntry#video() to specify a link to a video tutorial.
  3. Improved documentation.
  4. Made Island#hasNetherIsland() and Island#hasEndIsland() use a safer approach in case the bedrock is removed (#771).
  5. ⚠️ Deprecated PremadeEvent, please use BentoBoxEvent instead (#775).
  6. Made the key-value pairs automatically provided by events extending BentoBoxEvent, thus making those events "visible" outside BentoBox (https://github.com/BentoBoxWorld/Challenges/pull/138, #775).

Feature / Tweaks

  1. Added warning messages if allow-nether or allow-end are set to false in the server.properties or bukkit.yml (#741).
  2. Improved handling of duplicate islands in database (https://github.com/BentoBoxWorld/BSkyBlock/issues/144).

Fixes

  1. Fixed NPE if a bundle does not have an End or Nether blueprint attached to it.
  2. Fixed right click in the Blueprints Management Panel sometimes not working properly.
  3. Fixed "too many open files" exception with JSON flat-file database (#776).
  4. Fixed island data getting incorrectly saved upon loading a large number of islands (https://github.com/BentoBoxWorld/BSkyBlock/issues/144).
  5. Fixed NPE when pasting Blueprints with a block having a null inventory (#779).
BentoBox - 1.5.2 - Placeholders Sunshine

Published by Poslovitch over 5 years ago

Description

BentoBox 1.5.2 is a patch release.

As this is a patch release, you don't need to update your addons, as long as you updated them for 1.5.0.

image

Note to 1.14+ users

The newest Spigot builds fixed a bug that prevented the Phantoms and various other mobs from spawning in the game worlds (see the issue here). Just tell your players - this may make their experience a bit... spicy.

If there is an issue with how BentoBox handles these mobs, don't hesitate to file an issue on our bug tracker!

Changelog

Contents

API

  1. Improved javadocs.
  2. Added various new convenience methods to Island:
  1. Added various nullability annotations.
  2. Added the ability to explicitly define a PremadeEvent as asynchronous (@BONNe, #763).
  3. Improved error reporting on addon incompatibility.

Feature / Tweaks

  1. Added ru-RU translation (@ramirilyasov999).
  2. Added rl alias for all the reload commands.
  3. Improved /bentobox commands descriptions in the en-US locale.
  4. Added 15 new placeholders that relate to the island the player is standing on (#737).

Fixes

  1. Fixed various issues with permissions for /bentobox commands. Check out the new (and fully working) permissions.
  2. Fixed CompositeCommand not handling correctly null permission prefixes.
  3. Fixed and secured the GUI handling (@BONNe, https://github.com/BentoBoxWorld/Challenges/issues/132, #761).
  4. Fixed NPE when the WebManager fails to gather data from the GitHub API (#760).
  5. Fixed some code smells and slightly improved overall performances.
  6. Fixed the Ender Dragon spawning on 1.14+ servers (@BONNe, #769).
BentoBox - 1.5.1 - Thunders of the Summer

Published by Poslovitch over 5 years ago

Description

BentoBox 1.5.1 is a hotfix release. We figured out that a bug related to biomes was actually caused by BentoBox, and we obviously fixed it in this release. A safeguard has also been implemented, which will paste back the Nether/End islands (that got wiped out because of Minecraft enforcing the behaviour causing #741, as of 1.14), for whom teleports to these dimensions.

As this is a patch release, you don't need to update your addons, as long as you updated them for 1.5.0.

image

Changelog

Contents

Feature / Tweaks

  1. Removed the check for updates button from the BentoBox Management Panel. It will be readded upon the implementation of the update checker.
  2. Added a safeguard that pastes Nether/End islands once the player teleports to the dimension if the island hasn't been pasted there before/is no longer existing (@YellowZaki, #712, #713).

Fixes

  1. Fixed the Island Creation Panel showing even though there is only 1 Blueprint Bundle available (#744).
  2. HOTFIX: Fixed PLAINS biome being applied to the Nether and the End after an island reset (#745).
BentoBox - 1.5.0 - World of Gooeys Update

Published by Poslovitch over 5 years ago

Description

Ahoy! The super-groovy BentoBox 1.5.0 lands from the sky, bringing down a lot of exciting new stuff such as long-awaited User Experience improvements, for your BentoBox server to become top-notch!

This update has been more than two months in the making (250+ commits, +5k lines of code), and we’re proud to finally release it. BentoBox 1.5.0 brings in state-of-the-art features that make it a truly unique and exciting release: new GUIs (gooeys), better placeholders, Blueprints, Island creation panel... To learn more about all those crazy things, just keep reading this changelog!

This is a big release - probably the biggest we've ever made - and the only one of its kind. This implies you must take backups upon updating. We've worked on some "converters" to ensure backward-compatibility, but it's still possible that something may go wrong.

image

Which versions are compatible with this release?

1.13 and 1.13.1 are no longer compatible with BentoBox 1.5.0, yet 1.13.2 still is and remains an officially compatible server version.

In regards to 1.14+, 1.14.2 is the only version that we're officially supporting, and also the only one you should be using due to the various fixes Mojang put in it.

Update instructions

  1. TAKE BACKUPS.
  2. 1.14 enforces all lowercase names for worlds. We recommend everyone to rename the world folders to lowercase and update all the configs accordingly. Note: some addons' data might need to be adapted as well (Challenges, Biomes, ...).
  3. 1.14 also enforces a denial of the teleportation to nether/end worlds if allow-nether and allow-end are set to false in the server properties. Set them to true if that's not already the case. Note: as of this version, it should be possible to set one of BentoBox's worlds as the default world for your server, as well as setting BentoBox as the generator for these worlds in bukkit.yml.
  4. YAML databases have been deprecated. While they may still work fine, some addons might encounter issues. We highly recommend you to migrate your database type to JSON. More information can be found in the config comments and on this video. Note: MYSQL, MARIADB and MONGODB databases are not affected by that.

Schems are dead, long live the Blueprints!

For more detailed information about Blueprints, please read Blueprints.

Existing Schems will be converted into the Blueprint format upon loading 1.5.0 for the first time. Yet, take backups in case something goes wrong!

Goeeys (GUIs)

Graphical User Interfaces make the overall game feel more enjoyable and look nicer.

BentoBox Management Panel

The BentoBox Management Panel can be opened with /bentobox manage. It gives you an overview of your BentoBox setup: installed addons and plugins, enabled hooks, server compatibility and more (to come)!

image

Catalog

The Catalog takes advantage of our GitHub Link. It will be further improved in the future, but it already grants you with the ability to see what the official addons and gamemodes are! It can be opened with /bentobox catalog or via the BentoBox Management Panel.

The Gamemodes Catalog
image

The Addons Catalog
image

Island Creation Panel

The Island Creation Panel is a long-awaited feature, and here it comes! It shows up to players when they execute the create or reset command.

image

Blueprint Bundle Manager

With Blueprints comes the Blueprint Bundle Manager! You can open it using the /[admin command] blueprint. Blueprint Bundles are what your players will see in the Island Creation Panel.

The Blueprint Bundle list
image

Edit the Blueprint Bundle!
image

Placeholders

Placeholders underwent a big overhaul in this update. We improved their format, added 18 more placeholders and added support for MVdWPlaceholderAPI!

Better placeholders

We improved how placeholders are handled. Check out the Wiki to see their new and better format!

Use external placeholders inside BentoBox

It is now possible to put placeholders from external plugins in our localizations! I don't really know how it could be used, but hey!, it's supported! 😛

Localization

Localizations play a major role in the ability for BentoBox to be used and understood by worldwide users and communities. Just like every update, we're adding new texts into BentoBox, yet those are often not translated to the existing locales - as neither of us at BentoBoxWorld speak these languages. However, for this update, we received the help of kind members from our community, who helped us translating BentoBox into a few more languages!

If you want to help us translating BentoBox and addons too, please join our Discord server.

We will continue to improve the locales over the next versions - we've received quite a lot of feature requests that will definitely make them better once implemented!

🇫🇷 Le jeu à la française

La traduction française arrive, mais elle est encore incomplète. Si un cher compatriote au fromage et à la baguette veut m'assister dans cette tâche, qu'il se manifeste sur le Discord !

🇪🇸 Entretenimiento con los colores de España

Sí! Thanks to @SrAcosta, we've got a nice Spanish translation for BentoBox.

🇱🇻 Nedaudz jautrība latviski

Thanks to @BONNe, we've now got a nice and fresh Latvian translation for BentoBox as well!

🇮🇹 An Italian translation too!

Thanks to @jummes, we've also got an Italian translation for BentoBox.

Translators, here's a tool to help you!

We created the /bbox locale command. This very spammy command will help you to know which translations are missing from your locale file so that you can get a better overview of what's left to do.

Conversion: from out of fashion to state-of-the-art

For more detailed information and step-by-step conversion guide, please read Migration from an external plugin.

Changelog

Legend

  • ⚠️ may break parts of the API.
  • 🔺 special attention needed.

Contents

API

  1. Added nullability annotations to various places in the code.
  2. Added PlayersManager#getResetsLeft(World, UUID).
  3. Improved javadocs on various places in the code.
  4. Added icons for addons (icon: MATERIAL in the addon.yml).
  5. ⚠️ Deprecated GameModePlaceholderManager.
  6. Fixed inconsistency between #getMembers() from Island and IslandsManager (#627, #628).
  7. Added icons for Hooks.
  8. Added Island#getGameMode() (#631).
  9. Added OfflineMessageEvent.
  10. Added IslandsManager#getIslandCache.
  11. Panel's titles and PanelItem's names are now automatically color-translated (@BONNe, #660).
  12. Commands and world registration for addon now must be done in Addon#onLoad() as BentoBox now loads at STARTUP (#661).
  13. Added IslandNearCommand (#56).
  14. ⚠️ Addons that use the Config API must now implement ConfigObject in their config class instead of DataObject.
  15. Added Flag.Builder#addon(Addon).
  16. Added Addon#registerFlag(Flag) (@BONNe, #697).
  17. Added AdminSwitchCommand (BentoBoxWorld/BSkyBlock#132).

Feature / Tweaks

  1. Improved handling of default placeholders for GameModeAddons.
  2. Added 18 new default placeholders for GameModeAddons (#621).
  3. Improved the registration of placeholders for PlaceholderAPI (they're now registered in the correct expansion).
  4. Added the BentoBox Management Panel (/bentobox manage).
  5. Improved the "warp not safe" message.
  6. Implemented a hook with dynmap (#475).
  7. Improved the Schem/Blueprint paster (#632).
  8. 🔺 Implemented Blueprints as a replacement of Schems (#672, #691). Note: existing schems will automatically be converted to this new format.
  9. Added the BentoBox Addons Catalog (/bentobox catalog).
  10. 🔺 Added a few web/GitHub related settings in config.yml.
  11. Improved success messages for various commands (#630).
  12. Added [name] text variable in commands.admin.team.setowner.already-owner.
  13. Added /bentobox locale to perform analysis in the locale files to find missing translations.
  14. Rewrote the chunk deletion due to 1.14 changes (#648).
  15. Added DYE (PROTECTION) flag (#653).
  16. 🇪🇸 Added es-ES locale (@SrAcosta).
  17. Enabled GameModeAddons to run as the only world on the server (#654, #661).
  18. Improved the feedback when trying to edit Flags in the settings panel while not being the owner of the island (#638).
  19. Made Clipboard completely asynchronous (#504).
  20. Implemented full addon reloading using /bbox reload <addon> (#601).
  21. 🔺 JSON is now the default database type (#662).
  22. JSON database files are now pretty-printed (#662).
  23. Added the ability to migrate from a database type to another through the use of a command and specific transition database types (#662).
  24. 🇱🇻 Added lv-LV locale (@BONNe, #655).
  25. Implemented support for external placeholders in our own messages.
  26. Added display of locales' authors in the language selection panel.
  27. Made the loading time at startup much more accurate.
  28. 🔺 Split TNT flag into TNT_DAMAGE (SETTING) and TNT_PRIMING (PROTECTION) (#566, #649).
  29. Implemented 1.14 "support". Note: you may need to use specific addons' versions if you want to fully benefit of the 1.14 support.
  30. Added asynchronous save for MARIADB database type.
  31. Improved performances in IslandsManager and IslandWorldManager (@BONNe, #676, #692).
  32. Improved /bentobox version output.
  33. Added MVdWPlaceholderAPI support (#651).
  34. 🇫🇷 Added fr-FR locale (#639).
  35. Improved performance when blocking the End Dragon from spawning (@BONNe, #723).
  36. 🇮🇹 Added it-IT locale (@jummes, #476, #724).
  37. Added /bentobox rl as an alias for /bentobox reload.
  38. Added a setting for gamemodes (leavers-lose-reset) to make IslandTeamLeaveCommand remove a reset from player (#738).
  39. Added preventive code to close all panels when the plugin gets reloaded (#726, #743).
  40. Added logs.github-download-data option in config.

Fixes

  1. Fixed OFFLINE_GROWTH flag not having a description in en-US.
  2. Fixed teleporting back from standard nether or end not working (#634).
  3. Fixed BentoBox still disabling itself if running on an incompatible server.
  4. Fixed some typos and inconsistencies in various locales.
  5. Fixed some config settings not being consistently saved to config.yml through multiple restarts (#657).
  6. Fixed incorrect home location when joining a locked island (@wellnesscookie, #665, #666).
  7. Fixed some permissions (BentoBoxWorld/BSkyBlock#120).
  8. Fixed PlaceholderAPI expansions being unregistered when doing /placeholderapi reload (#629).
  9. Fixed islands not loading because of no longer existing flags (#680).
  10. Fixed some code smells (#698).
  11. Fixed Clipboard not being cleared when copying (#707).
  12. Fixed player dropping into a block and suffocating after an island reset due to specific Spigot settings (#705).
  13. Fixed superflat generation with Multiverse (#716).
  14. Fixed new team members randomly not being able to join an island (#718).
  15. Fixed error when pasting signs.
  16. Fixed stale home locations not being removed if their world became null.
  17. Fixed the OFFLINE_GROWTH not working properly (#729).
  18. Fixed the kicked-keep-inventory gamemode option not being properly implemented (#738).
  19. Added a home location failsafe when teleporting player to his home (https://github.com/BentoBoxWorld/BentoBox/issues/728#issuecomment-499433751)
  20. Fixed errors with /bentobox reload (#731).
BentoBox - 1.4.0 - Whistle of the Spring

Published by Poslovitch over 5 years ago

Description

It took us a month to come up with this release which doesn't, actually, contain all the features that were originally planned for it. Therefore, this is pretty much a bug-fix / stability improvements release, yet with a bunch of small improvements.

Ahem... And you must update your gamemodes addons. [Edit - all game modes are now updated to 1.4.0]

image

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

  1. Added #unregisterPlaceholder(String placeholder) and #unregisterPlaceholder(Addon addon, String placeholder) in PlaceholdersManager (#592).
  2. ⚠️ Made Island#getCenter() return a clone of the location (https://github.com/BentoBoxWorld/BentoBox/issues/591#issuecomment-471314358).
  3. 🔡 Added AdminSchemListCommand to display a list of schems in chat (#563).
  4. 🔡 Added IslandExpelCommand (#524).

Feature / Tweaks

  1. Players with admin.noban permission cannot be banned (#590, @YellowZaki).
  2. Prevent ender crystals from being hit (#589).
  3. 🔡 Added OFFLINE_GROWTH WORLD_SETTING flag to prevent crops from growing while island members are offline (#580).
  4. Added ability for ops to adjust any island settings, including spawn island (#599).
  5. Improved islands asynchronous deletion from database (#591, #605).
  6. Prevented dragon eggs from teleporting outside of protection range (#558).
  7. Made podzol yield podzol when broken if coarse dirt tilling is denied (#613).
  8. Made some setting save to config.yml when they are changed while the server is running (#614, #615).
  9. 🔡 ⚙️ Added ability for admins to hide some flags (#617). To do so, either add the flag to the hidden-flags list of the gamemode's config; or open the settings panel and shift click on the flags you want to hide.
  10. Made addons opt-in by default to addons metrics.
  11. Added a bunch of placeholders that get automatically registered to every GameModeAddon (#322, #616): bentobox_[gamemode]-world-friendlyname, bentobox_[gamemode]-island-distance, bentobox_[gamemode]-island-protection-range, bentobox_[gamemode]-island-owner, bentobox_[gamemode]-island-creation-date, bentobox_[gamemode]-island-spawnpoint, bentobox_[gamemode]-island-name.
  12. BentoBox no longer refuses to launch on incompatible servers (#619).
  13. Added Akarin (as NOT_SUPPORTED) and GLOWSTONE (as INCOMPATIBLE) in server compatibility check (#620, @Remu1012).

Fixes

  1. Improved code in IslandRespawnListener (#587, @Sxtanna).
  2. Fixed IslandEnterEvent and IslandExitEvent not being called if the ENTER_EXIT_MESSAGES flag was set to false.
  3. Fixed island protection range resetting if player does not have a range permission (#484).
  4. Fixed NPE when going through a non-Bentobox world portal (#583).
  5. Fixed tridents or arrows being removed if PVP was disabled (#597).
  6. Fixed code smells.
  7. Fixed ArrayOutOfBoundsException in admin delete command (#600, @BONNe).
  8. Fixed MILKING flag not protecting milking Mooshrooms (#602, @BONNe).
  9. Fixed handling of Phantoms, Pufferfishes and a few other mobs which was being inconsistent (#595, @BONNe).
  10. Fixed most of the "overlapping islands" issues (#591).
  11. Added some defensive code.
  12. Fixed teleportation when the player was in some types of boat (#606).
  13. Fixed coop'd or trusted being able to use the sethome command on other islands (#588).
  14. Fixed /bbox version causing errors (#608).
  15. Fixed item frames that could be placed on any island (#610).
BentoBox - 1.3.1 - Flags of the bug fixer

Published by Poslovitch over 5 years ago

Description

BentoBox 1.3.1 is a small bug fixing update which wasn't originally scheduled. Therefore, it also brings some (minor) new features!

As always, update carefully!

Thanks for using BentoBox and our addons ❤️.

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

Features / Tweaks

  1. 🔡 Added DRAGON_EGG PROTECTION flag: prevents players from making this raving egg teleporting everywhere (#559).
  2. 🔡 Added LEAF_DECAY SETTING flag: toggles whether leaves decay or not.
  3. Worlds and addons are now listed in alphabetical order in /bentobox version (#555).
  4. 🔺 🔡 Added EXPERIENCE_BOTTLE_THROWING PROTECTION flag: exp bottles were previously protected by the POTION_THROWING flag, but it was said to be misleading for players.
  5. 🔡 Improved the "not in team" message for AdminTeamKickCommand (#577).

Fixes

  1. Fixed AdminTeamKickCommand not working properly (#577).
  2. Fixed NPE in PortalTeleportationListener (#583).
  3. 🔺 Fixed End Portal teleporting into the Nether.
  4. Fixed UTF-8 encoding issues with MySQL database (#582).
  5. Fixed NPE in FlagListener if provided location was null, which may occur when 3rd-party plugins create their own inventories (#585).
BentoBox - 1.3.0 - Flags of the damned grid

Published by Poslovitch over 5 years ago

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.

image

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

  1. Moved all the flags listeners to subpackages.
  2. Added IslandEvent.IslandRegisteredEvent and IslandEvent.IslandUnregisterEvent.
  3. Added TeamEvent.TeamJoinedEvent.
  4. Registering Flag now only require their ID to be unique.
  5. Added User#setAddon(Addon), User#notify(World, String, String...) and User#getTranslation(World, String, String...).
  6. Made ServerCompatibility#getServerVersion(...) and ServerCompatibility#getServerSoftware(...) public.
  7. Improved Addon error logging.
  8. ⚠️ Made User#hasPermission(String) return true if the User is op.
  9. Added BentoBoxCommand#canExecute(User, String, List<String>) (#530).
  10. Added IslandsManager#getIslandById(String) to get an Island using its id (#341).
  11. ⚠️ Made declaring the Player mandatory when calling FlagListener#checkIsland(...) (#543).
  12. Implemented gamemode-specific flags (#406, #541).
  13. Added BentoBox#logStacktrace(Throwable).
  14. Moved the Nether trees conversion to its own listener.
  15. Splited standard Nether/the End spawns protection into its own listener.
  16. Renamed NetherPortals to PortalTeleportationListener.
  17. Added AdminResetFlagsCommand.
  18. Added AdminTrashCommand, AdminEmptyTrashCommand and AdminSwitchtoCommand (#546).
  19. Added Island#hasVisitors() and Island#getVisitors().
  20. ⚠️ Changed Flags#values() to no longer return deprecated flags.
  21. Added ability to get a User instance from an OfflinePlayer (#574).

Features / Tweaks

  1. 🔡 Added zh-HK.yml locale (#510, @mkcoldwolf).
  2. 🔡 Added LIQUIDS_FLOWING_OUT WORLD_SETTING flag to prevent liquids from flowing outside of an island's protection range (#511).
  3. 🔡 Added REMOVE_END_EXIT_ISLAND WORLD_SETTING flag to provent the End Exit Portal from being generated in the End (#223).
  4. 🔡 Added server version and software to /bentobox version output (#518).
  5. 🔡 /bentobox reload now reloads BentoBox's configuration (#370).
  6. BentoBox's configuration can now be edited while the server is online.
  7. IslandTeamPromoteCommand now requires [gamemode].island.team.promote permission (#527, @YellowZaki).
  8. 🔡 Added TREES_GROWING_OUTSIDE_RANGE WORLD_SETTING flag to prevent trees (and their leaves) to grow outside of an island's protection range (#512).
  9. 🔡 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).
  10. 🔡 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).
  11. 🔡 Added BOAT PROTECTION flag to prevent interaction with Boats (#387).
  12. Made /[admincommand] unregister require confirmation.
  13. Enabled Ender Dragon to be summoned using /summon (#522).
  14. Set player's initial home location to be in middle of block.
  15. 🔡 Added /[admincommand] resetflags to reset all islands in a world to the default flag settings in the GameModeAddon's config.yml.
  16. 🔡 Added /[admincommand] emptytrash, /[admincommand] switchto and /[admincommand] trash to handle damaged islands database (#546, #505).
  17. Improved various commands' tab completion.
  18. Added options as an alias to /[playercommand] settings.
  19. Added pardon as an alias to /[playercommand] unban.
  20. 🔡 Removed FIRE PROTECTION flag (#414).
  21. 🔡 Added FLINT_AND_STEEL PROTECTION flag to prevent the use of flint and steel or fire charges to create fires (#414).
  22. 🔡 Added FIRE_BURNING and FIRE_IGNITE SETTING flags (#414).
  23. 🔡 Added Island's UUID in /[admincommand] info and /[playercommand] info.
  24. Enabled negative values in numbered permissions (#560).
  25. 🔺 ⚙️ Moved general.metrics in config.yml to web.metrics.
  26. Improved comments in config.yml!
  27. 🔡 Improved /bentobox version description in en-US locale (#555).

Fixes

  1. 🔡 jp-JP.yml locale has been renamed to ja-JP.yml (#510, @mkcoldwolf).
  2. Fixed some confirmation messages not using translations.
  3. Fixed commands not firing various events.
  4. 🔡 Various typos fixed and improvements in the en-US.yml locale.
  5. Fixed various NPEs in events.
  6. Improved handling of null locations and worlds (#515).
  7. Fixed End Exit Portal generating over the very first Island generated in the End (#223, #533, @BONNe).
  8. Fixed Ender Chests being over-protected (#516).
  9. Fixed locales to show correctly based on GameModeAddons and locations (#519).
  10. Fixed localized console translations.
  11. 🔺 🔡 Fixed /bentobox version using [name] textvariable to display BentoBox's version (it now uses [version]).
  12. Fixed ClassCastException when pasting a schem containing a llama/mule/donkey (#532).
  13. Fixed island owner losing inventory when kicking an island's member (#521, #564, @BONNe).
  14. Fixed island pasting when pasting clipboard every tick (#535).
  15. Fixed SafeSpotTeleport being way too spammy (https://github.com/BentoBoxWorld/BentoBox/issues/306#issuecomment-462190682).
  16. Made sethome command more reliable.
  17. Fixed loading and setting of the spawn Island (#523).
  18. Improved setspawn handling when a player owns the island.
  19. Fixed island members receive random "Protected island" messages from their own island (#534).
  20. Fixed sethome in the Nether and the End (#538, #569, @BONNe).
  21. Fixed a lot of yet unknown bugs with protection (#543).
  22. Fixed player's inventory being cleared whatever inventory clear was set in the config (#553, @DarkRails).
  23. Fixed End Portal not linking to standard End world (#306).
  24. 🔡 Fixed FISH_SCOOPING flag description in en-US locale.
  25. Fixed owners not being able to kick island members (#567, @BONNe).
  26. 🔡 Fixed commands.island.team.invite.accept.confirmation in en-US locale.
  27. Fixed bug where island location was shifting due to home calculation (#549). Note: this bug has been introduced in 1.3.0's development builds. 1.2.1 and prior versions users are not exposed to this bug.
  28. Fixed NPE if /[admincommand] register cannot get a valid Island slot.
  29. Fixed island coordinates that are not on the grid (#549).
  30. Fixed bug where player will not exit SPECTATOR mode if the location he was teleporting to was immediatly safe.
  31. Fixed a number of issues with spawn islands (#523).
  32. Fixed IllegalArgumentException in VaultHook (#572, #574).

Incoming (in the next minor updates)...

  1. Automated island ownership transfer (#167).
  2. Updates checker.
  3. In game Addons catalog.
  4. Moar placeholders!
BentoBox - 1.2.1 - The Bug Slayer

Published by Poslovitch over 5 years ago

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

  1. ⚠️ Removed deprecated methods in AddonDescription, FlagListener and FlagsManager.

Features / Tweaks

  1. Duplicate islands are now put in quarantine to avoid loading them continuously (#505).

Fixes

  1. Fixed incompatibility with Java 11 (#494).
  2. Fixed POTION_THROWING flag (#493).
  3. Fixed case-sensitivity with schems name (#496, @barpec12). E.g: you can now load a schem called MyLovelyIsland.schem by just typing mylovelyisland.
  4. Fixed saving ItemStacks in non-YAML databases (#501).
  5. Fixed JSON database not loading files correctly (#502).
  6. Fixed AdminTeamAddCommand and AdminUnregisterCommand not working properly (#506).
  7. Fixed NPE with PanelItems that had a null ItemMeta (#492).
  8. Fixed a load-order incompatibility with Residence (#503).
  9. Fixed island name too short / name too long locale references in IslandSetnameCommand (#508).
  10. Fixed players being able to place armor stands no matter what the ARMOR_STAND flag was set to (#507).
  11. Fixed permission bug when resetting using custom schems (#509).
  12. 🔡 Fixed typos in en-US locale.
  13. Fixed code smells.
  14. Fixed players being stuck in SPECTATOR after going through the End Portal (#377).
  15. Fixed tab-completion suggesting help more than once (#416).
BentoBox - 1.2.0 - Ancile

Published by Poslovitch over 5 years ago

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

  1. Updated and improved some Javadoc.
  2. ⚠️ Added abstract GameModeAddon#getDefaultWorldGenerator(String, String) (#491, #431). It requires Gamemode addons to override this method!!!
  3. Added GameModeAddon#inWorld(World).

Features / Tweaks

  1. Made CLEAN_SUPER_FLAT log as INFO instead of WARN (#483).
  2. ⚙️ Added logs.clean-super-flat-chunks to toggle CLEAN_SUPER_FLAT regeneration logging (#483).
  3. IslandCreateCommand: added new alias.
  4. IslandBanlistCommand: added banned, bans aliases.
  5. 🔺 If no safe teleport is found when trying to teleport the player, it will run /spawn for the player (#479).
  6. Improved some config comments.
  7. 🔺 ⚙️ Moved all command cooldown settings to island.cooldown.time node (see here).
  8. ⚙️ 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

  1. Fixed code smells. Again, and again!
  2. Fixed NPE caused by island deletion of a null island.
  3. Fixed players being stuck in SPECTATOR when they joined an island (#481).
  4. Fixed island save being done on the old player island instead of the new one when a player joins an island.
  5. Fixed hooks being loaded after addons, which may have resulted in NPEs (#489).
  6. 🔺 Fixed critical data loss bug on YAML databases where players were losing their islands when they banned/unbanned a player (#486).
  7. Fixed Flags being requested statically instead of via the FlagsManager's own storage in a few methods.
  8. Fixed Multiverse hook not working properly.
  9. Fixed probable NPEs in IslandsManager and IslandCache.
  10. Fixed AdminGetrankCommand for island members (#485).
Package Rankings
Top 8.17% on Proxy.golang.org
Badges
Extracted from project README
Discord Build Status Maintainability Rating Reliability Rating Security Rating Bugs
Related Projects