Commit Graph

1224 Commits

Author SHA1 Message Date
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
Florian CUNY
0dc9de9c37 Fixed broken file renaming
Well... Hopefully it'll fix it
2018-10-28 14:33:36 +01:00
Florian CUNY
49c7d6b646 Renamed MONGO -> MONGODB in DatabaseType 2018-10-28 14:15:29 +01:00
Florian CUNY
2f7b8a6764 Simplified AddonsManager#sortAddons() 2018-10-28 14:09:35 +01:00
Florian CUNY
12d1909a22 Bunch of fixes to the AddonsManager
Renamed loader list to loaders.
Removed #loadAddonsFromFile().
Fixed the error handling when enabling an addon.
Fixed #disableAddons() disabling not-enabled addons.
Renamed #setLoader() into #setLoaders()
2018-10-28 13:42:13 +01:00
Florian CUNY
b87416d030 Removed YmlConfiguration and YmlCommentParser as they weren't used 2018-10-28 11:43:55 +01:00
Florian CUNY
b4e3079cf9 Removed unused imports in Util 2018-10-28 11:36:47 +01:00
Florian CUNY
3e34b4d11d Added a bit more logging in AddonsManager 2018-10-28 11:36:36 +01:00
Florian CUNY
6dd02a15b7 Made use of Addon.State
Fixes #281
Replaced Addon#setEnabled(boolean) with Addon#setState(Addon.State).

Now, if an exception gets thrown while enabling an addon, it'll automatically stop enabling it and set its state to "INCOMPATIBLE" or "ERROR". These values could later be get to be displayed in the version command.
2018-10-28 11:12:00 +01:00
Florian CUNY
75e5d29934 Replaced IslandTeamSetownerCommand label to "setowner" instead of "setleader" 2018-10-28 10:28:23 +01:00
Florian CUNY
89700c82cc Renamed TeamEvent.TeamSetOwnerEvent to TeamEvent.TeamSetownerEvent 2018-10-28 10:27:22 +01:00
Florian CUNY
14a794a5b1 Lowercased some command class names to better fit how they are actually working in game 2018-10-28 10:27:01 +01:00
Florian CUNY
14a3ed6792 Renamed TeamEvent.TeamMakeLeaderEvent to TeamEvent.TeamSetOwnerEvent 2018-10-28 10:19:55 +01:00
Florian CUNY
13c483e5eb Renamed AdminTeamMakeLeaderCommand to AdminTeamSetOwnerCommand 2018-10-28 10:19:14 +01:00
Florian CUNY
20b6c4a7cb Fixed tests and commands relying on previously broken API
Mistakenly pushed the previous changes on develop before committing these fixes.
2018-10-27 16:52:07 +02:00
Florian CUNY
a071f97538 Fixed island protection range not being updated after a login
Fixes #256.
2018-10-27 16:47:55 +02:00
Florian CUNY
f27b8aa003 More Javadoc fixes in IslandsManager & use the new Addon#getPermissionPrefix 2018-10-27 16:43:17 +02:00
Florian CUNY
b6230f2bdf ⚠️ removed CompositeCommand#setPermissionPrefix(String)
The permissionPrefix is now inherited from the addon's.
2018-10-27 16:42:29 +02:00
Florian CUNY
d9a15ceedd Added Addon#getPermissionPrefix 2018-10-27 16:41:24 +02:00
Florian CUNY
b286bb3296 ⚠️ Various changes to IslandsManager
Fixed some Javadoc.
Renamed #getCount() to #getIslandCount().
Renamed #makeLeader() methods to #setOwner().
Removed the permPrefix parameter from #setOwner() methods.
2018-10-27 16:32:06 +02:00
Florian CUNY
8b821e9f47 Fixed paramters -> parameters in en-US locale 2018-10-27 15:43:36 +02:00
Florian CUNY
3df4d4be30 Updated default config.yml 2018-10-25 10:30:27 +02:00
Florian CUNY
ec2793e6f8 Made IslandSethomeCommand a ConfirmableCommand
#237

