Commit Graph

1092 Commits

Author SHA1 Message Date
Florian CUNY
8f0d40e0a4 Fixed minor code smells 2018-12-09 14:57:38 +01:00
Florian CUNY
1e679fdd85 Added defensive code in User#getPermissionValue() to avoid similar bugs 2018-12-09 14:53:06 +01:00
Florian CUNY
3ef784b14b Fixed max team size permission not working
Fixes #114.
2018-12-09 14:52:38 +01:00
Florian CUNY
76af2335e2 Finished max-islands (from WorldSettings) 2018-12-09 14:19:53 +01:00
Florian CUNY
260410a927 Added IslandsManager#getIslandCount(World) 2018-12-09 14:19:26 +01:00
Florian CUNY
16d1860f5f Removed forgotten DEBUG in BucketListener 2018-12-09 14:19:04 +01:00
Florian CUNY
b20ef00853 Updated locales to replace all references of "leader" to "owner"
The island owner is no longer both known as "owner" or "team leader" depending on the methods you're using : it's "owner" everywhere now. Period. 🎉
2018-12-09 13:41:09 +01:00
Florian CUNY
607db5b07f Removed some 'throws IOException' in IslandResetCommandTest 2018-12-09 13:20:49 +01:00
Florian CUNY
ae23ad913a Renamed general.errors.not-leader to general.errors.not-owner 2018-12-09 13:18:24 +01:00
Florian CUNY
a04a0cb3d0 Replace code referencing "teamleader" to "owner"
This will improve the consistency of the code, as well as the Javadocs.

Locales (and some other files) still need to be updated to remove these references to team leader.
2018-12-09 11:28:31 +01:00
Florian CUNY
f50f7dd48d Removed en-GB and fr-FR locales as they were outdated 2018-12-09 11:10:58 +01:00
Florian CUNY
f96b395538 BentoBoxLocale: made the UNKNOWN field static 2018-12-09 10:59:06 +01:00
Florian CUNY
ae162153a4 Removed deprecated code and classes 2018-12-09 10:55:19 +01:00
tastybento
ff7a43feea Fix code smell
Check for add-on existence before trying to adjust island range size.
2018-12-08 19:38:29 -08:00
tastybento
33c374c52d Fixed NPE on portal use when there is no Nether world
https://github.com/BentoBoxWorld/bentobox/issues/365
2018-12-08 19:24:31 -08:00
tastybento
68ec5e48cb Added helpful message for API authors
Helps debug issue for missing database object default constructors.
2018-12-01 21:25:58 -08:00
tastybento
e23818f73d Enables mixed case enums to still be read from yaml config files
https://github.com/BentoBoxWorld/addon-challenges/issues/33
2018-12-01 20:36:14 -08:00
tastybento
76483f7e39 Revert "Minor changes to deserialization in Yaml handler"
This reverts commit bce906d98e.
2018-12-01 20:28:51 -08:00
tastybento
3edfd62a6b Fixes class not found error.
https://github.com/BentoBoxWorld/bentobox/issues/360
2018-12-01 19:53:50 -08:00
tastybento
693c6ab17e Completes turtle protection update.
https://github.com/BentoBoxWorld/bentobox/issues/348
2018-12-01 10:51:20 -08:00
Florian CUNY
bce906d98e Minor changes to deserialization in Yaml handler 2018-12-01 15:39:41 +01:00
Florian CUNY
6977a31830 Slight optimization in YamlDatabaseHandler 2018-12-01 11:54:03 +01:00
Florian CUNY
a735bfdf5c Fixed some redundant Flag-related calls 2018-12-01 11:45:33 +01:00
Florian CUNY
f828f23c2f Fixed some code smells 2018-12-01 11:14:12 +01:00
Florian CUNY
7aec45dc97 MySQLDatabaseConnector: removed obsolete Class.forName() 2018-12-01 10:55:19 +01:00
Florian CUNY
8fc6267082
Merge pull request #356 from CNAmira/zhcn
Make the zh-CN locale updated again.
2018-12-01 09:27:08 +01:00
tastybento
46bb958a6d Added protection against turtle egg crushing.
Added test class for physical interactions.

