Commit Graph

1347 Commits

Author SHA1 Message Date
Florian CUNY
c549d969a4 Removed 'island.custom-ranks' from config
#432
2019-01-03 16:17:01 +01:00
Florian CUNY
369600e4d5 Renamed Island#addToBanList() and Island#removeFromBanList() + added log in them
They respectively got renamed to Island#ban() and Island#unban(). They now require the UUID of an issuer (which can be null, but it's better to provide one)
2019-01-03 15:59:24 +01:00
Florian CUNY
fa3dbc5519 Made LogEntry use the Builder pattern 2019-01-03 13:51:46 +01:00
Florian CUNY
245062b36e Removed the offline message "TODO" in User
Most of it will be handled by the Island history
2019-01-03 13:37:54 +01:00
Florian CUNY
0b62c7cf76 Made LogEntry#data a Map<String, Object> 2019-01-03 13:33:46 +01:00
Florian CUNY
265afaf345 Added history to island and Island#log(LogEntry) 2019-01-03 13:26:20 +01:00
Florian CUNY
a638b09ce3 Added LogEntry and its database adapter 2019-01-03 13:25:52 +01:00
tastybento
96bf67eb19 Added generic reload command for addons to use
This command just runs the onReload method so that individual addons can
reload their stuff.
2019-01-02 15:40:49 -08:00
Florian CUNY
396425a52d Started implementing automated island ownership transfer
#167
2019-01-02 23:02:52 +01:00
Florian CUNY
4ae36ef8e0 Fixed Island#getMemberSet() Javadoc 2019-01-02 23:01:39 +01:00
tastybento
b8312db655 Fixes double home teleport when resetting island. 2019-01-02 10:55:11 -08:00
tastybento
5f193b19f5 Merge remote-tracking branch 'origin/develop' into async-paste2 2019-01-02 10:44:50 -08:00
tastybento
81a0b3290f Adjustment to English locale file for addon reloading
https://github.com/BentoBoxWorld/BentoBox/issues/370
2019-01-02 10:22:39 -08:00
Florian CUNY
be91e137a8 Implemented Addons reloading
Relates (a bit) to #370
2019-01-02 17:49:37 +01:00
Florian CUNY
c7a85c2b5a Fixed AddonDescription to use a valid Builder pattern
AddonDescriptionBuilder has been renamed to AddonDescription.Builder ; and there is no longer public constructors in this class.