It adds a bunch of WorldSettings and updates the en-US locale as well!
2018-10-25 09:43:36 +02:00
Florian CUNY
09ce51259d Fixed a mistake in IWM javadoc 2018-10-25 09:42:50 +02:00
Florian CUNY
5391544e9c Fixed "island.maxhomes" permission not being appended with the addon's permission prefix
This may help for #256.
2018-10-20 11:45:41 +02:00
Florian CUNY
95bfab916e Replaced Util#getPermValue(Player, String, int) with User#getPermissionValue(String, int) 2018-10-20 11:32:42 +02:00
Florian CUNY
3102195156 Fixed a bunch of code smells (again) 2018-10-20 10:59:19 +02:00
Florian CUNY
85ea4af1ad Readded User#spawnParticle(Particle, Particle.DustOptions, int, int, int) 2018-10-20 10:37:31 +02:00
Florian CUNY
7248fb3e14 Fixed some code smells 2018-10-14 10:09:04 +02:00
Florian CUNY
cae214f856 Added schem clipboard selection display using particles 2018-10-14 09:51:49 +02:00
Florian CUNY
3d763bddad Made User#spawnParticle use double instead of int 2018-10-14 09:50:15 +02:00
Florian CUNY
98487512f9 Fixed typo in AdminRangeDisplayCommand 2018-10-14 09:49:45 +02:00
Florian CUNY
42ffe34796
Rewrote schem main command parameters
#305
2018-10-14 08:12:30 +02:00
Florian CUNY
711db68448
Merge pull request #304 from BentoBoxWorld/why
Why admin command
2018-10-14 07:35:14 +02:00
tastybento
ebeaa650d9 Adds the addon name to the world list for version.
https://github.com/BentoBoxWorld/bentobox/issues/285
2018-10-14 12:22:27 +09:00
tastybento
8cc2d1678a Added English locale text for schem commands.
https://github.com/BentoBoxWorld/bentobox/issues/305
2018-10-14 11:46:30 +09:00
tastybento
7bd86c30b5 Fixed bugs and tests. 2018-10-12 16:42:15 -07:00
tastybento
e89cdb8d6a WIP: Added admin why command. 2018-10-12 16:19:21 -07:00
tastybento
0020cbf849 WIP: Tracks why flag actions allowed or not
This idea is to add a "why" command for admins that will reveal why a
player can do something. I want admins to be able to understand this
better so that they can give us better bug reports or fix it themselves.

We have good error messages for players for when they can do something
via the Island Protected text, but it would be useful to have the
opposite too, i.e., an explanation for why a player was able to break
blocks.

The approach here is that an admin would do "/bsbadmin why <playername>"
to turn on tracking. Then when the player did something, it would be
reported in the console.

This commit just has enums set, but I'm going to work on a notification
system next.
2018-10-12 08:14:08 -07:00
tastybento
14b7a3aa82 Fixed teleporting to an island by using a member's name
https://github.com/BentoBoxWorld/bentobox/issues/300
2018-10-07 18:15:18 -07:00
Florian CUNY
a6d25d68a9
Only count death if it is enabled for this world
#164
2018-10-07 10:35:15 +02:00
Florian CUNY
87c54aaf08
Added #isDeathsCounted() in WorldSettings
#164
2018-10-07 10:24:22 +02:00
tastybento
7515b39583 Shows plugin version in version command.
https://github.com/BentoBoxWorld/bentobox/issues/285
2018-10-05 17:57:11 -07:00
tastybento
b83e5d4a56 Fixed tests for Invincible visitors. 2018-10-05 17:34:21 -07:00
tastybento
5039980693 Fix to avoid null colors
https://github.com/BentoBoxWorld/bentobox/issues/293
2018-10-05 17:19:51 -07:00
tastybento
a49739d45a Fix for dying in the void in non-island location causes spectator mode.
https://github.com/BentoBoxWorld/bentobox/issues/286
2018-10-05 17:18:18 -07:00
tastybento
0f5ab8ab7d Added inWorld(World.class) to IWM
This had a ripple affect through the tests because now there are two
inWorld() methods - one for Location and one for World.
2018-09-29 09:01:20 -07:00
Florian CUNY
f110aedc69 Few fixes to AddonClassLoader
Related to #280

Added handling for NoClassDefFoundError
"Grammatically" fixed a few exception messages
2018-09-29 15:01:45 +02:00
tastybento
2df049f70d Implements protection for standard Nether and End
This was missing so it needed to be added.

Related to: https://github.com/BentoBoxWorld/addon-bskyblock/issues/9
2018-09-25 22:20:30 -07:00
tastybento
1f1b446137 Fixed standard Nether portal use 2018-09-25 21:20:09 -07:00
tastybento
86d40ca126 Fixed issue where standard Nether is protected.
Also applies to standard End.

https://github.com/BentoBoxWorld/addon-bskyblock/issues/9
2018-09-25 20:45:43 -07:00
tastybento
0f371f4800 Removed unneeded imports and code. 2018-09-25 20:05:23 -07:00
Florian CUNY
3d924c9ffc
Merge pull request #260 from BentoBoxWorld/schem-command-improvements
Schem command improvements
2018-09-23 22:58:10 +02:00
Florian CUNY
58de346dc9 Various changes to SafeSpotTeleport
* Replaced SafeTeleportBuilder by SafeSpotTeleport.Builder
* Added "overrideGamemode" parameter
* AdminTeleportCommand no longer overrides the player's gamemode when teleporting (fixes #262 )
2018-09-15 12:38:51 +02:00
Florian CUNY
5db4866cb6 Moved HeadGetter and HeadRequester to util/heads package 2018-09-15 12:17:58 +02:00
Florian CUNY
1f93a7f085 Moved YmlCommentParser and YmlConfiguration to util/yaml package 2018-09-15 12:17:27 +02:00
Florian CUNY
edd64d2f30 Moved AddonState in Addon.State 2018-09-15 12:11:23 +02:00
Florian CUNY
2eb46b0c2c Fixed some code smells 2018-09-15 11:37:56 +02:00
Florian CUNY
102ad864e1 Simplified condition in IslandCreateEvent 2018-09-15 10:44:04 +02:00
Florian CUNY
02be048192 Removed "general.errors.unknown-player-name" : added a "[name]" textvariable in "general.errors.unknown-player"
Closes #263
2018-09-15 10:39:16 +02:00
Florian CUNY
918f6de782 Fixed clicking outside of inventory closing it
I edited it so it only happens on BentoBox's panels. Having it closing "every" inventory was causing issues with vanilla inventories (crafting table, etc...)