EWR -> DEN
2018-11-30 18:49:58 -05:00
tastybento
c88ea31237 Fixes tab complete error with no island.
EWR ->  DEN
2018-11-30 17:39:24 -05:00
tastybento
0bd800ac09 Added test class for BentoBoxLocale
United flight LAS -> EWR almost in New York
2018-11-29 13:05:32 -08:00
Li Keqing
e034fd0b6d These lines should be removes. 2018-11-26 15:50:56 +08:00
Li Keqing
e11e3defb6 Make the zh-CN locale updated again. 2018-11-26 15:47:45 +08:00
tastybento
d9da30e866 Adds a generic event to expose addon info via K,V pairs.
https://github.com/BentoBoxWorld/bentobox/issues/352#issuecomment-441471105

See addon-event branch for Level addon.
2018-11-25 22:31:15 -08:00
tastybento
5f57417ccc Change log to logError, as it would be an exception. 2018-11-23 08:22:21 -08:00
tastybento
ff2983629d Fixes protection for scooping tropical fish.
https://github.com/BentoBoxWorld/bentobox/issues/349

Also added pagination to protection flags and localized alphabetical
sorting of the flags.

Also added defensive code should a flag enum be removed but it is still
in the island database. In this case it will just be ignored and at the
next database object save it will disappear.
2018-11-20 16:35:03 -08:00
tastybento
98264f03d0 Fixed armor stand moving by rods.
https://github.com/BentoBoxWorld/bentobox/issues/350

Added test cases, but more to add.
2018-11-20 14:29:56 -08:00
tastybento
ffd1af5867 Removes coop on logout of cooped player or server shutdown.
https://github.com/BentoBoxWorld/bentobox/issues/335
2018-11-20 12:52:12 -08:00
Florian CUNY
49f9784b61 Moved addon exception to exceptions package and deprecated old ones 2018-11-19 09:02:39 +01:00
Florian CUNY
a5cb49553a Removed de-DE and zh-CN locales: they are outdated
They basically come from a very, very, very early version (from the time where BentoBox was still known as BSkyBlock).

I removed them, because they're basically of no use.
2018-11-19 08:09:43 +01:00
Florian CUNY
64c9d549d8 Replaced %bsb_plugin_name% by BentoBox
This "placeholder" actually never existed, it just got put in the locale files in anticipation of the placeholders implementation
2018-11-19 08:07:53 +01:00
tastybento
e26d801cf2 Removed deprecated method and replaced with getOwner(). 2018-11-18 19:03:51 -08:00
tastybento
de45872c07 Creates generic IslandEvent that has the reason as an enum
Adds JavaDocs on the event reasons and when they are called.
Completed island Lock event. As locking is a rank and not a binary the
UNLOCK event is not really useful and can probably be removed.

https://github.com/BentoBoxWorld/bentobox/issues/346
2018-11-18 19:03:27 -08:00
Florian CUNY
0322ffe0ce Deprecated #getTeamLeader(...) methods
These have been deprecated in CompositeCommand, IslandCache and IslandsManager and they got replaced by #getOwner(...).
2018-11-18 11:12:54 +01:00
Florian CUNY
f0218d9f2a Added LocalesManager#get(String)
This is something I did in this commit 926473cd07 and I'm putting it back in develop branch
2018-11-17 11:48:08 +01:00
tastybento
d9528c6c9b Fix for PVP flame damage.
https://github.com/BentoBoxWorld/bentobox/issues/336
2018-11-11 17:39:05 -08:00
Florian CUNY
343ee51647 Preventively save the player to the database when creating a new island
Related to 68873e033f
2018-11-11 10:46:43 +01:00
Florian CUNY
c3ca82e12a Fixed the ENDER_CHEST flag not using the Notifier 2018-11-11 10:37:08 +01:00
Florian CUNY
23af6e7012 Few fixes to COARSE_DIRT_TILLING flag
#337
2018-11-11 10:22:18 +01:00
tastybento
2ca00969e7 Fills in protections.
Shulker box done. Pots done. Pufferfish are considered Monsters, not
animals because they can hurt visitors. Other fish protected. Bonemeal
prevented (place blocks). Name tags done.

