* Multi world WIP - stashing
* Initial work on supporting multiple islands per player
The default allowed number is 5 for now, but will be set to 1 by
default.
Lots more work to do on this!
* More work on multi island. Fixed tests so clean compile.
* Remove unused imports
* Updated island go and homes command to multi island
Updated tests.
* Do not reload addons anymore.
* Add island name when entering or leaving own island
* Remove unused import
* Adds island names to /island go command.
* Enables more homes to be set if player has more than one island
* Switch to using a set for islands and explicit primary boolean in Island
* WIP
* Fix bugs with the go command.
* Be able to delete multiple islands, e.g. when joining a team
This is not fully tested.
* Do not remove all islands when a player does reset.
Players can reset just the island they are on.
* More fixes for go command
* Fix tests
* Fix @NonNull annotation
* Fix home syntax listing reference for IslandDeleteHome
* Fixed deletehome for multiple islands.
* Fix /island command teleport to current island default home.
* Remove deprecated code.
* Fix tag for concurrent island setting in config.yml
* Improve error when trying to make additional islands over limit
* Update config.yml
* Correctly assign invites for islands.
* Switch to canExecute API in prep for multi-island handling
* Prevent players from obtaining more concurrent islands by owner transfer
* Handle leaving and disbanding of teams
* Fix tests
* Fix minor bugs or code smells.
* Restore the quarantine code from deprecation.
This code can stay. It checks if islands can load, and if not puts them
in a trash. It does no harm.
* Remove unneeded eq()'s
* Fix tests
In discord, it was reported that running the admin delete command produces a null-pointer if `[player]` placeholder is used.
With fast checking I found out the issue: incorrect user was passed to the command.
Also, I moved runCommands below all resets, so commands could be used to give items, or xp or other stuff that is removed.
* Mark all home-related methods in PlayersManager as deprecated.
* Fix bug where maxHomes was shown as null
* Version 1.18.0
API changes may break compatibility with Addons.
* Remove usage of deprecated methods except for migration code.
* Prevent NPE. Check isPlayer instead of getWorld() == null
* Fix nullability issue and added to @Deprecated annotations
* Added deprecation notices to home methods in Players
* Fix hanging [uuid] in info.
* NPE checking
* Make getProtectionCenter nonNull
* More NPE fixes.
* Fix test
* Make getPlayer() and getOfflinePlayer() nonNull returns
This requires addons to not use null checks and instead us the isPlayer
or isOfflinePlayer methods.
* NPE blockers
* Deprecate CompositeCommand isPlayer method.
* Fix test
* Decouple island location from island center.
This enables the protection area to move anywhere within the island
boundaries
* Paste island at island location.
* Move visitors to the island location
* Added island location placeholders
* Use island location instead of island center
* Fix tests
* Allow radius 1 islands.
* Correct admin range set limit
* Debug in progress
* Fix island deletion.
The speed option was doing nothing except causing repeated actions on
the same chunks.
* Soft depend for WorldGeneratorApi for Boxed game mode
* Changed to "protectionCenter".
Added logic to expand the deletion area based on moving the island
protection location and range instead of just deleting everything. This
will keep deletion time to a minimum for BSkyBlock, etc.
* Fix tests.
* Made BentoBoxCommand#setup() "default" and deprecated it
* Undeprecated BentoBoxCommand#setup() and changed its javadoc
* Put back setup in IslandGoCommand and IslandSethomeCommand
* Removed setup in AdminPurgeStatusCommand
This event gets called prior to an island being cleared of players and
other data. This can happen before a reset or an admin delete. It is
there so addons can perform tasks on the players before the island is
cleared.
Fixes https://github.com/BentoBoxWorld/BentoBox/issues/1200
Implements https://github.com/BentoBoxWorld/BentoBox/issues/704
Gamemode addons will need to be updated to use the new WorldSettings, which have been properly documented so it should be easy to write down comments about them.
VaultHook#getBalance(User) : double ;
VaultHook#withdraw(User, double) : EconomyResponse ;
VaultHook#deposit(User, double) : EconomyResponse
VaultHook#has(User, double) : boolean.
And made use of these nice new methods where it was needed.