I could not fix the related tests though : PanelListenerManagerTest#testOnInventoryClickOutside (PanelListenerManagerTest.java:128) is failing every time.
2018-09-08 17:12:15 +02:00
Florian CUNY
cf11c1b9c1 Use ConfirmableCommand#askConfirmation(User, String, Runnable) in AdminSchemSaveCommand 2018-09-03 15:55:00 +02:00
Florian CUNY
a7d001d578 Added User#spawnParticle(Particle, Particle.DustOptions, int, int, int) 2018-09-03 15:53:16 +02:00
Florian CUNY
1c24619450 Merge remote-tracking branch 'origin/develop' into schem-command-improvements 2018-09-03 15:42:57 +02:00
Florian CUNY
cc6aaa1fd1
Merge pull request #261 from BentoBoxWorld/pvp-notify
Use User#notify() instead of #sendMessage() in PVPListener
2018-09-03 10:16:29 +02:00
tastybento
505624b45c Fixes tests. Also fixes a bug.
https://github.com/BentoBoxWorld/bentobox/issues/258
2018-09-02 20:45:31 -07:00
Florian CUNY
c039b9e13c
Merge pull request #259 from BentoBoxWorld/fix-unknown
Fixed players considered "unknown" until they create an island
2018-09-02 21:39:29 +02:00
Florian CUNY
ee9c7937ea Use User#notify() instead of #sendMessage() in PVPListener 2018-09-02 17:25:15 +02:00
Florian CUNY
fbf88483f0 Added trust and coop cooldown in config instead of using the invite cooldown for /is team coop and /is team trust 2018-09-02 15:06:46 +02:00
Florian CUNY
e5cc56b919 Added #askConfirmation(User, String, Runnable) in ConfirmableCommand
This can allow the command to give a bit more context about the confirmation request.
ConfirmableCommand#askConfirmation(User, Runnable) can still be used.
2018-09-02 11:55:26 +02:00
Florian CUNY
e380860b23 Splited AdminSchemCommand in various sub commands
Locale needs to be updated.
2018-09-02 11:13:58 +02:00
Florian CUNY
ffe1363c48 Fixed typo in SchemsManager 2018-09-02 11:10:20 +02:00
Florian CUNY
97222808ac Fixed players considered "unknown" until they create an island 2018-09-02 08:50:40 +02:00
Florian CUNY
5ad363ca11 Fixed weird header display in Settings Panel 2018-09-01 17:38:54 +02:00
Florian CUNY
d05582fd79 Fixed Panels size that could be higher than 54 2018-09-01 17:38:36 +02:00
Florian CUNY
8e7843de82 Made Notifier.Notification private
External plugins/addons shouldn't have had access to this inner class.
2018-09-01 14:30:25 +02:00
Florian CUNY
678e699f1d Fixed Enter/Exit messages spam introduced in 343a789d95
Fixes #253
2018-09-01 14:29:45 +02:00
Florian CUNY
279dc6fbd8 Fixed weird stained glass pane display in SettingsPanel 2018-08-31 21:09:01 +02:00
Florian CUNY
ea1fea66ff Fixed Invincible Visitors still using "general.errors.you-need". 2018-08-31 21:06:18 +02:00
Florian CUNY
63e004415b Fixed Flag.Type.WORLD_SETTING to use GRASS_BLOCK instead of GRASS 2018-08-31 21:04:24 +02:00
Florian CUNY
343a789d95 Fixed Enter/Exit messages not being sent when the player teleports to the island 2018-08-31 20:58:47 +02:00
Florian CUNY
4b9e8f1e0e Fixed NPE when an invite gets rejected 2018-08-31 20:46:53 +02:00
Florian CUNY
07547472b8
Fixed color general.errors.no-permission in en-US 2018-08-31 20:17:41 +02:00
Florian CUNY
b2c1102b9f
Merge pull request #250 from BentoBoxWorld/java10
Java 10 Compatibility
2018-08-31 20:01:46 +02:00
tastybento
4c3ddc8079 Put back in JavaDoc and Shade Plugin 2018-08-31 07:51:31 -07:00
tastybento
10db4230b0 Fixes compatibility issues with Java 10
Use non-deprecated methods still compatible with Java 8. These mostly
just propagate Exceptions up when instantiating constructors when using
the database functions.