https://github.com/BentoBoxWorld/bentobox/issues/336
2018-11-10 21:03:04 -08:00
tastybento
c2e9490bb0 Added min/max options for cycle click and restricted lock flag.
https://github.com/BentoBoxWorld/bentobox/issues/332
2018-11-10 19:28:46 -08:00
tastybento
c438f4a45d Fixes teleporting back from standard nether to island. 2018-11-10 11:57:46 -08:00
tastybento
37aa2e06f9 Protection checks not correctly taking into account std Nether and End
https://github.com/BentoBoxWorld/bentobox/issues/331

The isIslandNether(), isNether(), etc. methods need to check the
environment of the world.
2018-11-10 11:45:18 -08:00
tastybento
3b36ab8814 Fixes spaming in console when teleporting to non-BB worlds.
https://github.com/BentoBoxWorld/bentobox/issues/310

Also added comment to @return value in Addon API
2018-11-10 10:22:05 -08:00
tastybento
68873e033f Added defensive code to handle island adding to grid.
When an island cannot be added to the grid, it should show some helpful
console error.

Related to https://github.com/BentoBoxWorld/bentobox/issues/326
2018-11-10 10:04:37 -08:00
Florian CUNY
161975adde Fixed Multiverse registration throwing NPE on startup 2018-11-10 18:41:31 +01:00
Florian CUNY
6df262a14b Added COARSE_DIRT_TILLING World Setting flag 2018-11-10 14:31:36 +01:00
Florian CUNY
f8d1626ba5 Added Multiverse-Core Hook 2018-11-10 11:04:48 +01:00
Florian CUNY
3f62e2f367 Slight optimization in PlaceholdersManager 2018-11-10 11:04:10 +01:00
Florian CUNY
571e734aa9 Removed unused imports in PlaceholderAPIHook 2018-11-10 10:36:52 +01:00
Florian CUNY
d507efbe77 Fixed obsidian scooping replacing whole bucket stack with lava buckets
Fixes #338.
2018-11-10 10:04:10 +01:00
Florian CUNY
10270846b2 Improved BentoBox#isLoaded() javadoc 2018-11-10 10:03:15 +01:00
tastybento
74950b7a5d Fix for pasting double chests in certain orientations.
https://github.com/BentoBoxWorld/bentobox/issues/326

Error was that double chests get pasted in two single blocks but the
full inventory is stored for each block. This code just ignores any
inventory slots greater than what the chest can handle.
2018-11-04 09:16:55 -08:00
Florian CUNY
09905ab018 Renamed AbstractFlagListener to FlagListener 2018-11-04 16:40:20 +01:00
Florian CUNY
16329d9372 Fixed NoClassDefFoundError when loading PlaceholderAPI hook
#322
2018-11-04 11:25:14 +01:00
tastybento
c7f253fddd Add check for PlaceholderAPI before hooking into it.
https://github.com/BentoBoxWorld/bentobox/issues/322
2018-11-03 18:51:01 -07:00
Florian CUNY
3e284b90eb Fixed protection listeners not being registered to Bukkit
Basically removed the "plugin loaded" limitation.
2018-11-03 11:31:08 +01:00
Florian CUNY
6108277b3c Removed unused AbstractFlagListener#getWhy() 2018-11-03 11:22:49 +01:00
Florian CUNY
dcd8a4ea28 Added some javadoc in PlaceholdersManager 2018-11-02 15:44:36 +01:00
Florian CUNY
1571d8d033 Added BentoBox#getPlaceholdersManager() 2018-11-02 15:44:25 +01:00
Florian CUNY
7ef78d6ab1 Allow Hook#getFailureCause() to return null 2018-11-02 15:37:57 +01:00
Florian CUNY
856dcb8b3d Added PlaceholderAPI support 🎉 2018-11-02 15:37:24 +01:00
Florian CUNY
480d3f78d9 Added world condition in IslandsManager#userIsOnIsland
The world parameter was previously unused.
I also updated javadocs ; as well as the tests. Everything seems to be working fine.
2018-11-01 16:34:19 +01:00
Florian CUNY
c3d57acc11 Added convenience methods to VaultHook
VaultHook#getBalance(User) : double ;
VaultHook#withdraw(User, double) : EconomyResponse ;
VaultHook#deposit(User, double) : EconomyResponse
VaultHook#has(User, double) : boolean.

