- JSON is now the default database type
- JSON database files are now pretty-printed
- It is now possible to migrate from a database type to another through the use of a command and specific transition database types
- It is recommended to move from YAML to JSON.
= Commits breakdown =
* Proposal to make JSON the default database and retire YAML.
* Make JSON file format easier to read.
* Fix tests.
* Adds a hybrid Yaml2Json database type.
This database always tries to use JSON if it is available. If a YAML
file is found, it will be loaded and replaced with a JSON file.
* Move to generic database transition code
* Better comments
* Adds transitional database options so admins can choose.
Adds Yaml2MySQL option and changes config.yml to add instructions.
* Enables full database migration between databases.
Adds /bbox migrate command.
Adds a number of transition databases. DB starts transition when the
server boots up and will migrate organically. The admin can force an
immediate update using the bbox migrate command.
This operation requires an API breaking change: Addons that use the
Config API must now implement ConfigObject in their config class instead
of DataObject. This is to differentiate YAML config classes from YAML
database classes. If a class is already implements WorldSettings
(GameModeAddons), then no change is required because WorldSettings
implements ConfigObject now. If an old addon is used that does not
implement ConfigObject, BentoBox will not load.
* Added null check to YAML deletion
* Removed the 2YAML transition dbs because YAML is deprecated.
YAML does not support some data structures so conversion could corrupt
data.
* Fixed some javadoc and added missing DatabaseType#JSON2MARIADB
* Renamed package database/transitiondb to database/transition
- for visitor/ coops/ trusted players. I think this reorder of execution fixs this, correct me if I'm wrong.
Issue #665 : Teleport > Sethome > Add
(Sets incorrect if the island was locked for visitor as the member was not yet added to the island so the teleportation failed, therefore it will take the location of user from where he was standing when he typed /is team accept)
Fix: Add > Teleport > Set
Fixes#665
* Enables game mode addons to run as the only world.
Requires game mode addons to do the following in their onLoad:
1. Register commands
2. Be able to provide the chunk generator object because it will be used
to generate the worlds
3. Be able to provide the WorldSettings because the world name (string)
is required
* Sets world in CompositeCommand after onEnable
* Added Javadoc to Addon#onEnable and Addon#onLoad to better explain where to do what.
As of 1.14, chunk regeneration is no longer supported. This PR implements a not-chunk-based deletion that supports both 1.13 and 1.14 and which also allows us to get rid of the "multiple of 16" rule for island distances. This PR however does not remove the "multiple of 16" rule and a commit should be made thereafter.
This PR is also a pre-requisite to #640.
* Makes GameModes responsible for regenerating chunks.
* Deletes chunks manually to solve 1.14 chunk regen removal
* Fixes round up to 16 for island distance bug.
* Clean up - removing imports and stack traces
* Revert "Fixes round up to 16 for island distance bug."
This reverts commit 54f1ce0940.
* Adds island edge protection for deletion. Needs full testing.
* Completed testing. Works correctly.