Reverted POM back to Java 8 so that compiled code will work on Java 8 as
well.
2018-08-31 07:44:47 -07:00
Florian CUNY
24d783be24 Cleanup in Settings
Removed purge-related settings.
Renamed all database-related settings and methods to replace `db` with `database`.
Moved confirmationTime to `island.confirmation.time`.
Renamed inviteWait, banWait and resetWait to inviteCooldown, banCooldown, resetCooldown. Also moved them under `island.cooldown.x`.
Removed kickWait and leaveWait, using confirmationTime instead.
Moved `island.require-confirmation.<command>` to `island.confirmation.commands.<command>`.
Updated tests.
Updated getters and setters using code automation. Sadly, this wiped out all the Javadoc.
2018-08-31 11:06:37 +02:00
tastybento
95f8c81963 Switched to Java 10
Maven shade plugin and javadoc plugins have issues with Java 10 so those
are currently commented out.

BStats cannot work because shade plugin is not shading.

Shade plugin is fixed in snapshots, but not in Maven Central yet.
2018-08-30 21:44:56 -07:00
tastybento
4203ce85b4 Merge branch 'develop' of https://github.com/BentoBoxWorld/bentobox.git into develop 2018-08-31 10:49:56 +09:00
tastybento
4eadd259f7 Added PanelBuilderTest and fixed bug in PanelBuilder
nextSlot() was not giving next slot after an assigned slot.

11600ft and descending into SFO. 14 miles out.
2018-08-31 07:28:02 +09:00
Florian CUNY
1dfb46a2cd Changed island range particles to be gray redstone instead of TOWN_AURA 2018-08-30 23:54:44 +02:00
Florian CUNY
9b9031a009 Load Metrics only if it is set to true in config 2018-08-30 23:34:13 +02:00
Florian CUNY
3c00247eda Removed "general.check-updates" from config. Unused. 2018-08-30 23:33:52 +02:00
Florian CUNY
1e791f8497 Fix last login timestamp in Island#showInfo() being 0 due to how OfflinePlayer#getLastPlayed() works. 2018-08-30 23:28:50 +02:00
tastybento
0da7c0bb3c Fixed bug where panel size was incorrectly set.
Slot position is not the same as size. Size is slot + 1.
2018-08-31 05:45:18 +09:00
tastybento
06f7b754b7 Removed enderman death drop flag. 1.13 drops blocks anyway. 2018-08-25 12:27:21 -07:00
tastybento
cdbceeb241 Fixed ranks manager removeRank code 2018-08-25 12:26:34 -07:00
tastybento
ff909cf8a6 addRank or removeRank could remove trust, coop and sub_owner ranks 2018-08-25 11:30:26 -07:00
tastybento
b9c2756094 Added protection from falling damage when new island made
Also sets player's velocity in all directions to zero.
2018-08-25 11:29:24 -07:00
tastybento
3a5908ec98 Added protection against breaking to items that are protected from use
https://github.com/BentoBoxWorld/addon-bskyblock/issues/5
2018-08-25 11:28:54 -07:00
tastybento
633007630d Fixed issue where settings.* permission was not working 2018-08-25 11:28:06 -07:00
tastybento
474de77ce2 Added death listener.
Counts player deaths in any game world.

Fixes https://github.com/BentoBoxWorld/addon-level/issues/18
2018-08-22 23:46:24 -04:00
tastybento
9b1c7f10ab Added Clipboard test class and improved Clipboard robustness
Flight # 2533
RDU to PHX
Above Memphis, TN
Altitude
38,006 ft
Ground speed
464 mph
2018-08-22 18:40:44 -04:00
tastybento
8364da6e65 Fixed pasting of entities in schems. 2018-08-21 11:38:17 -07:00
tastybento
4ca73385ca Fix for commands stopping working after logout
https://github.com/BentoBoxWorld/bentobox/issues/239