And made use of these nice new methods where it was needed.
2018-10-31 15:35:40 +01:00
tastybento
a6357ed157 Uses default enum values if invalid one used in a config. 2018-10-31 00:07:41 -07:00
tastybento
935704d7dd Added safety checking to config.yml
If there is an enum setting, e.g. FLATFILE instead of YAML in a config,
the config will not load and the resulting object will be null. This
adds a check to the main config.yml load and disables the plugin if
there is a problem.
2018-10-30 15:16:13 -07:00
tastybento
49fa079f13 WIP fix for comment version number 2018-10-30 14:30:07 -07:00
tastybento
d9783c8d73 Fix for issue where team members are sometimes not recognized.
https://github.com/BentoBoxWorld/bentobox/issues/318
2018-10-30 13:21:27 -07:00
Florian CUNY
0346ea8a23 Added resetting money when joining/leaving island (untested) 2018-10-30 18:22:26 +01:00
Florian CUNY
b1320906b0 Update default config.yml 2018-10-30 17:59:11 +01:00
Florian CUNY
538a34b0bd Added support for the "experimental" tag from ConfigEntry
Watch out ! "/!\ This feature is experimental and might not work as expected or might not work at all."
2018-10-30 17:58:50 +01:00
Florian CUNY
86b1d09653 Settings: renamed ""island.customranks" to "island.custom-ranks" and made it experimental 2018-10-30 17:56:28 +01:00
Florian CUNY
0c75e556b2 Implemented Vault support 🎉 2018-10-30 15:35:27 +01:00
Florian CUNY
c236e1a3bc Added Hook#getFailureCause() and fixed NPE in HooksManager 2018-10-30 15:33:16 +01:00
Florian CUNY
8fe4b16805 Finished Hooks API 2018-10-30 14:53:19 +01:00
Florian CUNY
66bbed48c6 Removed AddonInterface (useless) and moved methods to Addon 2018-10-30 09:27:59 +01:00
Florian CUNY
b9a86fd899 Made Hook an abstract class rather than an interface 2018-10-30 09:24:36 +01:00
Florian CUNY
493a525775 Fixed JSONDatabaseHandler to avoid memory leak
Thanks Sonarcloud ^^
2018-10-29 21:39:48 +01:00
Florian CUNY
2dd8fcb13c Avoid catching Error (dangerous behaviour) 2018-10-29 21:29:43 +01:00
Florian CUNY
5cdfe690f4 Implemented basic Hooks API
WIP
2018-10-29 21:29:07 +01:00
Florian CUNY
5b97d16a2d Made each DatabaseConnectors's constructors package-private 2018-10-29 20:55:18 +01:00
Florian CUNY
bf506a49b2 Fixed some code smells 2018-10-28 17:15:13 +01:00
Florian CUNY
37cb96f586 Fixed [label] text variable being replaced by "invite" in the invite notification
Fixes #315
2018-10-28 17:03:42 +01:00
Florian CUNY
7b2478cf33 Updated databaseType config comment 2018-10-28 16:51:51 +01:00
Florian CUNY
e8ba1805a5 Renamed FLATFILE databasetype to YAML 2018-10-28 16:51:38 +01:00
Florian CUNY
db5ac2d0e5 Added JSON (flatfile) database type 2018-10-28 16:34:43 +01:00
Florian CUNY
10000b71f6 Little optimization for AbstractJSONDatabaseHandler#getGson() 2018-10-28 16:02:54 +01:00
Florian CUNY
4f5009fe0e Moved DATABASE_FOLDER_NAME in AbstractDatabaseHandler 2018-10-28 16:02:23 +01:00
Florian CUNY
04e4f9a4aa Moved TypeAdapters and AbstractJSONDatabaseHandler in database/json package 2018-10-28 15:38:57 +01:00
Florian CUNY
dcba17f569 Made all DatabaseHandlers' constructors package-private 2018-10-28 15:34:02 +01:00
Florian CUNY
77258b2770 Added AbstractJSONDatabaseHandler<T> 2018-10-28 15:28:43 +01:00
Florian CUNY
f0c4cb710c Removed DatabaseConnector#loadYamlFile and DatabaseConnector#saveYamlFile
It was only used by FlatFileDatabaseHandler and therefore was useless for other DatabaseHandlers
2018-10-28 15:01:17 +01:00