This change is obviously API breaking, but it's relatively "internal", so hopefully people didn't use it.
2019-01-02 17:28:11 +01:00
Florian CUNY
30c20216fa Metrics: added islands count line chart 2019-01-02 16:54:58 +01:00
Florian CUNY
6f0912e1d2 Added ITEM_FRAME flag
#391.
2019-01-02 15:29:27 +01:00
Florian CUNY
01b7ace0be Fixed code smells 2019-01-02 14:48:17 +01:00
Florian CUNY
c078d8dce6 Added ban limit (#getBanLimit() in WorldSettings)
Closes #423.

I had some trouble with unit testings, that's why I didn't update them to test the new features :(
2019-01-02 14:37:52 +01:00
Florian CUNY
efd0aba8e8 Improved WorldSettings Javadoc 2019-01-02 13:45:21 +01:00
Florian CUNY
2bef086db4 Improved some config comments in Settings 2019-01-02 13:45:09 +01:00
tastybento
5b6bd72370 Added null checking protection.
This may help if a database is becoming corrupted.
2019-01-01 17:47:25 -08:00
tastybento
9b44dbb113 Fixes tests.
I made pasting the clipboard async as well so this affected the test.
2019-01-01 14:11:41 -08:00
tastybento
f475ebf3d2 Putting the config saving back in. 2019-01-01 14:04:26 -08:00
tastybento
665ad1e0a4 Final touches 2019-01-01 14:01:01 -08:00
Florian CUNY
4a7a4ed7db Improved Javadocs in User 2019-01-01 21:50:20 +01:00
tastybento
d039bf0c10 Merge remote-tracking branch 'origin/develop' into async-paste2 2019-01-01 12:47:57 -08:00
Florian CUNY
3bc36b54c9 Updated default config.yml 2019-01-01 21:00:21 +01:00
Florian CUNY
80fccbab96 Removed general.starting-money from config
#432
2019-01-01 20:54:19 +01:00
tastybento
512fb8e544 2019 baby! 2019-01-01 08:45:11 -08:00
tastybento
0da0d6c6f7 Removed unneeded enum values. Improved const names. 2018-12-31 11:31:35 -08:00
tastybento
2528442d6b Rewrote using state approach to be easier to understand.
Backwards compatible with current schems. New schems required to avoid
torch popping etc. Look for updates to AcidIsland and BSB.
2018-12-31 11:24:24 -08:00
Florian CUNY
5601ffaf8a Added a server compatibility check that ensures BentoBox doesn't get run on incompatible server software / version. 2018-12-31 14:22:57 +01:00
tastybento
38e82ee617 WIP: Enables async-style pasting of schems.
Speed of schem pasting is in the config.yml of BentoBox.

Old schems will work and paste async, but attached blocks, e.g.,
torches, may fall off due to being pasted ticks before the supporting
block is pasted. Newer schems will not have this issue.

Further work is needed to optimize entity pasting.

Known issue: if a player logs out during the pasting, things go wrong
until the next reload. Needs investigation and mitigation.

There's no mitigation against the server shutting down or crashing
mid-paste.
2018-12-30 20:34:50 -08:00
tastybento
c4a5eb2c88 WIP pastes but attachments fall when split across paste boundaries 2018-12-30 18:09:56 -08:00
tastybento
cf0fdf45b9 Merge branch 'develop' into async-paste2 2018-12-30 16:48:54 -08:00
tastybento
597fc082be WIP Added staggered pasting 2018-12-30 14:54:37 -08:00
tastybento
9b478fbef6 Fixed NPE in IslandManager on startup 2018-12-30 14:49:04 -08:00
Florian CUNY
26c65f9b54 Moved the admin resets-related commands under their own node
Preparing #353.

AdminClearresetsallCommand is deprecated with no current alternative right now.
2018-12-29 10:52:13 +01:00
Florian CUNY
a17d946349 Fixed PlayersManager#setResets(World, UUID, int) Javadoc. 2018-12-29 10:47:33 +01:00
Florian CUNY
d339444feb Renamed CHEST flag to CONTAINER
#402
2018-12-28 11:14:52 +01:00
Florian CUNY
5cddfca3b7 Added en-US localization for DISPENSER and DROPPER flags 2018-12-28 10:56:14 +01:00
Florian CUNY
3e7c97c370 Added HOPPER flag
#401
2018-12-28 10:54:07 +01:00
Florian CUNY
b5620e25e7 Added DROPPER flag
#401
2018-12-28 10:49:40 +01:00
Florian CUNY
70d8d04ee5 Added DISPENSER flag
#401
2018-12-28 10:44:35 +01:00
Florian CUNY
a33fc82a4a Improved InventoryListener 2018-12-28 10:42:38 +01:00
tastybento
d289b51b35 Removed unneeded map 2018-12-27 18:28:19 -08:00
tastybento
b374096c6e WIP: Shifted to GameModeAddon for IWM 2018-12-27 17:25:14 -08:00
tastybento
23d97ec7b0 Merge branch 'develop' into gameworlds-and-gamemodes 2018-12-27 11:22:07 -08:00
Florian CUNY
146331d0fe Use the Flag#getHintReference() in the sendMessage()
That is to ensure an easier maintenance process.
2018-12-27 13:53:11 +01:00
Florian CUNY
460911c92b Fixed the condition for PREVENT_TELEPORT_WHEN_FALLING in IslandGoCommand 2018-12-27 13:46:18 +01:00
Florian CUNY
f662efc43e Added PREVENT_TELEPORT_WHEN_FALLING flag (WORLD_SETTING)
Closes #403
2018-12-27 11:47:11 +01:00
Florian CUNY
daa2992ba4 Made Flag.Builder#defaultSetting default to 'false'
And therefore, I've removed all calls of #defaultSetting(false) from the Flags. That makes the code a bit nicer :slight_smile:
2018-12-27 11:24:53 +01:00
tastybento
d7851b923e Fixes reload of locales from addons
This was a bigger job than expected. I moved the addon loading locale
stuff into the LocalesManager class from the AddonsManager and put a jar
file lister in Utils. There could be some more combining of plugin jar
and addon jar file finding there. Finally, I added a sophisticated test
that creates a temporary addon jar with a locale file and checks that it
is saved correctly. Phew!
2018-12-25 23:17:06 -08:00
tastybento
86c13fa60e Remove console debug. Improved comments and JavaDoc. 2018-12-24 21:10:49 -08:00
tastybento
e5c69e42a6 Fixes bugs with CompositeCommand world setting.
Removes debug from previous commit.

Relates to https://github.com/BentoBoxWorld/BentoBox/pull/415
2018-12-24 20:49:43 -08:00
tastybento
b82f59e948 Fixes bug where schems are not copied from jar.
Major bug. Caused by multi-schem PR. The resource in the jar was being
looked up wrongly because of a double parent folder, e.g.
'/schem/schem/island.schem' instead of '/schem/island.schem' so no
schems were found in the jar.
2018-12-24 20:23:03 -08:00
tastybento
17c087469b WIP - attempt at implementing GameModeAddon API
https://github.com/BentoBoxWorld/BentoBox/pull/415
2018-12-24 20:18:33 -08:00
Florian CUNY
e6293cb480 Created an UML Class Diagram as a template 2018-12-24 10:11:19 +01:00
Florian CUNY
d24d61480b
Merge pull request #409 from BentoBoxWorld/flag-builder-v2
Nesting Flag builder in Flag
2018-12-24 09:32:09 +01:00
tastybento
68d6b008f4 Fixed tests by fixing the default rank value.
Flag was marked as deprecated, which may be okay, but because it caused
a lot of warnings in the tests because they bypass the builder I removed
the deprecation but kept the warning in the JavaDoc.
2018-12-23 22:15:37 -08:00
tastybento
0adc2e3078 Uses current API to enable multiple schems.
This will load all schems in an add-on's schem folder if it exists and
associate them with this world set (overworld, nether and end). Schems
can be named anything, but the partner nether or end worlds must be
pre-fixed with "nether-" or "end-" in the filename.
Additional schems can be added by the admin into the schem folder, or
they can be stored in the jar file of the add-on. Both are supported.

No changes are required to current add-ons. I.e., there is no API
breakage here, but I would like to rename the SchemsManager method
loadIslands(World world) to be loadSchems(World world) in the future.

Related issues/PR:
https://github.com/BentoBoxWorld/BentoBox/issues/104
https://github.com/BentoBoxWorld/BentoBox/issues/207
https://github.com/BentoBoxWorld/BentoBox/issues/378
https://github.com/BentoBoxWorld/BentoBox/pull/408
2018-12-23 19:31:00 -08:00
Florian CUNY
cc15aa1956 Updated Flags to use the new syntax
And made the Flags class final, so it cannot be extended.
2018-12-23 16:40:09 +01:00
Florian CUNY
2e5cdc7453 Fixed Flag.Builder#usePanel(boolean) to be public 2018-12-23 16:39:31 +01:00
Florian CUNY
168f9ae8f1 Added Flag.Builder 2018-12-23 16:33:10 +01:00
Florian CUNY
0101ed86d3 Deprecated FlagBuilder 2018-12-23 16:24:33 +01:00
Florian CUNY
58541831b6 Only enable/disable addons if there is at least one addon loaded 2018-12-22 16:39:20 +01:00
Florian CUNY
bfa19dcec2 Added website to plugin.yml 2018-12-22 16:38:02 +01:00
Florian CUNY
f2bf453a7c Removed deprecated methods from Island 2018-12-22 11:45:11 +01:00
Florian CUNY
407e6bb510 Added database_type and default_language metrics 2018-12-22 11:37:10 +01:00
tastybento
d907506fda Adds ability for the start sign to use a locale file set by the addon
https://github.com/BentoBoxWorld/bentobox/issues/372

Signs must have [start] as their first line to be converted.
2018-12-20 14:01:42 -08:00
tastybento
a7365ef805 Fixes chunk deletion bug and corrects chunk calculations elsewhere.
https://github.com/BentoBoxWorld/bentobox/issues/405

Adds test class for DeleteIslandChunks class.
2018-12-19 22:15:38 -08:00
tastybento
8da55b6e21
Merge pull request #400 from HyKurtis/master
Added addon request system to request data from an addon in spigot plugins
2018-12-19 05:59:50 +09:00
HyKurtis
4dcca3d923 Added addon request system to request data from an addon in spigot plugins 2018-12-16 23:58:15 +00:00
Florian CUNY
2d533ed8ad Splited PORTAL flag to NETHER_PORTAL and END_PORTAL
#388
Remove the "silent" parameter when doing the check for the End portal: the Notifier will do the job to not spam the player.
2018-12-16 10:42:04 +01:00
Florian CUNY
3e18669abc Updated en-US for the new NAME_TAG flag
#390
2018-12-16 10:25:46 +01:00
Florian CUNY
532ae6ffdc Added NAME_TAG flag
Closes #390.
It was previously protected by PLACE_BLOCKS... o_O ???
2018-12-16 10:18:39 +01:00
tastybento
ee4a0d7cfc Added tests for LocalesManager
Covers https://github.com/BentoBoxWorld/bentobox/issues/385
2018-12-16 00:35:25 -08:00
tastybento
b556b7160e Fixes reload bug when locale folder is missing.
https://github.com/BentoBoxWorld/bentobox/issues/385
2018-12-15 23:38:20 -08:00
Florian CUNY
d3be8afb08 Put colors in Settings Panel's categories
Fixes #383
2018-12-15 11:22:41 +01:00
Florian CUNY
d80e690ad0 World Settings with sub-panel now have their name yellow
#383
2018-12-15 11:14:56 +01:00
Florian CUNY
84664b6f50 Added default white color to language names in the Language Panel
This will avoid the names to be italicized (which doesn't look that pretty).
2018-12-15 11:05:26 +01:00
Florian CUNY
7c7b66b6c0 Some line color fixes in jp-JP and pl-PL locales 2018-12-15 10:45:39 +01:00
Florian CUNY
5258a1486e Fixed settings description formatting in locales 2018-12-15 10:43:10 +01:00
Florian CUNY
42ab3999b2 Fixed ENDERMEN-related settings color inconsistency
Fixes https://github.com/BentoBoxWorld/bentobox/issues/383#issuecomment-447529338
2018-12-15 10:38:51 +01:00
Florian CUNY
45e682e258 Fixed Addon#onReload() Javadoc since tag 2018-12-15 10:37:39 +01:00
Florian CUNY
7dd06b9d9b Fixed tests
They were broken as of 8a16940e14
2018-12-15 10:30:17 +01:00
Florian CUNY
b6e8c19a86 Added Addon#onReload()
Related to #370.
It is currently unused.

Added Javadoc to #onEnable(), #onDisable(), #onLoad(), #onReload().
2018-12-14 15:57:07 +01:00
Florian CUNY
8a16940e14 Added 'commands.help.syntax-no-parameters' to avoid command help layout inconsistencies
Fixes #379
2018-12-14 15:44:33 +01:00
Florian CUNY
fa5c7905da Deprecated Island#showInfo() and Island#showMembers() that were using useless parameters
Replaced them with equivalents only requiring an User as parameter.
2018-12-13 10:10:05 +01:00
Florian CUNY
08be1e15d1 Revert "Removed unused World parameter in Island#showMembers()"
This reverts commit 4169ae9f16.
2018-12-13 10:00:14 +01:00
Florian CUNY
b88e93a61c Added IslandInfoCommand
#361
* Added IslandInfoCommand : "/is info" or "/is who". This is basically a copy/paste from AdminInfoCommand, and it uses the same methods.
* Updated en-US locale accordingly
2018-12-13 09:58:35 +01:00
Florian CUNY
4169ae9f16 Removed unused World parameter in Island#showMembers() 2018-12-13 09:47:19 +01:00
tastybento
01b0c2004b Added ExperiencePickupListener unit test. 2018-12-13 08:48:40 +09:00
tastybento
ca844f1727 Fixes some code smells. 2018-12-13 08:10:33 +09:00
Florian CUNY
f61b109060 Added EXPERIENCE_PICKUP flag
#217
* Added EXPERIENCE_PICKUP flag (as a PROTECTION flag)
* Created ExperiencePickupListener
* Updated en-US locale accordingly
2018-12-12 20:45:55 +01:00
Florian CUNY
486de0dc19 Added admin command to reset/set deaths
#76
* Added AdminDeathsCommand
* Added AdminDeathsResetCommand
* Added AdminDeathsSetCommand
* Updated en-US locale accordingly
* Added "general.errors.must-be-positive-number" to the en-US locale
* Fixed some formatting in the en-US locale
2018-12-11 14:51:05 +01:00
tastybento
7a888fce95 Report addon version in admin version command.
https://github.com/BentoBoxWorld/bentobox/issues/374
2018-12-11 16:14:57 +09:00
tastybento
d266deb790 Fixed code smell 2018-12-11 12:22:07 +09:00
tastybento
9c9490908e Fixes message to players about losing coop. 2018-12-10 15:44:29 -08:00
tastybento
1a1fe14775 Merge branch 'develop' of https://github.com/BentoBoxWorld/bentobox.git into develop 2018-12-09 22:54:44 -08:00
tastybento
3dd7126ca9 Added coop removal when all island members log out.
Needs to be tested.
2018-12-09 22:54:37 -08:00
tastybento
3e07554d3b Fixed bug where animals could be bred or fed to grow up.
https://github.com/BentoBoxWorld/bentobox/issues/366
2018-12-09 14:09:53 -08:00
Florian CUNY
83b5eb546f Made the "tried to paste schem" error less confusing 2018-12-09 21:37:56 +01:00
Florian CUNY
58ded638f2 Added FROST_WALKER flag
#183
It was previously protected by PLACE_BLOCKS.
2018-12-09 17:07:12 +01:00
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
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
e930510243 Renamed TestBSkyBlock to TestBentoBox 2018-10-28 10:34:22 +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
84a79fe1de Fixed and added tests for new deathCount option
Fixes test failures from commit a6d25d68a9

I added some more tests to check for in world as well as death count
being on/off.
2018-10-07 18:28:48 -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