The player must be removed from the User cache on logout because the
player object becomes stale and if the player logs in again, they will
still have the old player object.
2018-08-19 11:46:36 -07:00
tastybento
a82e8138c3 Fix for 1st time file saving. 2018-08-18 14:27:50 -07:00
tastybento
f844b9bb40 Fixed AdminDeleteCommand. 2018-08-18 10:39:07 -07:00
tastybento
9847235df1 Fixes MySQL exists and delete functions. 2018-08-18 09:53:21 -07:00
tastybento
46c1ff4761 Added support for softdepend command in addon.yml.
Addons can now be sure to be loaded after others that may or may not
exist.
2018-08-17 21:58:11 -07:00
tastybento
9adabc4fb2 Added support for depend in addon.yml
This enables add-ons that must load after another addon to mark it in
the depend line of addon.yml
2018-08-17 21:09:19 -07:00
tastybento
f152d218fc Removed entity and tile limit settings from world settings
The functionality of limiting certain entities or tile entities can be
provided by an addon instead.
2018-08-17 17:42:57 -07:00
tastybento
3ebbcd87e8 Reworked POM to fix shading in of BStats. 2018-08-16 19:00:01 -07:00
tastybento
e959a04091 Merge branch 'develop' of https://github.com/BentoBoxWorld/bentobox.git into develop 2018-08-16 15:53:02 -07:00
tastybento
b80928184e Fixed code smells. 2018-08-16 15:52:23 -07:00
Florian CUNY
7b3b1303b4 Removed the current Placeholders API (it is unused) 2018-08-16 21:35:10 +02:00
tastybento
471cb30a87 Removed unused imports. 2018-08-16 11:06:18 -07:00
tastybento
5740ad7e0c
Merge pull request #238 from BentoBoxWorld/enter-exit-listener
Updated EnterExitListener to fire IslandEnterEvent and IslandExitEvent
2018-08-16 11:03:55 -07:00
tastybento
ec005569a1 Fixed tests for EnterExitListenerTest 2018-08-16 10:38:35 -07:00
Florian CUNY
4c319dd0e0 Shaded bStats' Metrics
Also removed custom metrics for the moment.
This will later be used to allow addons to register their own metrics :)
2018-08-16 13:49:44 +02:00
Florian CUNY
bd2cc1b63e Updated EnterExitListener to fire IslandEnterEvent and IslandExitEvent 2018-08-16 11:15:36 +02:00
Florian CUNY
d04b286055 Removed obsolete from locales 2018-08-16 10:49:57 +02:00
tastybento
5a38c0b5e0 Fixes bugs with copy file method. 2018-08-16 00:15:14 -07:00
tastybento
e12eb85bce Added Japanese locale and fixed US locale typos 2018-08-15 23:50:01 -07:00
tastybento
3d069910f9 Added colors to english locale 2018-08-15 21:08:50 -07:00
tastybento
382b47abbf Adjusted event priorities to stop console spam for island lock or ban
Changed enter-exit messages to notify
2018-08-15 21:01:00 -07:00
tastybento
22121ad4f9 Fixed bug with sub command getAddon() inheritance. 2018-08-15 20:50:02 -07:00
tastybento
5981ffa0d5 Removed unused InventorySave/Store classes. 2018-08-15 20:30:50 -07:00
tastybento
68624d2879 Removed unused imports. Removed unused classes InventorySave/Store 2018-08-15 20:30:34 -07:00
tastybento
8a687a52c6 Fix for saving config files in Windows. 2018-08-15 13:53:07 -07:00
Florian CUNY
6358f72986 Fixed some code smells 2018-08-15 11:01:07 +02:00
Florian CUNY
7815c837dd Deleted FlyingMobEvents (duplicate of GeoLimitMobs)
And also fixed a code smell with metrics method names in IslandsManager
2018-08-15 10:52:10 +02:00
Florian CUNY
0a0d66eebf Fix for the two last revert commits. 2018-08-15 09:58:01 +02:00
Florian CUNY
bce73a551d Revert "Rewrote IslandGrid to use Table<> from Guava"
This reverts commit b54c7ad662.
2018-08-15 09:53:25 +02:00
Florian CUNY
82ebc8b018 Revert "Fixed IslandCacheTest"
This reverts commit 8fb4e58994.
2018-08-15 09:51:41 +02:00
Florian CUNY
d926873992 Revert "Rewrote IslandGrid.Cell"
This reverts commit bfff61e6a1.
2018-08-15 09:51:12 +02:00
Florian CUNY
f12773475b Made DatabaseSetup an interface 2018-08-15 09:44:04 +02:00
Florian CUNY
539d2a0516 Fixed some code smells 2018-08-15 09:43:28 +02:00
tastybento
fc066a04a3 Added SuppressWarnings to classes using deprecated regenerateChunk 2018-08-14 19:09:14 -07:00
tastybento
baf6571614 Added comments and TODO's to FlatFileDatabaseHandler 2018-08-14 18:43:51 -07:00
Florian CUNY
e11f173ca3 Made /is reset use the command cooldown API + switched "wait" settings to int
Aaaand had to update some tests. Lots of tests.
2018-08-14 21:11:46 +02:00
Florian CUNY
bfff61e6a1 Rewrote IslandGrid.Cell
Removed CellState.RESERVED for now
Made the Object an Island for now
Validate#notNull() in constructor
Made state and island variables final

Also updated the filters
2018-08-14 20:49:05 +02:00
tastybento
3118da2216 Added comments to FlatFileDatabaseHandler
WIP
2018-08-14 08:53:44 -07:00
tastybento
67d40462bc Code clean up.
Removed commodore for now.
Simplified some return statements.
2018-08-14 08:24:28 -07:00
tastybento
653e94e0b7 Made sub-class of CompositeCommand called ConfirmableCommand
This class inherits CompositeCommand and adds the confirming system.

