* 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
Spigot JavaPlugin#saveResources either replaces or complains that replacement is disabled. So it is necessary to check if file does not exists before saving it.
Fixes#2259
* Customizable Island Creation Panel
This implements customizable Island Creation Panel. By default, panel is generated in `/plugins/bentobox/panels` folder, however, if GameModeAddon has a specific panel defined in their folder, then that panel is taken.
* Create UnitTests for new panels
* Add island creation panel saving on loading
* Remove old IslandCreationPanel and move to the new one.
* Fixes some issues with locale and panel
---------
Co-authored-by: tastybento <tastybento@users.noreply.github.com>
* Customizable Language Selection Panel
This implements customizable Language Selection Panel. By default, panel is generated in `/plugins/bentobox/panels` folder, however, if GameModeAddon has a specific panel defined in their folder, then that panel is taken.
* Migrate LanguagePanelTest to customizable panel.
* Remove original LanguagePanel
* Save language_panel.yml on server starting.
* Fixes some bugs in LanguagePanel.
* Adds an ItemAdder hook to delete any blocks when island is deleted.
Also includes a flag for explosions.
* Make the error reporting method non-abstract.
This is not a mandatory method for many hooks.
* Delete this class as it is not used any more and just duplicate.
* Added test class.
* Minor issues resolved.
* 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
Teleportation via portals for entities was in a mixed state. It was not fully implemented and not fully prevented. Especially when portal linking was enabled.
Now I implemented world settings flag: ENTITY_PORTAL_TELEPORT.
Enabling this flag will allow entities to use portals to switch dimensions.
Fixes#2023 and #966
I reworked the classes and some teleportation operations. Now teleportation should find the closest available spot, instead of always being the highest block at original Y location. Part of #1994.
Also, I fixed an issue that portals stopped working if some conflicting options were enabled. Now portals will not work only if nether is disabled in config.
* delete island one by one
* register before IslandDeletionManager
* optimize imports
* setting
* just some indents
* config
* run synchronously
* a bit reformat before recoding
* proper delete chunks
* comment
* combine the task call
* expose the NMS Handler
* don't have to try-catch this
* we know that this is final
* expose copy chunk data so that it can be overridden
* Don't have to use Vector
* set block from minimum height
* remove NMS and use fallback if not set
* only get the height once
* fix test
* 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
* StringBuffer (Java 5) may be declared as StringBuilder
* Replace map with flatMap
* Use instanceof naming
* No need to specify paramter types.
* Remove verbose code
* Fix JavaDoc issues
* Make internal class a record.
* Remove unused import.
* Make internal class a record.
* Made internal class a record.
* Removed unused import
* Fix typos
* Fix typo in test.
It was increasingly causing issues, ranging from long start times, unreliability with some of our placeholders, to much more...
There's a way for MVdWPAPI users to get PAPI's placeholders, so they should definitely use that instead.