* Fixes owner demoting himself to subowner
This occurred whilst owner demoted himself to a subowner that led to non existence of the true owner
* Adds error on demote-yourself message
* Database abstraction WIP
* Removes code duplication in the databases
Fixes a regression bug on database connections - more than 1 were being
made again.
* Added ignores to tests because they run async now
* Adds a cooldown API for flags.
https://github.com/BentoBoxWorld/BentoBox/issues/754
Added 60 second cooldown to PVP flags
* Added cooldowns to database.
This way, if a cooldown is a long one it will be remembered even if the
server restarts.
* Update src/main/java/world/bentobox/bentobox/database/objects/adapters/FlagSerializer3.java
* API addition - adds reset deaths on new island
BentoBox currently tracks deaths in the worlds but the current API only
allows them to be reset when a player joins a team. This setting enables
deaths to be reset when a player starts a new island or resets an
island.
WARN: This should be the only additional WorldSetting we need for deaths.
* Update src/main/java/world/bentobox/bentobox/api/configuration/WorldSettings.java
* Update src/main/java/world/bentobox/bentobox/managers/IslandWorldManager.java
* Update src/main/java/world/bentobox/bentobox/managers/island/NewIsland.java
* Update src/main/java/world/bentobox/bentobox/managers/IslandWorldManager.java
Database closing was occuring too early. In priort releases it was
hidden because the connection would be automatically made again. When
this was removed, it exposed this error.
Now the single database connection will not be closed until all
registered database objects have finished with their async queues.
Further, the database connecter was being made once for each database
type. This was a waste of resources and it also meant that static fields
were being used. Now, only one database connecter object is made and
there are no static fields.
https://github.com/BentoBoxWorld/BentoBox/issues/813
* Add asynchronous task
* First commit
* Add asynchronous tasks for Blueprint.
* Add BlueprintSchematicConverter class to convert schematic in blueprint and inversely
* BlueprintClipboardReader, BlueprintClipboardWriter and BlueprintClipboardFormat have been added !
* BlueprintClipboardReader, BlueprintClipboardWriter and BlueprintClipboardFormat have been added !
* javadoc in BlueprintClipboardFormat
* Rename src/main/java/world/bentobox/bentobox/blueprints/BlueprintClipboardFormat.java to src/main/java/world/bentobox/bentobox/blueprints/worldedit/BlueprintClipboardFormat.java
* Update and rename src/main/java/world/bentobox/bentobox/blueprints/converter/BlueprintClipboardReader.java to src/main/java/world/bentobox/bentobox/blueprints/worldedit/BlueprintClipboardReader.java
* Update and rename src/main/java/world/bentobox/bentobox/blueprints/converter/BlueprintClipboardWriter.java to src/main/java/world/bentobox/bentobox/blueprints/worldedit/BlueprintClipboardWriter.java
* Update and rename src/main/java/world/bentobox/bentobox/blueprints/converter/BlueprintSchematicConverter.java to src/main/java/world/bentobox/bentobox/blueprints/worldedit/BlueprintSchematicConverter.java
https://github.com/BentoBoxWorld/BentoBox/issues/805
Database connectors were creating a new connection every time they were
called. Also the top-level database object was being recreated every
time getDatabase was requested.