It could be renamed Confirmable, like Bukkit has Cancellable for Events.
2018-08-14 11:43:21 +02:00
Florian CUNY
8fb4e58994 Fixed IslandCacheTest
Also commented out CellState.RESERVED.

That was a tough one. I had to rewrite IslandGrid#getIslandAt(int, int) quite a few times before using the stream() thing. I tested it a bit - it seems it is working like a charm.
I just hope that it won't be something useless - another plumbing change that adds nothing. It shouldn't - because of the "RESERVED" thing - but, well... it's been quite a hard thing!
2018-08-14 11:38:44 +02:00
tastybento
9367f41e72 Removed permission from BentoBox version command. 2018-08-13 20:05:16 -07:00
Florian CUNY
b54c7ad662 Rewrote IslandGrid to use Table<> from Guava
It also prepares further implementation for reserved "locations"
2018-08-13 21:45:43 +02:00
Florian CUNY
3ff387121a Minor javadoc edit in Island 2018-08-13 21:05:58 +02:00
Florian CUNY
9d04aa376b Cleanup in CompositeCommand
Removed onlyConsole
Removed "showHelp" implementation
Removed deprecated setParameters
2018-08-13 21:03:24 +02:00
Florian CUNY
353c87cf6d Fixed EnterExitListener to support non-set Island's name
When an Island's name was reset (set to `null`) it was breaking EnterExitListener.
2018-08-13 16:08:05 +02:00
tastybento
ec3e956d76 Enforced onlyConsole setting.
Removed extraneous test code method
2018-08-12 20:09:04 -07:00
tastybento
4681a0bd7d Added BentoBox reload command
Only reloads locales for now.
2018-08-12 19:52:13 -07:00
tastybento
94c5ac8e79 Fixed bug with loading add-on with no locales.
Fixed bug with no permission error in click listeners.
2018-08-12 18:53:56 -07:00
tastybento
6eeff3f383 Added test classes for coop, uncoop, trust and untrust commands. 2018-08-12 17:15:11 -07:00
tastybento
c1a6a233a9 Added team coop, uncoop, trust and untrust commands. 2018-08-12 16:43:47 -07:00
tastybento
82c35f9aa9 Fixed test breaks. 2018-08-12 14:28:25 -07:00
tastybento
67dc4eedb3 Merge remote-tracking branch 'origin/develop' into command_ranks 2018-08-12 13:46:01 -07:00
Florian CUNY
7ec497a93b Fixed general.errors.no-permission being sent twice 2018-08-12 18:50:12 +02:00
Florian CUNY
3212b7180d Changed a few locale references for consistency
Removed `general.errors.you-need` to put the [permission] variable in the `general.errors.no-permission`.
Renamed all confirmation-related references to `commands.confirmation.xxx`.
Renamed `protection.panel.flag-item.xxx_rank` to use a dash instead of an underscore.
2018-08-12 18:47:31 +02:00
tastybento
ca4db42e8d Fixed bug with locale files being saved from BentoBox into addon locales 2018-08-12 08:02:54 -07:00
tastybento
686b4398bc Merge remote-tracking branch 'origin/develop' into command_ranks 2018-08-12 07:59:13 -07:00
Florian CUNY
2fee163818 Fixed default description and parametersHelp (again)
Commit efb8cb27a9 broke it
2018-08-12 11:38:09 +02:00
Florian CUNY
5b7502d83f Fixed minor code smells 2018-08-12 11:28:36 +02:00
Florian CUNY
20116ff287 Changed the main package declaration restriction to be 'world.bentobox.bentobox'
It will allow us to create our addons using a "conventional" package naming, such as "world.bentobox.bskyblock", etc...
2018-08-12 11:01:40 +02:00
tastybento
d44889e7b0 Added command rank settings and extra ranks. 2018-08-11 21:08:04 -07:00
tastybento
203998d000 Made toLowerCase / toUpperCase use an explicit Locale
This avoids issues on some OS's.

Put in Commodore (but commented out). Just checking it out.
2018-08-12 05:12:14 +09:00
tastybento
bcb44c4cce Fixed PlayerManager tests. 2018-08-12 04:14:07 +09:00
tastybento
7e7001e99b Fixes UUID lookup
https://github.com/BentoBoxWorld/bentobox/issues/232
2018-08-12 02:47:38 +09:00
tastybento
efb8cb27a9 Merge branch 'develop' of https://github.com/BentoBoxWorld/bentobox.git
into develop

Conflicts:
	src/main/java/world/bentobox/bentobox/api/commands/CompositeCommand.java

	Fixed.
