Commit Graph

1347 Commits

Author SHA1 Message Date
tastybento
804d0f9878 Quarantines duplicate islands so they don't load continuously
https://github.com/BentoBoxWorld/BentoBox/issues/505
2019-01-30 16:46:51 -08:00
tastybento
271d6aa5e9 Adds json suffix to JSON database files
https://github.com/BentoBoxWorld/BentoBox/issues/502
2019-01-29 13:43:34 -08:00
Florian CUNY
7b79755d92
Merge pull request #496 from barpec12/master
Add possibility to load schems with non-lowercase names.
2019-01-29 06:12:35 +01:00
tastybento
46cc901c23 Adds support for ItemStack storage in non-YAML databases.
Fixes https://github.com/BentoBoxWorld/BentoBox/issues/501
2019-01-28 18:29:17 -08:00
barpec12
c5c2ae5fc1 Change imports 2019-01-28 13:47:55 +01:00
barpec12
c6b4a10634 Add possibility to load schems with non-lowercase names. 2019-01-28 11:11:07 +01:00
tastybento
8cddb1e69f Set user for potion splash event
https://github.com/BentoBoxWorld/BentoBox/issues/493
2019-01-27 19:59:00 -08:00
tastybento
04fa7fab80 Fixes issue with missing user assignment of potion thrown
Adds test for throwing potion class.

https://github.com/BentoBoxWorld/BentoBox/issues/493
2019-01-27 19:51:03 -08:00
tastybento
0280303058 Revert to fix Java 11 compatibility.
dfe7fc27e5 (commitcomment-32081178)
2019-01-27 09:17:54 -08:00
tastybento
873c12fe70 Revert "Fixed minor code smell in AddonClassLoader"
This reverts commit a392dbc8b3.
2019-01-27 09:08:41 -08:00
Florian CUNY
6fdf11f91e Version 1.2.0 🎉 2019-01-27 10:24:01 +01:00
Florian CUNY
9afb5c6382 Fixed HooksManager logging hook failures even if the target plugin is not available 2019-01-27 10:22:04 +01:00
Florian CUNY
aea057317b Added option to apply the reset cooldown when the player creates an island for the first time
Closes #456.
2019-01-27 10:10:25 +01:00
Florian CUNY
9551560593 Moved all command cooldown settings to "island.cooldown.time" node 2019-01-27 10:04:13 +01:00
Florian CUNY
30487beffc Improved some config comments 2019-01-27 09:59:31 +01:00
Florian CUNY
2a66598d2f Fixed bugs/vulnerabilities in YamlDatabaseConnector#removeStringFromFile(File) 2019-01-27 09:43:14 +01:00
Florian CUNY
5334caf7b5 Fixed AdminGetrankCommand for island members
Fixes #485
2019-01-27 09:32:16 +01:00
Florian CUNY
1c3ccba3ae Fixed probable NPEs in IslandsManager and IslandCache 2019-01-27 09:31:35 +01:00
Florian CUNY
e5170fc4b5 Updated since tags 2019-01-27 09:23:23 +01:00
tastybento
24806019b8 Addresses review issues. 2019-01-26 22:07:26 -08:00
tastybento
5bf6264e95 Fix since tag in GameModeAddon 2019-01-26 16:37:13 -08:00
tastybento
9968a8e083 Fixed Multiverse issues
Multiverse hookin wasn't working.
2019-01-26 16:33:59 -08:00
tastybento
daef788e65 Merge remote-tracking branch 'origin/develop' into startup 2019-01-26 15:33:35 -08:00
tastybento
db932dd836 Fix for LogEntry serialization.
https://github.com/BentoBoxWorld/BentoBox/issues/486

Includes an autofixer for corrupted files and test for the adapter.

LogEntry was changed to just store strings instead of arbitrary types.
Unless the log serializer were to store hints as to what type of data
was being stored, it is impossible to deseralize. To make it all
simpler, we just store strings. If the UUIDs need to be converted back
to players are some point, that can be done based on the type of the log
stored.
2019-01-26 15:32:52 -08:00
tastybento
5b2ad730df Adds getDefaultWorldGenerator method to BentoBox
This may help with Multiverse compatibility.
May fix https://github.com/BentoBoxWorld/BentoBox/issues/431

