* WIP - add GUI for teams.
* WIP teams GUI
* Moe WIP on team GUI
* Modified file to avoid an NPE.
* Minor refactor to prevent int to Integer warning.
* Use latest dependencies for tests to pass.
* Move to singleton pattern for RanksManager,
* Team GUI WIP
* Added support for kick, setowner, and leave.
* Added support for accepting and rejecting an invite.
* Fixed bugs with text and operations.
* WIP for team invites.
* Adds inviting to the GUI.
* Fix tests
* Fixed minor bugs reported by SonarCloud
* Up Minecraft version and paper to 1.20.4 in POM
* Added features based on Discord feedback.
1. added some lore to the invite button to explain the players shown are
from the game world
2. removed the team state in chat
3. added a search to the invite panel
* Added back button.
Refactored some code and templates.
* Fixed bugs with teams and uncoop untrust etc of Ops.
* Return to name search GUI if name not found.
* Added return to GUI for player search
* Use Path.of
* Fixes bug with island team joining and deletion. Include debug.
* Remove ambiguous API with mutli-island.
* Add back deprecated methods so developers can be wartned not to use them
* Added back in deprecated methods.
* Fix bugs and NPEs.
* Fix some code smells
* Remove debug logging.
* Put ranks in the database. Prework for #1798
* Prevent coop and trust commands from being registered
if those ranks don't exist.
* Add /bbox rank command for ranks management
* Rename RanksObject to Ranks
* Strip / on commands if it exists. Fixes#2221
* Fix test failure
* 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
* Adds maxMembers to the Island object for persistent storage
https://github.com/BentoBoxWorld/BentoBox/issues/1690
* Expanded approach to include coop and trusted ranks.
* Checks for max members/coops/trusts on accept based on island setting.
* Write island max member/coop/trusted if owner joins server
This updates the island's settings based on the owner's permissions.
* Break out events and add individual handlers
https://github.com/BentoBoxWorld/BentoBox/issues/1613
* Corrected AddonEvents to have proper static handlers
* Made constructors protected.
Abstract classes should not have public constructors. Constructors of
abstract classes can only be called in constructors of their subclasses.
So there is no point in making them public. The protected modifier
should be enough.
The no permission error was being added, but thats wrong because it's
not lack of permission but lack of rank that is the issue. This adds a
new error and shows it in the various commands.
Only owners could invite players successfully. This now checks based on
rank.
Added a method to allow rank checking on UUID. Had to make tests be
specific to the User.class.
https://github.com/BentoBoxWorld/BentoBox/issues/1377
Removed purge-related settings.
Renamed all database-related settings and methods to replace `db` with `database`.
Moved confirmationTime to `island.confirmation.time`.
Renamed inviteWait, banWait and resetWait to inviteCooldown, banCooldown, resetCooldown. Also moved them under `island.cooldown.x`.
Removed kickWait and leaveWait, using confirmationTime instead.
Moved `island.require-confirmation.<command>` to `island.confirmation.commands.<command>`.
Updated tests.
Updated getters and setters using code automation. Sadly, this wiped out all the Javadoc.
This API enables any command to have a cool down and to have that cool
down called by another command. For example, the Kick command sets the
cool down on the Invite command. It is possible for commands to set cool
downs on themselves too.
Currently, cool downs are not stored persistently in the database so
they disappear if the server is reloaded. This should be okay for now.