Skip to content

1.6.0 - Stars of the Settings Panel

Compare
Choose a tag to compare
@Poslovitch Poslovitch released this 14 Aug 19:16
· 1960 commits to master since this release

⚠️ 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 (90fd6a6).
  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 (BentoBoxWorld/AcidIsland#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 (BentoBoxWorld/SkyGrid#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 (BentoBoxWorld/SkyGrid#22).
  4. Made the Clean SuperFlat fixer no longer apply physics to blocks in order to prevent issues with sand or gravel (BentoBoxWorld/SkyGrid#22).
  5. Fixed the Clean SuperFlat fixer not using populators (BentoBoxWorld/SkyGrid#22).