Commit Graph

1735 Commits

Author SHA1 Message Date
tastybento
01022a2500 Added bentobox addon reload command. 2019-05-08 12:18:33 -07:00
tastybento
180b88544a Database transition (#662)
- 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
2019-05-08 21:15:22 +02:00
Florian CUNY
0f4baad703 Fixed addons and hooks icons being misplaced in Management Panel 2019-05-08 16:25:38 +02:00
Florian CUNY
96464138f5 Avoid using Exception#printStackTrace() in WebManager 2019-05-08 16:14:32 +02:00
Florian CUNY
d42d0118d7 Fixed GitHub data gathering still using lowest connection interval value
Fixes commit a3a50c1961
2019-05-08 14:59:59 +02:00
Florian CUNY
fb87d0940f Fixed PlaceholderAPI expansions being unregistered after /papi reload
#629
2019-05-08 14:33:20 +02:00
Florian CUNY
6fe7c8fc51 Fixed PlaceholderAPI hook no longer working because it was run at startup 2019-05-08 14:31:03 +02:00
Florian CUNY
3c688a0b12 Ignored failing tests 2019-05-08 11:39:04 +02:00
Florian CUNY
bb420b2649 Fixed BentoBox not compiling due to one of the previous commits 2019-05-08 00:29:02 +02:00
Florian CUNY
36b3ec8527 Fixed javadoc on ServerVersion.V1_14 2019-05-08 00:22:48 +02:00
Florian CUNY
7ba3cd4570 Disabling Signs-dying protection from DYE flag for non-1.14 servers
#669
2019-05-08 00:20:57 +02:00
Florian CUNY
cfdd0c728a Added a few methods in ServerCompatibility 2019-05-08 00:20:34 +02:00
Florian CUNY
bf08475a4f Made DYE flag more permissive with signs
It now only applies when the player has dyes in his hand.
#669
2019-05-07 23:43:40 +02:00
tastybento
fc160d8c5f Aligns permissions and fixes permission bugs
https://github.com/BentoBoxWorld/BSkyBlock/issues/120
2019-05-07 13:14:25 -07:00
tastybento
9ba62e1711 WIP - reloads addons 2019-05-07 07:47:38 -07:00
wellnesscookie
91034f956e Fixes incorrect sethome if an island was locked (#666)
- 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
2019-05-07 06:23:12 +02:00
tastybento
d8799f183f Makes copying schems to the clipboard async.
https://github.com/BentoBoxWorld/BentoBox/issues/504
2019-05-05 16:39:11 -07:00
tastybento
466aa9ff47 Adds more detail on deserialization error case in console. 2019-05-05 08:00:34 -07:00
tastybento
2f1bc509fa Change cycle click test to test Travis 2019-05-04 22:36:16 -07:00
tastybento
809e18b971 Adds island near command. 2019-05-04 22:24:04 -07:00
Florian CUNY
4f84f37461 Send message to player to tell he cannot change the island settings as he's not owner
#638
2019-05-04 23:27:53 +02:00
Florian CUNY
a3a50c1961 Made the GitHub connection interval be at least 15 minutes 2019-05-04 23:05:11 +02:00
tastybento
2d94e4447a Enables game mode addons to run as the only world (#661)
* 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.
2019-05-04 22:56:55 +02:00
Florian CUNY
5d299abae4 Added es-ES (spanish) localization (credit to @SrAcosta) 2019-05-04 22:55:23 +02:00
Florian CUNY
a594427c5a Fixed tests 2019-05-04 22:26:26 +02:00
BONNe
18755f6377 Add color translation for Panel and PanelItem names (#660) 2019-05-04 11:26:38 +02:00
Florian CUNY
60231d58ab Fixed some mixed up placeholders
#659
island_distance, island_protection_range and island_creation_date had their actual value mixed up.
2019-05-04 11:24:29 +02:00
tastybento
9e15907f93 Added DYE protection flag
https://github.com/BentoBoxWorld/BentoBox/issues/653
(cherry picked from commit e94000528791e1abb30d19305e36529d825287b9)
2019-05-04 11:16:31 +02:00
tastybento
2b2ee7e42c Saves command rank settings to bentobox config.yml
https://github.com/BentoBoxWorld/BentoBox/issues/657
2019-05-03 22:29:03 -07:00
tastybento
4e0e283ace Pull island distance from settings instead of island 2019-05-02 21:23:46 -07:00
tastybento
800c111fd8 Fixes color code character. 2019-05-01 08:35:26 -07:00
tastybento
765f6adfce Makes console output more useful - just copy and paste missing YAML 2019-05-01 08:16:47 -07:00
tastybento
650e370ffe Rewrote chunk deletion (#648)
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.
2019-05-01 16:25:35 +02:00
Florian CUNY
95c0c612da Improved /bbox locale 2019-05-01 10:48:47 +02:00
Florian CUNY
51505ce276 Fixed typo in fr-FR locale 2019-05-01 10:21:10 +02:00
Florian CUNY
aee54b2162
Started fr-FR locale
#639
2019-05-01 10:00:55 +02:00
tastybento
6f00db0cc1 Added an admin locale analysis command.
Shows what strings are missing from which locale files.
2019-04-30 22:10:50 -07:00
tastybento
17493966d2 Merge remote-tracking branch 'origin/master' into develop 2019-04-29 19:43:09 -07:00
wellnesscookie
2ded5be6d6 Fixes user being spawned instead of target (#646)
If target had no island to be expelled to, second if statement would expel User (executor) itself
2019-04-29 18:25:08 -07:00
Florian CUNY
661bffad44
Improved javadoc on IslandsManager#getIslandCache() 2019-04-29 14:43:24 +02:00
tastybento
c785ccb39d Adds method to copy a clipboard without having to be a user. 2019-04-28 17:57:23 -07:00
tastybento
2b42de44c4 Adds method to obtain the island cache. 2019-04-28 17:57:01 -07:00
tastybento
4472817b07 Removed tests. 2019-04-28 07:32:42 -07:00
tastybento
2ee03cd081 Merge branch 'develop' of https://github.com/BentoBoxWorld/BentoBox.git into develop 2019-04-28 07:32:24 -07:00
tastybento
f714baaa5c Made a fix method private - should not be public API 2019-04-28 07:31:12 -07:00
Florian CUNY
f5b9b772d8 Made en-US more consistent 2019-04-28 15:11:45 +02:00
Florian CUNY
2eb0d657b4 Fixed typo in en-US locale 2019-04-28 14:40:28 +02:00
Florian CUNY
3fca2d7b8e Fixes build failing due to old Clipboard reference in Blueprint 2019-04-28 13:58:34 +02:00
Florian CUNY
2bc590d8d1 Slightly improved javadoc in Clipboard 2019-04-28 13:55:54 +02:00
Florian CUNY
bf7e3ab7b8 Removed duplicate Clipboard in api/blueprints package 2019-04-28 13:50:48 +02:00
Florian CUNY
854d06eef2 Improved code readability in Clipboard 2019-04-28 13:50:15 +02:00
tastybento
8a885eac7f Refactor of clipboard to separate out file saving/loading (#641)
* Refactor of clipboard to separate out file saving/loading

There's now a clipboard manager to handle file system loading and saving
so that the clipboard works purely in blocks (YAML).

* Fixes a few bugs

* Renamed getClipBoard to getClipboard
2019-04-28 13:41:24 +02:00
Florian CUNY
6100420bae Added better success messages to admin team commands
#630
2019-04-28 11:21:58 +02:00
Florian CUNY
f333cfbe6f Added [name] textvariable to admin setowner command 'already-owner' message 2019-04-28 11:15:26 +02:00
Florian CUNY
722f136e3f Added better success message to AdminTeamKickCommand
#630
2019-04-28 10:39:31 +02:00
Florian CUNY
a612f20af9 Removed useless empty strings from en-US locale 2019-04-28 10:23:16 +02:00
Florian CUNY
3ef6529c40 Added better success messages for admin deaths and island team kick commands
#630
2019-04-28 10:21:35 +02:00
Florian CUNY
c2659b8d12 Merge remote-tracking branch 'origin/develop' into develop 2019-04-27 21:05:03 +02:00
Florian CUNY
8ba0ebd170 Added better success feedback messages for IslandBanCommand and IslandUnbanCommand
#630
2019-04-27 21:03:40 +02:00
Florian CUNY
7a1b32eecf
Changed 1.14 to incompatible
Extensive tests proved BentoBox to not be 1.14-ready for now. Panels and Schems are breaking. Island deletion fires errors.
2019-04-23 13:29:09 +02:00
Florian CUNY
a268bf7b52
Added 1.14 as not supported 2019-04-23 06:42:30 +02:00
tastybento
cfee1229d1 Uses BoundingBox for copying blocks to schems
https://github.com/BentoBoxWorld/BentoBox/issues/636
2019-04-22 07:35:54 -07:00
Florian CUNY
b556b3fb0a Added a description templates for icons in the catalog
Also made them display the (unlocalized) description and topic.
2019-04-21 16:10:09 +02:00
Florian CUNY
5333f694cb Made the GitHub data addons catalog parser supports spread JSON 2019-04-21 14:16:21 +02:00
Florian CUNY
e182bbac2a Made the addon icon in Catalog send a link to latest release in chat 2019-04-21 11:55:26 +02:00
Florian CUNY
e522d7155a Added some since javadoc annotations in WebManager 2019-04-21 11:12:22 +02:00
Florian CUNY
0f7c5895f5 Made the GitHub connection interval config check more permissive
So that negative values will also disable the repeating task
2019-04-21 10:39:01 +02:00
Florian CUNY
f5df341212 Removed 'web.github.flush-data-to-files' from config 2019-04-21 10:34:48 +02:00
Florian CUNY
aebbbabb5c Updated ManagementPanel to use the new methods from CatalogPanel
And added some nullability annotations there
2019-04-21 10:30:03 +02:00
Florian CUNY
a728f5e531 Finished implementation of the Catalog Panel
It requires some polishing, but it is working.
2019-04-21 10:28:48 +02:00
Florian CUNY
8fcbdc716e Un-hid 'web.github.connection-interval' in config.yml 2019-04-20 12:01:29 +02:00
Florian CUNY
70f589538c Setup the basic Catalog panel 2019-04-20 12:00:59 +02:00
Florian CUNY
d1732e4f20 un-hid 2 GitHub-related settings in config 2019-04-19 18:49:47 +02:00
Florian CUNY
0108d254ee Fixed addons and hooks icons in Management Panel not going to the next line 2019-04-19 10:53:14 +02:00
Florian CUNY
3bb5ebb688 Changed PlaceholderAPI hook's icon to a NAME_TAG 2019-04-19 10:43:07 +02:00
Florian CUNY
80f269c38d Added description for /bbox catalog (en-US) 2019-04-19 10:40:07 +02:00
Florian CUNY
15351c61c8 Merge remote-tracking branch 'origin/develop' into develop 2019-04-18 14:43:34 +02:00
Florian CUNY
8601cd6a0d Added /bentobox catalog 2019-04-18 14:42:32 +02:00
Florian CUNY
e7cd9d1453 Started implementation of the CatalogPanel 2019-04-18 14:42:00 +02:00
Florian CUNY
c47a41f3fc Removed the drafty Github api - we now use the GitHubAPI4Java :) 2019-04-18 14:41:29 +02:00
tastybento
7499b19fea Added offline message event.
This event is fired if the player is offline but the recipient of a
message.
2019-04-17 22:22:16 -07:00
Florian CUNY
a26341e36f
Fixed BentoBox still disabling if running on incompatible server
This fixes commit 0d6f872420.
2019-04-17 22:58:17 +02:00
Florian CUNY
a18ed9b999 Added a "compatibility" icon in the Management Panel 2019-04-17 21:54:30 +02:00
Florian CUNY
82dccfd839 Minor improvement of the comparator in /bbox version 2019-04-17 21:53:32 +02:00
tastybento
197d51add0 Fixes issue with teleporting from standard nether or end
https://github.com/BentoBoxWorld/BentoBox/issues/634
2019-04-17 09:35:55 -07:00
Florian CUNY
6bf66ec98c Started implementation of Blueprints (replacement of Schems) 2019-04-14 14:55:24 +02:00
tastybento
4e73d7de5a Improvements to the Paster (#632)
* Version up 1.4.1-SNAPSHOT

* Sets pos1 and pos2 after pasting a loaded schem

Corrects version name in POM.

* Shifted schem name validation into SchemsManager
2019-04-14 01:54:04 +02:00
Florian CUNY
141e1d388d Added a gameMode field to islands for convenience usage
#631
2019-04-13 14:44:31 +02:00
Florian CUNY
9386e8aa71 Added Dynmap hook
#475
2019-04-13 14:22:05 +02:00
Florian CUNY
7df34d73ba Made the ManagementPanel display hooks 2019-04-11 14:44:30 +02:00
Florian CUNY
f27d97e05f Added some Javadoc in HooksManager 2019-04-11 14:02:37 +02:00
Florian CUNY
612ae93faf Added icon (Material) to hooks 2019-04-11 13:58:11 +02:00
Florian CUNY
7ff3289afa Added island_members_max placeholder
#621
2019-04-11 11:10:49 +02:00
Florian CUNY
7d57effd65 Improved the names of the two previously added placeholders
island_trusted_count -> island_trustees_count
island_coop_count -> island_coops_count
#621
2019-04-11 11:02:56 +02:00
Florian CUNY
5450ef6a59 Added ISLAND_TRUSTED_COUNT and ISLAND_COOP_COUNT placeholders
#621
2019-04-11 11:01:41 +02:00
Florian CUNY
a045ea1a8e Added Island#getMemberSet(int, boolean) to specify if we want only the specific rank or the above ranks included 2019-04-11 11:00:02 +02:00
Florian CUNY
f41359ce4d Added ISLAND_MEMBERS_COUNT, ISLAND_VISITORS_COUNT, ISLAND_BANS_COUNT
#621
2019-04-11 10:53:00 +02:00
Florian CUNY
b0d4604c63 Renamed GameModePlaceholders to GameModePlaceholder
(enum names should be singular)
2019-04-11 10:47:25 +02:00
Florian CUNY
1d119ddea1 Removed "warp not safe" message, replaced with the (renamed) "no-safe-location-found" 2019-04-11 10:37:14 +02:00
Florian CUNY
a25ab326c3 Added OFFLINE_GROWTH flag localization (en-US)
Damn, how could I have missed that + how could nobody have noticed already ? xD
Thanks Liam from Discord!
2019-04-10 21:52:19 +02:00