Adding as PR because GameMode addons will need changing to new
Interface.
2019-01-26 13:22:07 -08:00
tastybento
4e81baf45e Flags are requested from FlagManager not statically
Previous the Flags class was being used to grab all flags. This is wrong
because it may not contain all the flags that may exists, for example
ones registered by other addons. The correct way is to request flags
using the getFlag() method in the flags manager class.
This change was to prepare for the time when addons will register their
own flags with BentoBox.
2019-01-26 09:39:34 -08:00
Florian CUNY
afdfc285cc Fixed LogEntryListAdapter
Fixes #486
2019-01-26 16:05:55 +01:00
Florian CUNY
b07d7ba3af Load hooks before loading addons
Fixes #489.
2019-01-26 15:29:18 +01:00
Florian CUNY
6155a8cf80 Version 1.1.1-SNAPSHOT (develop)
Rather than releasing a minor version, we will release a bug-fix focused one.
2019-01-26 15:23:46 +01:00
tastybento
5f49e2b17b Runs /spawn command for player if no safe teleport spot
https://github.com/BentoBoxWorld/BentoBox/issues/479
2019-01-24 08:30:43 -08:00
Florian CUNY
f5f345a1ab Documented Flag.Type 2019-01-23 19:58:31 +01:00
Florian CUNY
ae246435ba Temporarily removed Expose annotation to 'history'
Should fix #482
2019-01-23 19:29:42 +01:00
Florian CUNY
0789ec0969
IslandBanCommand: added "banned", "bans" aliases 2019-01-23 15:40:25 +01:00
Florian CUNY
29d0cb6eb3
IslandCreateCommand: add "new" alias 2019-01-23 15:39:41 +01:00
tastybento
9e0772367a Fixes NPE caused by island delete of a null island
If a player is invited and has no island, the accept command was still
trying to delete it and causing an NPE.

Also, the island save was being done on the old island, not the new team
island.
https://github.com/BentoBoxWorld/BentoBox/issues/481
2019-01-22 12:53:33 -08:00
Florian CUNY
4958304aa5 Added "logs.clean-super-flat-chunks" to config
Closes #483
2019-01-22 14:39:44 +01:00
Florian CUNY
77f9f4869b Fixed typo in previous commit 2019-01-22 14:28:10 +01:00
Florian CUNY
eb8f25f319 Improved documentation in CleanSuperFlatListener 2019-01-22 14:26:00 +01:00
Florian CUNY
9af389ce1d Made BentoBox#logWarning(String) evaluating lazily the parameter 2019-01-22 14:18:06 +01:00
Florian CUNY
bfad54b7e3 Made CleanSuperFlat log regenerating as INFO instead of WARN
#483
2019-01-22 14:17:43 +01:00
tastybento
468ad4e83d Fix cycle click nullables 2019-01-20 10:04:32 -08:00
Florian CUNY
6cdde8ca5f Forgot to update javadoc 2019-01-20 18:32:12 +01:00
Florian CUNY
85119a0b06 Fixed some code smells 2019-01-20 18:21:46 +01:00
Florian CUNY
bb188cb8ff Release 1.1 2019-01-20 10:10:29 +01:00
Florian CUNY
5a573bdbbe Fixed tests 2019-01-20 10:00:17 +01:00
Florian CUNY
819096eba9 Fixed usage of deprecated methods in CycleClicks and fixed a probable NPE 2019-01-20 09:47:15 +01:00
Florian CUNY
113335e60a Fixed code smells 2019-01-20 09:46:00 +01:00
Florian CUNY
5cbbbabcbf Fixed ejected players being stuck in SPECTATOR gamemode
If the player don't have an island, we try to teleport him to the "gamemode spawn".
If the "gamemode spawn" doesn't exist, we teleport it the hard way to the world's programmatic spawn and switch him back to the default gamemode.
That may not be the correct handling there, but at least it's working and it should prevent most of the cases.

