Previously, when all Addons were Addons and men were men, the
DataObjects could be tracked using the BentoBox custom ClassLoader.
However, as Addons now can be and usually are loaded using the Bukkit
Classloader, this is no longer possible. However, we can track them when
a Database class is instantiated and use that. This relies on Addons
declaring their database objects. If they have not when the migration
command is run, then obviously they cannot be transfered.
* WIP to having admin setting world based on the command
and not the location of the user.
* Make world settings depend on the world of the command
Previous code based world on the location of the user when they ran the
command.
* Remove unused import
* Fix JavaDoc
* Remove unused import.
* 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
Enable Tab object to reference parent TabbedPanel in the builder. It is
late assigned after building. This enables tabs to get the parent, and
therefore get the Island object.
default methods were used to support backward compatibility.
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
* Fixes ItemParser.
Implements new Potion and Skull parsing.
Fixes custom model data parsing.
Implements ItemFactory#createItemStack parsing that parses item using `/give` syntax.
Solves some issues mentioned in #2198
* Fixes failing BentoBoxLocaleTest
In runTime ItemFactory#createItemStack from invalid text would throw IllegalArgumentException.
JAR files does not store files inside it with filesystem separator. Only spot where it makes sense to transform "/" into file separator is in output file saving.
* 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.