2018-08-12 02:44:39 +09:00
tastybento
0a65d7a8cc Added constructor to enable addon object passing. 2018-08-12 02:42:11 +09:00
Florian CUNY
8895cbf1a8 Updated locale references in BentoBoxVersionCommand 2018-08-11 16:05:02 +02:00
Florian CUNY
406441fc1e Version FC-0.92 2018-08-11 15:12:42 +02:00
Florian CUNY
d58570330a Fixed default parameters and description in CompositeCommand
Also accordingly updated the related javadoc.
2018-08-11 14:29:42 +02:00
Florian CUNY
8749566279 Minor variable-renaming in User 2018-08-11 14:07:46 +02:00
Florian CUNY
d73539f755 Fixed default help not sending description reference if no translation was found 2018-08-11 14:07:26 +02:00
Florian CUNY
1c2e553e9f Updated BentoBoxCommand 2018-08-11 14:06:49 +02:00
Florian CUNY
3d441928d0 Renamed AboutCommand to BentoBoxAboutCommand 2018-08-11 14:05:33 +02:00
Florian CUNY
699b439096 Renamed VersionCommand to BentoBoxVersionCommand 2018-08-11 14:05:12 +02:00
Florian CUNY
2f01671f72 Actually removed Constants class 2018-08-11 14:04:53 +02:00
Florian CUNY
f89bda6b5d Replaced #setParameters(String) by #setParametersHelp(String) in commands 2018-08-11 13:33:42 +02:00
tastybento
6ee5538930 Fixed help.
Usage is not translatable - it's a chained list of commands.
2018-08-10 14:59:13 +09:00
tastybento
46ae5883a1 Revert "Commented out the default description and parameter help for now."
This reverts commit f3442a32ab.
2018-08-10 14:57:18 +09:00
tastybento
f3442a32ab Commented out the default description and parameter help for now.
Let's discuss how to approach this better.
2018-08-10 13:59:38 +09:00
tastybento
67ab937b97 Revert "Removed useless #setDescription() and #setParameters() in commands"
This reverts commit 0e8e9dde67.
2018-08-10 13:47:58 +09:00
Florian CUNY
48b169537a Prepared automated showHelp if #execute() was returning false
I added the code, however I commented it out: there are a few problems with this for now, because some commands are using "return false;" to fail silently.

Also did javadoc'd #onlyPlayer(boolean)
2018-08-09 17:09:38 +02:00
Florian CUNY
ceb88d9c7b Improved Javadoc in BentoBoxCommand interface 2018-08-09 17:07:53 +02:00
Florian CUNY
1155549e4c Typo in comments in IslandEvent 2018-08-09 16:40:35 +02:00
Florian CUNY
5ae88349b4 Removed purge-related events (unused) 2018-08-09 16:40:21 +02:00
Florian CUNY
716495258c Replaced #setParameters(String) to #setParametersHelp(String) in CustomIslandMultiHomeHelp 2018-08-09 11:56:38 +02:00
Florian CUNY
0e8e9dde67 Removed useless #setDescription() and #setParameters() in commands 2018-08-09 11:56:05 +02:00
Florian CUNY
a9a932fdc3 Deprecated #setParameters(String) in favor of #setParametersHelp(String)
Also did Javadoc for #setParameters(String), #setParametersHelp(String),
#setDescription(String) (I had to override this one).
2018-08-09 11:54:48 +02:00
Florian CUNY
6d5518e97c Javadoc in PremadeEvent 2018-08-09 11:53:05 +02:00
tastybento
ea0f64a770 WIP added AdminDeleteCommand 2018-08-09 05:13:54 +09:00
tastybento
d630c0d739 WIP - needs test class and testing 2018-08-08 13:05:12 +09:00
tastybento
8b2ed9c7af Added convenience methods to TeamMakeLeaderEvent
Gives old owner and new owner UUIDs.

https://github.com/BentoBoxWorld/bentobox/issues/227
2018-08-07 18:51:23 -07:00
Florian CUNY
aab7d4a649 Made mod bypass permissions flags-specific & differenciated between everywhere and only on island
This is a 2 in 1 : #70 and #139.
Those were long-awaited features. Now it's time for testing !
2018-08-07 16:42:47 +02:00
Florian CUNY
1455d6e7f5 Locales : added meta.banner, meta.auhors and meta.version 2018-08-07 16:26:37 +02:00
Florian CUNY
90a868bc40 Updated ItemParser to use the new banner materials 2018-08-07 16:02:29 +02:00
Florian CUNY
7d04d8acc2 Renamed /bbox info to /bbox version 2018-08-07 10:43:38 +02:00
Florian CUNY
2e75c8b4b4 Removed IslandSpawnCommand (unused) 2018-08-06 18:01:00 +02:00
Florian CUNY
16e864f495 Fixed some code smells 2018-08-06 18:00:47 +02:00
Florian CUNY
28cf3ca278 Removed unused settings from Settings
recoverSuperFlat (is a flag) and muteDeathMessages (an external plugin can do it)
2018-08-06 16:08:45 +02:00
Florian CUNY
e22cdf0b36 Made Config use ConfigHandler instead of FlatFileDatabaseHandler 2018-08-06 15:59:38 +02:00
Florian CUNY
7f0dc2f6d3 Prepared handling of the other ConfigEntry fields for Config loading 2018-08-06 15:59:06 +02:00
Florian CUNY
cfbf3df1c3 BREAKING: Renamed [...]DatabaseConnecter to [...]DatabaseConnector
It was a typo shown by IntelliJ
2018-08-06 15:32:15 +02:00
Florian CUNY
5fa8f3997f BREAKING: Renamed a few API classes to a more generic name
`BBConfig` to `Config`.
`BBDatabase` to `Database`.
`BBDbSetup` to `DatabaseSetup`.