Fixes #382.
2019-01-20 09:33:28 +01:00
Florian CUNY
dc61f06554 Added IslandSpawnCommand
#382
2019-01-20 09:22:46 +01:00
Florian CUNY
7525bc05e2 Added IslandsManager#spawnTeleport() and made #getSpawn(World) return an optional 2019-01-20 09:22:26 +01:00
Florian CUNY
7cbb0d6a87 Added PlayersManager#getPlayers()
#392
2019-01-20 09:01:38 +01:00
Florian CUNY
aad36c100f Added IslandsManager#getIslands()
#392
2019-01-20 08:57:19 +01:00
Florian CUNY
3f5736f555 Improved javadoc 2019-01-20 08:52:57 +01:00
tastybento
95b40841ba Adds all worlds to map in IWM
Fixes Multiverse world registration
2019-01-19 11:22:26 -08:00
tastybento
2df5d2a916 Added FlagAdapterTest and fixed deprecation 2019-01-19 08:30:42 -08:00
Florian CUNY
5ce8362fd5 Added addons metrics chart + added AddonDescription#isMetrics so that addons need to explicitely opt in
Deprecated AddonDescription.Builder#Builder(String, String) and AddonDescription.Builder#version(String).
Added AddonDescription.Builder#Builder(String, String, String).
Updated tests
2019-01-18 22:06:06 +01:00
Florian CUNY
0f5b5b5693 Fixed IslandResetCommand tests 2019-01-18 21:24:46 +01:00
Florian CUNY
a29bcd457e Updated FlagSerializers to use FlagsManager#getFlag(String) 2019-01-18 17:40:55 +01:00
Florian CUNY
c5f561c816 Reduced cognitive complexity in IslandResetCommand 2019-01-18 17:40:23 +01:00
Florian CUNY
755433e108 Added islands created count metrics
Made BStats class public
Added BentoBox#getMetrics()
2019-01-18 15:12:06 +01:00
Florian CUNY
7153378f5e Made LockAndBanListener extend FlagListener 2019-01-18 15:00:05 +01:00
Florian CUNY
a392dbc8b3 Fixed minor code smell in AddonClassLoader 2019-01-18 14:59:38 +01:00
Florian CUNY
dfe7fc27e5 Fixed code smell in AddonClassLoader 2019-01-18 12:32:32 +01:00
Florian CUNY
4d9a65151f Fixed code smells & added some more NonNull/Nullable annotations 2019-01-18 12:10:47 +01:00
Florian CUNY
d57f9544f3 Added NonNull/Nullable annotations to IslandsManager and IslandCache 2019-01-18 11:33:29 +01:00
Florian CUNY
d86b605057 Added Flags#POTION_THROWING
#468
2019-01-18 11:08:53 +01:00
Florian CUNY
3f9c917a2f Added IslandWorldManager#getWorlds()
#470
2019-01-17 20:49:54 +01:00
tastybento
ddb3fd63e6 Fix code smells. 2019-01-16 13:43:49 -08:00
Florian CUNY
9497066f44
Merge pull request #471 from BentoBoxWorld/locale-override
Adds ability for gamemodes to override locale references
2019-01-16 19:03:25 +01:00
Florian CUNY
eeda960d42
Use #getEnabledAddons() in AddonsManager#getGameModeAddons() 2019-01-16 18:53:11 +01:00
Florian CUNY
f381301b25
Added javadoc tags and NonNull/Nullable in GameModeAddon 2019-01-16 18:51:37 +01:00
tastybento
7d08a0db5a Enable main player and admin command declaration
See https://github.com/BentoBoxWorld/BentoBox/issues/448
2019-01-15 19:33:53 -08:00
tastybento
49d2365f85 Removed unneeded commented out code 2019-01-15 15:46:59 -08:00
tastybento
016c502b66 Added explicit test for addon locale override 2019-01-15 15:43:37 -08:00
tastybento
0636532bb4 Fixed code and tests.
Test failures in the User test were right - I had a bug in my code.
2019-01-15 15:23:17 -08:00
tastybento
e56928bef1 Adds ability for gamemodes to override locale references
The default BentoBox locale text is geared towards island games. When
writing the SkyGrid addon I am using the standard protection flags, but
I need to reference a "protection area" instead of an "island". This
enables me to do that by having the same reference but prefixed in the
locale file by the name of the addon (in lower case), as written in the
addon's addon.yml.
2019-01-15 13:23:36 -08:00
tastybento
3a9e969a86 Added JavaDoc comments 2019-01-15 11:47:10 -08:00
tastybento
2fa60d0e2d Added option to not paste a schem when creating a new island 2019-01-15 11:46:09 -08:00
tastybento
b48cc89f73 Added flag default setting for specific world. 2019-01-15 11:45:49 -08:00
tastybento
61481dee44 Added null protection against null world values 2019-01-15 08:33:14 -08:00
Florian CUNY
62d69b1022 Added NonNull/Nullable annotations to FlagListener, deprecated FlagListener#id(String), added FlagListener#getFlag(String) 2019-01-14 15:49:04 +01:00
Florian CUNY
80263d9751 Removed commented-out code in Clipboard 2019-01-14 15:48:16 +01:00
Florian CUNY
7fd6237280
Added comments to DeleteIslandChunks
I've also added a sonar suppresswarning to avoid the "issues" when calling regenerateChunk
2019-01-14 15:15:55 +01:00
tastybento
044c67ea28 Fixes bug with concurrent saving of files to the database.
Implemented a FIFO to queue async save requests for YAML and MySQL.