Sorry @tastybento, hope it won't bother you too much :/
2018-08-06 15:19:06 +02:00
tastybento
ba557a1068 API Breaker: renamed BSB classes to be just BB
Hopefully, this is the last API breaker. I renamed the classes that
started with BSB to be just BB (bentobox). I now have to fix all the
add-ons I just broke...
2018-08-05 20:08:03 -07:00
tastybento
cfdabbb176 Removed AboutCommand test to get a clean build.
Please see my comment on the commit. Final classes can't be mocked (as
far as I know) so it's kinda impossible to make a test for this one.
2018-08-05 20:00:23 -07:00
Florian CUNY
f8366cafec Started a test unit for AboutCommand 2018-08-05 10:56:15 +02:00
tastybento
765268aa25 Code cleanup using Intellij 2018-08-04 21:50:10 -07:00
tastybento
492a0b9105 Added ban/unban cooldown 2018-08-04 21:10:51 -07:00
tastybento
1256b0ee22 Added a bentobox command
Added reference about and info commands. These command run across worlds
and currently have no perms associated with them.

The main point was to enable BentoBox to have is own commands.
2018-08-04 20:43:38 -07:00
tastybento
783caf985f Added generic cooldown methods to CompositeCommand
This API enables any command to have a cool down and to have that cool
down called by another command. For example, the Kick command sets the
cool down on the Invite command. It is possible for commands to set cool
downs on themselves too.
Currently, cool downs are not stored persistently in the database so
they disappear if the server is reloaded. This should be okay for now.
2018-08-04 18:45:13 -07:00
tastybento
2cc6d36997 Reworked test classes for managers
There are some weird NPE's that I couldn't work out in the test classes.
They do not occur when the class is run by itself, only when it is run
with all the others so I don't know why it is happening.
2018-08-04 10:13:08 -07:00
tastybento
25164d824b Rewrote IslandsManager test class 2018-08-04 09:37:21 -07:00
tastybento
08604fc27d Rewrote PlayersManagerTest class 2018-08-04 09:21:24 -07:00
tastybento
93c3d3ce47 Removed code smells. 2018-08-03 23:31:02 -07:00
tastybento
5c46265771 Fixed code smells. 2018-08-03 21:30:06 -07:00
tastybento
683aca7043 Adjusted Clipboard to remove code smell and renamed package 2018-08-03 21:19:15 -07:00
tastybento
1c29dfca6b Removed generic wildcard type code smell 2018-08-03 21:02:55 -07:00
tastybento
53f28eb68d Changed island team kick to use confirm API
Fix for:
https://github.com/BentoBoxWorld/bentobox/issues/214
2018-08-03 19:22:35 -07:00
tastybento
bad870d3da Reapplied commit to improve Maven.
Fixed test class failure.
2018-08-03 19:10:09 -07:00
tastybento
7aa2f33eab Put default settings for command desc and parameters back in
These should work now. No infinite loop.
2018-08-03 17:43:42 -07:00
tastybento
3e7307a56c Merge branch 'master' into develop 2018-08-03 08:25:40 -07:00
tastybento
48883bb75f Removed constants class for now. It's not needed. 2018-08-03 08:24:40 -07:00
tastybento
4d4c8da912 Revert "Maven cleanup, fix readme links"
This reverts commit 450786aea3.
2018-08-03 08:06:28 -07:00
tastybento
5d27ea8fc6 Fixed spawners in schems. 2018-08-02 20:39:57 -07:00
tastybento
3c74ef0694 Moved admin and island commands into API package 2018-08-02 19:26:46 -07:00
tastybento
4a1dede795 Removed deprecated calls from IslandsManager for trapdoor check 2018-08-02 19:01:23 -07:00
tastybento
d3b5411b1b Fix for tab complete in game. 2018-08-02 18:39:10 -07:00
Gabriele C
450786aea3 Maven cleanup, fix readme links 2018-08-02 23:00:58 +02:00
tastybento
02e528cdc7 Debug 2018-08-02 08:11:46 -07:00
tastybento
2d75a92700 Fixed 1.13 schems 2018-08-01 22:02:53 -07:00
tastybento
ae3a341b89 WIP - using blockdata - doesn't work completely yet. 2018-08-01 17:24:52 -07:00
tastybento
acbcd27142 Temporary fix for island schem pasting.
Note that blocks are not pasted properly. The Clipboard class needs
rewriting to 1.13.
2018-08-01 16:40:21 -07:00
tastybento
a9da00478d Fixed EndermanListenerTest class to use BlockData properly. 2018-08-01 18:19:47 -04:00