The assumption is that most database objects will be held in memory
because the ordering of object loading is not handled. That means that
it is theoretically possible to load something on the main thread before
it has been saved in the async thread if you are really quick. So, in
general, you should load objects once and ideally never load them again
unless there's a big span of time in between so the async can finish.
For most situations, this race condition should not occur, but I'm just
warning about it.

Saving on shutdown is not async and takes as long as it takes.

Also added some defensive code to disable the plugin if the database
connection info is wrong and print an error message instead of lots of
errors.

Changed CleanSuperFlatListener to use a LinkedList for its queue.
2019-01-13 22:17:36 -08:00
tastybento
5ed86ea271 Adds defensive code to avoid NPE with hiding clipboard 2019-01-13 15:57:45 -08:00
tastybento
fa8c0ec0c8 Implements async superflat cleaning
Should avoid crashes when there's a lot of cleaning to do.

https://github.com/BentoBoxWorld/BentoBox/issues/431
2019-01-13 15:53:12 -08:00
tastybento
ad3d044e88 Merge branch 'develop' of https://github.com/BentoBoxWorld/bentobox.git into develop 2019-01-13 14:19:31 -08:00
tastybento
96639792b8 Fixed random test failures.
Note: If using the User class in a test, you MUST set the mock plugin object using the User.setPlugin() method otherwise each test will use the wrong plugin object and verifications will not work.
2019-01-13 14:19:23 -08:00
Florian CUNY
8260728e9b Added NonNull/Nullable annotations to CommandsManager 2019-01-13 18:41:38 +01:00
Florian CUNY
a66bc90746 Fixed code smells 2019-01-13 18:27:14 +01:00
tastybento
5f990b9103 Fix for PhysicalInteractionListenerTest
Sometimes would randomly fail. This should fix it. (He says...)
2019-01-13 09:07:05 -08:00
tastybento
6425938107 Merge branch 'develop' of https://github.com/BentoBoxWorld/bentobox.git into develop 2019-01-13 08:53:06 -08:00
tastybento
8a1b487a58 Fix test cases for ban commands. 2019-01-13 08:52:57 -08:00
Florian CUNY
270e14167e Made IslandTeamInviteAcceptCommand require confirmation
Closes #464.
2019-01-13 17:35:32 +01:00
tastybento
d8eab7e397 Adds deleteID method to MariaDB 2019-01-13 08:14:08 -08:00
Florian CUNY
35883435e5 Merge branch 'develop' into IslandDelete 2019-01-13 10:33:50 +01:00
Florian CUNY
6f4d3aeaed Added some more javadoc 2019-01-13 10:28:49 +01:00
Florian CUNY
9cf63611e4 Added some NonNull/Nullable in database code 2019-01-13 10:27:36 +01:00
Florian CUNY
dc7d5b40f2 Renamed DeletedIslandDO to IslandDeletion 2019-01-13 10:21:06 +01:00
Florian CUNY
0f253c35ef Renamed IslandDeleteManager to IslandDeletionManager 2019-01-13 10:09:35 +01:00