Commit Graph

1630 Commits

Author SHA1 Message Date
Florian CUNY
6c5df58e2c Added specific success messages for Island(Re)SetnameCommand
Implements https://github.com/BentoBoxWorld/BentoBox/issues/1164
2020-02-01 17:03:52 +01:00
tastybento
15014c8e01 Delay velocity setting for one tick after entering end portal. 2020-01-31 15:41:47 -08:00
tastybento
56fb7391da Toggle priority of tree listener to wait for other events to occur. 2020-01-31 15:41:23 -08:00
tastybento
07706d78e1 Enables tp commands to work from console.
Fixes https://github.com/BentoBoxWorld/BentoBox/issues/1158
2020-01-30 10:12:31 -08:00
Florian CUNY
64fbbf8815 Fixed typos in config comments 2020-01-25 09:37:29 +01:00
tastybento
6e81af47b4 Adds explicit permissions to team commands (#1146)
https://github.com/BentoBoxWorld/BentoBox/issues/1144

Also fixes a bug where the untrust was using the coop perm.

Co-authored-by: Florian CUNY <poslovitch@bentobox.world>
2020-01-25 09:12:12 +01:00
Florian CUNY
7e17474e83 Fixed the island untrust command not using the trust permission
It was using the coop permission instead
2020-01-24 21:19:13 +01:00
Florian CUNY
3b0f023fac Fixed subcommands not inheriting permissions from parent commands (mostly admin commands) 2020-01-24 21:18:33 +01:00
Florian CUNY
3147357bad Added an optional argument to AdminTeleportCommand to teleport another player
Implements https://github.com/BentoBoxWorld/BentoBox/issues/1120
2020-01-24 19:34:47 +01:00
Florian CUNY
12f483663c Added 1.15.2 to the compatible versions
https://github.com/BentoBoxWorld/BentoBox/issues/1150
2020-01-24 14:41:26 +01:00
tastybento
5ab5954f47
Postgres implementation (#1142)
* WIP for https://github.com/BentoBoxWorld/BentoBox/issues/1093

* JSON based PostGresql

* Completes PostgreSQL suport

* Changed Postgres connector comments

* Put back rest of Postgres jdbc URL

* Update PostgreSQLDatabaseHandler.java
2020-01-23 07:56:30 -08:00
tastybento
ac850907cc Zero fall velocity when going through end portals
https://github.com/BentoBoxWorld/BentoBox/issues/1118
2020-01-22 14:43:32 -08:00
tastybento
6ac51453a0 Removed Postgres DB from config until it is implemented.
Put minimum version numbers into config for databases.
https://github.com/BentoBoxWorld/BentoBox/issues/1149
2020-01-21 13:29:51 -08:00
tastybento
97f7b2c563 Deleted islands could not be used as new islands
Added test class for DefaultNewIslandLocationStrategy to cover the
cases.

https://github.com/BentoBoxWorld/BentoBox/issues/1147
2020-01-21 13:15:55 -08:00
tastybento
a5503851c3 Change to island range perm check on ownership change.
If owner has no perms, then this check will not be done and the range
will not change. Previously, it was always reseting to the default
range.

https://github.com/BentoBoxWorld/BentoBox/issues/1145
2020-01-18 22:36:38 -08:00
tastybento
e6e5c901b7 Strengthens to error when not loading addon for API reasons.
Relates to
2f35f1145d
2020-01-18 08:46:30 -08:00
Florian CUNY
2f35f1145d Made on-the-fly addon incompatibility detection logging as warning instead of default 2020-01-18 13:53:34 +01:00
Florian CUNY
d8d9061f84 Added 'api-version' parameter to addon.yml to allow specifying a minimum required BentoBox version
Implements https://github.com/BentoBoxWorld/BentoBox/issues/1131
API: added InvalidAddonDescriptionException, AddonDescription#getApiVersion()
2020-01-18 13:52:26 +01:00
Florian CUNY
d8dda75ca5 Improved '/bentobox version' gameworld layout to convey information through color-stripped text
The previous design had a flaw: if the output was pasted as text, we would not be able to tell if the dimension was disabled or if islands were disabled in that dimension.
2020-01-18 11:41:31 +01:00
Florian CUNY
01df19c424 Slightly improved the Blueprint Bundle Editor panel
Added icons for world's dimensions, and made the "separator" glass panes have an empty name instead of a '-'.
2020-01-18 11:24:50 +01:00
Florian CUNY
44354175e4 Moved world dimensions names to 'general.worlds' in en-US 2020-01-18 11:21:11 +01:00
Florian CUNY
0559a86e8d Implemented optional argument to AdminGetrankCommand to specify which island to perform the check on.
Implements https://github.com/BentoBoxWorld/BentoBox/issues/1106
Updated en-US + added 'general.errors.player-is-not-owner' message.
2020-01-18 10:47:08 +01:00
BONNe
2192e3fa4e Add new IslandEvent: IslandProtectionRangeChange (#1109)
* Add new IslandEvent: IslandProtectionRangeChange.

This event is fired when island protection range is updated. It contains new and old protection range values.
Event implements cancellable as other IslandEvent, but cancelling (or changing event values) is not implemented.

* Fix extended class.
IslandProtectionRangeChangeEvent should extend IslandBaseEvent.
2020-01-17 13:42:53 +01:00
Florian CUNY
37a4145322 Added specific messages when entering/leaving an island the player is member of
Implements https://github.com/BentoBoxWorld/BentoBox/issues/1084
Improved color codes for existing messages
2020-01-17 13:34:05 +01:00
tastybento
e62240f523
Puts the GSON serialization on main thread. (#1141)
https://github.com/BentoBoxWorld/BentoBox/issues/1128
2020-01-16 17:00:23 -08:00
tastybento
a9a9a9adee Put a null check into IslandCache to avoid null key in map. 2020-01-14 17:00:54 -08:00
tastybento
c7e0492612 Fixed bug (sonar cloud) and improved test PortalTeleportationListener 2020-01-14 15:01:19 -08:00
tastybento
227ebef824 Reverting to non-static AddonEvent. Reminder don't break API
Next time I'll add to the API but not break it. I actually did not
realize this API was being used (I forgot).
2020-01-12 16:30:50 -08:00
Florian CUNY
70f8538b74
Updated WorldSettings#getOnLeaveCommands() javadoc 2020-01-12 15:18:30 +01:00
tastybento
ab6a9978ff Added back non-static AddonEvent builder to not break API
Relates to https://github.com/BentoBoxWorld/Level/issues/119
2020-01-11 08:50:14 -08:00
Florian CUNY
9169242434 Made the island_name placeholders return default island name if no custom one is set
Implements https://github.com/BentoBoxWorld/BentoBox/issues/1108
2020-01-11 11:55:51 +01:00
Florian CUNY
ffa873be68 Fixed a possible nullability bug in EnterExitListener 2020-01-11 11:53:50 +01:00
Florian CUNY
c307f9b844 Prevent loading Blueprint Bundles that have duplicate uniqueIds
Fixes https://github.com/BentoBoxWorld/BentoBox/issues/1117
I also slightly improved the logs.
2020-01-11 11:38:30 +01:00
Florian CUNY
31d92961b7 Added some nullability annotations in BlueprintsManager 2020-01-11 11:21:15 +01:00
tastybento
6361bb9a4e Removed chevron from javadoc 2020-01-10 16:50:24 -08:00
tastybento
8b27003cfb Stops velocity for player going through end portal to end
https://github.com/BentoBoxWorld/BentoBox/issues/1118
2020-01-10 15:41:59 -08:00
tastybento
1c500a0c05 Redstone on islands will operate if mods or ops are present
even if the offline redstone flag is active and no team members are
online. This enables staff to bypass the "Offline Redstone" feature,
which means if staff need to moderate players islands then redstone is
an issue.

Fixes https://github.com/BentoBoxWorld/BentoBox/issues/1102
2020-01-07 17:20:04 -08:00
tastybento
90ad75baa9 Fixes config offset bug for island location.
Fixes https://github.com/BentoBoxWorld/BentoBox/issues/1105
2020-01-07 15:30:21 -08:00
tastybento
a3a0efb3a3 Removes only team members from island.
Fixes https://github.com/BentoBoxWorld/BentoBox/issues/1096
2020-01-07 13:12:53 -08:00
tastybento
aa5c253e03
Fix for double calling of events (#1111)
* Fixes tests for AdminSetrankCommand

https://github.com/BentoBoxWorld/BentoBox/issues/1107

* Fixes double calling of events.

https://github.com/BentoBoxWorld/BentoBox/issues/1110

* Makes AddonEvent static

https://github.com/BentoBoxWorld/BentoBox/pull/1111
2020-01-07 10:15:12 -08:00
tastybento
c385ee78f5 Lowers priority of banned command listener to catch before other plugins
Fixes https://github.com/BentoBoxWorld/BentoBox/issues/1103
2020-01-06 13:02:50 -08:00
tastybento
28200a44a8 Removed unused imports 2020-01-06 11:22:37 -08:00
Florian CUNY
a0718f0e6b Added a 3rd optional "island owner" argument to AdminSetrankCommand
Implements https://github.com/BentoBoxWorld/BentoBox/issues/787

This allows to coop or trust players on another player's island.
Related tests are ignored due to a lack of time to fix them.
2020-01-05 17:45:53 +01:00
Florian CUNY
ceef422c54 Improved tab-completion for AdminSetrankCommand
Relates to https://github.com/BentoBoxWorld/BentoBox/issues/787
2020-01-05 13:38:18 +01:00
Florian CUNY
85b4c4ff4a Added AdminBlueprintRenameCommand
Implements https://github.com/BentoBoxWorld/BentoBox/issues/1082
2020-01-02 16:42:33 +01:00
Florian CUNY
53d728af94 Added LECTERN protection flag
Implements https://github.com/BentoBoxWorld/BentoBox/issues/1094
2019-12-31 14:06:49 +01:00
Florian CUNY
85dc95357c Updated PAPER compatibility to SUPPORTED 2019-12-31 01:48:30 +01:00
Florian CUNY
4a209d875e Fixed players being stuck in SPECTATOR gamemode when accepting invite 2019-12-30 16:17:10 +01:00
Florian CUNY
c0a38fb9eb Fixed another bunch of code smells (Sonarcloud) 2019-12-30 15:36:17 +01:00
Florian CUNY
50c183d2ea Fixed incorrect translation when changing language 2019-12-30 15:25:19 +01:00
Florian CUNY
704c249b49 Fixed some code smells (Sonarcloud) 2019-12-30 14:54:11 +01:00
tastybento
e290a46c4e Fixed issue where addons were disabled incorrectly. 2019-12-29 14:56:22 +00:00
tastybento
602b5b5c5c Merge branch 'develop' of https://github.com/BentoBoxWorld/BentoBox.git into develop 2019-12-29 05:56:08 -08:00
tastybento
21eeedbbb0 Fixes addon disablement in onEnable.
Clean up imports.

https://github.com/BentoBoxWorld/BentoBox/issues/1090
2019-12-29 05:55:57 -08:00
Florian CUNY
1a8be26010 Fixed chorus flowers not being protected from breaking if destroyed by arrow/trident
Fixes https://github.com/BentoBoxWorld/BentoBox/issues/812
Note it can cause the block to flicker or to turn into a ghost block. The Bukkit API does not provide a way to actually cancel the block breaking, therefore we need to resort to a delayed task.
2019-12-29 14:48:02 +01:00
Florian CUNY
efe8a55328 Removed unused imports from 6dac9cad30 2019-12-27 15:40:53 +01:00
Florian CUNY
6dac9cad30 Fixed Chorus being able to grow outside islands even if it was disabled
Fixes https://github.com/BentoBoxWorld/BentoBox/issues/1079
2019-12-27 15:37:47 +01:00
Florian CUNY
c179b3e20a Fixed entities being damaged by TNTs or Creepers even if it was disabled
Fixes https://github.com/BentoBoxWorld/BentoBox/issues/1075
2019-12-27 14:47:15 +01:00
Florian CUNY
a807918105 Fixed NewIsland.Builder#reason() logic (thanks to the unit tests) 2019-12-23 15:19:28 +01:00
Florian CUNY
48f898aa2c Added WorldSetting#isTeleportPlayerToIslandUponIslandCreation()
Implements https://github.com/BentoBoxWorld/BentoBox/issues/1032
2019-12-23 15:01:32 +01:00
Florian CUNY
a796e3ae22 Forced reasons in NewIsland's Builder to be either CREATE or RESET 2019-12-23 14:32:33 +01:00
Florian CUNY
cd02c5f4df Renamed IslandWorldManager#pasteMissingIslands() to #isPasteMissingIslands() 2019-12-23 14:14:29 +01:00
Florian CUNY
acf87efd9b Added nullability annotations on User#hasPermission() and User#getSender() 2019-12-23 14:02:50 +01:00
Florian CUNY
2ad661b11a Improved the GitHub download feedback to be less spammy 2019-12-23 13:56:53 +01:00
tastybento
6b69052863 Fixes support for float storage in config files.
https://github.com/BentoBoxWorld/TwerkingForTrees/issues/6
2019-12-22 11:08:49 -08:00
tastybento
dfd8dffcf2 Catch error around deserialization and provide better logging.
This will help addon developers know where they went wrong. Related to:
https://github.com/BentoBoxWorld/TwerkingForTrees/issues/6
2019-12-22 09:40:42 -08:00
Florian CUNY
fc23da4343 Added Util#isInteger() and made commands use it for more reliability 2019-12-21 14:23:32 +01:00
Florian CUNY
1d486efbe7 Added AdminRangeAddCommand, AdminRangeRemoveCommand
Implemented https://github.com/BentoBoxWorld/BentoBox/issues/1072

Moved the various "invalid-value" messages to the admin range node in en-US.
Made AdminRangeSetCommand use the more generic 'must be positive number' message - causes issues with floats, which I will fix later on.
2019-12-21 11:34:38 +01:00
Florian CUNY
59916c27e2 Improved javadoc for Island#getProtectionRange() further 2019-12-21 11:12:48 +01:00
Florian CUNY
48b7b52d82 Improved javadoc for Island#getProtectionRange() 2019-12-21 11:10:33 +01:00
Florian CUNY
3e65f5e902 Fixed admin range set/reset commands not working if player is in team
Updated tests
2019-12-21 10:57:17 +01:00
tastybento
fd247be073 Added nullable/nonnull annotations to IslandsManager public methods 2019-12-20 16:51:21 -08:00
tastybento
1058f2dd64 Fixed tests for IslandTeamInviteAcceptCommand 2019-12-20 16:50:59 -08:00
Gabriele C
263e439722 Fixed accept command for non-team invites 2019-12-20 22:09:41 +01:00
tastybento
a9b8be0328 Added compatibility support for 1.15.1 2019-12-19 11:44:36 -08:00
tastybento
a025271629 Fixed message on trusting a player.
https://github.com/BentoBoxWorld/BentoBox/issues/1073
2019-12-17 11:30:59 -08:00
tastybento
27c1b6505c Uses and catches specific IOException for new islands
Relates to c3442c29ba
2019-12-16 17:24:48 -08:00
tastybento
e8810d41d9 Added a setting to be able to disable auto nether/end island pasting
https://github.com/BentoBoxWorld/BentoBox/issues/1063

Note that corresponding settings must be added to game mode addons.
Also, note that I added this as a default method so that it will not
break current older game mode addons.
2019-12-15 16:03:43 -08:00
tastybento
c3442c29ba Reworked how new island spots are found.
Fixed bug where max attempts check was not working, which could cause a
timeout crash.

https://github.com/BentoBoxWorld/BentoBox/issues/1057
2019-12-15 14:41:59 -08:00
Florian CUNY
5bddee702e Made the /[gamemode] spawn command a delayed teleport command
Implements https://github.com/BentoBoxWorld/BentoBox/issues/1069
2019-12-14 11:06:10 +01:00
tastybento
fe570bd47d Merge branch 'develop' of https://github.com/BentoBoxWorld/BentoBox.git into develop 2019-12-11 22:17:50 -08:00
Geik
1da50da814 Update MariaDBDatabaseConnector.java (#1066) 2019-12-11 22:17:42 -08:00
tastybento
d58743bae8 Updated MyBiomeGrid to 1.15 API 2019-12-11 22:16:02 -08:00
tastybento
3332b65b86 Updated to 1.9.2 and server 1.15 compatibility.
Note - testing still in progress...
2019-12-10 18:10:51 -08:00
Florian CUNY
23c621544d Added Island#isOwned(), Island#isUnowned() and improved javadoc on Island#getOwner() 2019-12-07 13:51:38 +01:00
Florian CUNY
3d853d58f8 Fixed "gathering contribution data" messages not being toggled by the config option 2019-12-07 11:41:19 +01:00
tastybento
4b9b24e121 Fixed issue where Ops and mods had to stand still on teleport
https://github.com/BentoBoxWorld/BentoBox/issues/1059
2019-12-05 23:37:45 -08:00
tastybento
e511d1b9e9 Fixes banlist command number in unlimited case
Added test methods to confirm operation.

https://github.com/BentoBoxWorld/BentoBox/issues/1060
2019-12-05 22:37:03 -08:00
tastybento
55d0920a9c Added JavaDoc to AddonRequestBuilder 2019-12-05 22:20:13 -08:00
tastybento
22cd2379d3 Javadoc fixes 2019-12-01 09:03:22 -08:00
tastybento
294ed23225 Remove unused imports 2019-12-01 08:37:39 -08:00
Florian CUNY
35ecd61a11 Reduced default paste speed to 64 blocks/tick
Should help mitigate issues such as https://github.com/BentoBoxWorld/BentoBox/issues/1051 for new servers.
2019-12-01 12:11:12 +01:00
Florian CUNY
bd2473f597 Fixed COMMAND_RANKS flag still require the admin permission
Fixes https://github.com/BentoBoxWorld/BentoBox/issues/1050

It now uses the default permission behaviour.
2019-12-01 12:03:30 +01:00
Florian CUNY
13fab3173e Added AdminBlueprintDeleteCommand
Implements https://github.com/BentoBoxWorld/BentoBox/issues/1048

Also added BlueprintsManager#deleteBlueprint(GameModeAddon, String)
Fixed a code smell in AdminBlueprintSaveCommand
2019-12-01 11:54:23 +01:00
tastybento
032b5c2988
Allows a space to be placed after a color code in locale files. (#1045)
Space will be stripped if it exists. This makes GitLocalize able to
machine translate much better.

Changes to the English locale file was made. Other languages do not have
to add spaces. Note that adding or removing spaces from files is easy
with regex.

https://github.com/BentoBoxWorld/BentoBox/issues/1044
2019-11-30 16:17:38 -08:00
tastybento
7737456309 Fixes issue with island protection range and permissions.
Permissions could set the island protection range greater than the
island distance.

This commit also fixes the User method that calculates the max value
from a permission. The default value was being used as the starting
point rather than 0, so it was not possible to set perms to go less than
the default value.

Added test clases around all these items.

https://github.com/BentoBoxWorld/BentoBox/issues/1047
2019-11-28 21:48:07 -08:00
tastybento
5f52b32cd3 Enables operation on 1.13.2 servers.
Avoids use of AbstractVillager for now. Alternative to PR
https://github.com/BentoBoxWorld/BentoBox/pull/1035
2019-11-25 21:17:41 -08:00
tastybento
ff60127762 Sanitizes blueprint and bundle names
https://github.com/BentoBoxWorld/BentoBox/issues/1038

Allows spaces to exist in the bundle names.

Added tests to check for bad chars and foreign chars in names.
2019-11-25 19:57:11 -08:00
tastybento
0e6061455f Fixes flow into adjacent islands when island abut.
https://github.com/BentoBoxWorld/BentoBox/issues/1034
2019-11-24 13:45:18 -08:00
tastybento
df40c3477c Verifies material exists on server and if not supplies AIR.
https://github.com/BentoBoxWorld/BentoBox/issues/1037
2019-11-20 18:02:30 -08:00
tastybento
336f4e9bd4 Explicitly cancels the portal if there is no nether or end.
https://github.com/BentoBoxWorld/BentoBox/issues/1036
2019-11-20 17:08:04 -08:00
tastybento
4753681b47 Fixes flow out of water logged blocks like slabs.
The check `isLiquid()` does not work for water logged blocks like slabs
or fences so it was possible for players to get liquids outside of the
the island.

https://github.com/BentoBoxWorld/BentoBox/issues/1034
2019-11-17 17:45:51 -08:00
Florian CUNY
9782ea1ef9 Clear the player's home locations when resetting. 2019-11-17 17:44:10 +01:00
tastybento
d65e0d4665 Adds to JavaDoc 2019-11-16 18:17:55 -08:00
tastybento
cd7b02fdf2 Excludes spawn island from offline redstone prevention flag
https://github.com/BentoBoxWorld/BentoBox/issues/1031
2019-11-16 10:22:46 -08:00
tastybento
2f4dae52e4 Changes island deletion loop to per second.
Previous setting was per tick, and the lowest value of 1 was set in the
config. By changing to per second, this value can be increased if
required. In testing, I see that smaller servers cannot cope even with a
setting of 1 per tick so I made this change. Also, island deletion can
occur slowly without issue.
2019-11-16 09:55:16 -08:00
tastybento
2c8739a48b Fixes damage to wandering traders.
https://github.com/BentoBoxWorld/BentoBox/issues/1029
2019-11-14 18:05:55 -08:00
tastybento
f67baf6501 Add protection for firework explosions from crossbows.
https://github.com/BentoBoxWorld/BentoBox/issues/1027
2019-11-14 17:44:56 -08:00
tastybento
c9b0c74d08
Paper lib (#1026)
* Remove unused imports

* Implements PaperLib within bentobox

* Added PaperLib methods to Util for addons to call

* Uses PaperLib for island deletion

* Point to https://github.com/BentoBoxWorld/MVdWPlaceholderAPI in POM
2019-11-13 15:10:33 -08:00
tastybento
e2fd5555cf Merge branch 'develop' of https://github.com/BentoBoxWorld/BentoBox.git into develop 2019-11-09 14:51:12 -08:00
Florian CUNY
a1b7df19c7 Added WorldSettings options to create island on first login
Implements https://github.com/BentoBoxWorld/BentoBox/issues/889
2019-11-09 17:50:27 +01:00
Florian CUNY
e5646c72cd Removed unneeded #isKnown() check in onJoin listener
Since the player is added to the player cache right before the check, the code is always executed.
2019-11-09 11:41:48 +01:00
tastybento
8dabdf46fe Simplify code in SafeSpotTeleport 2019-11-08 17:12:26 -08:00
tastybento
664040837d Uses replace instead of replaceAll as 1st param is not regex 2019-11-08 17:06:20 -08:00
tastybento
d3e35a9ecb Fixes item frame protection by flag. Also affects armor stands
https://github.com/BentoBoxWorld/BentoBox/issues/1023
2019-11-06 17:43:30 -08:00
tastybento
21e75c645e Return to previous code for BlockInterationListener 2019-11-06 08:32:06 -08:00
tastybento
86e39a801e Fixes bug with null flags
This class is called before all the flags are initialized so it cannot
reference them directly. This fixes the situation by using Strings, but
it can be improved.
2019-11-06 08:03:22 -08:00
tastybento
21916b5a59 Remove code smells. 2019-11-05 23:11:56 -08:00
tastybento
ef67079831 Fix for tests.
Note Flags cannot be used in class definitions without becoming nulls.
They have to be done in the constructor.
2019-11-05 22:36:28 -08:00
tastybento
c56b9bec18 Refactorer BlockInteractionListener and added test class
May fix:

https://github.com/BentoBoxWorld/BentoBox/issues/1023
2019-11-05 21:45:26 -08:00
tastybento
77a3797d3b Added EntityInteractListener test class & fixed bug
https://github.com/BentoBoxWorld/BentoBox/issues/1012
2019-11-05 18:26:17 -08:00
tastybento
e607b2b012 Fixes name tag check for villagers
https://github.com/BentoBoxWorld/BentoBox/issues/1012
2019-11-05 15:53:52 -08:00
tastybento
80d87d19f9 Include team members when sending banned players back to their island.
https://github.com/BentoBoxWorld/BentoBox/issues/1017
2019-11-05 09:49:11 -08:00
tastybento
25ad177aca Translate colors for blueprint descriptions.
https://github.com/BentoBoxWorld/BSkyBlock/issues/213
2019-11-02 17:09:47 -07:00
tastybento
c2f2be61c3 Translate alternate colors codes for BBundle descriptions 2019-11-02 17:04:32 -07:00
tastybento
1ab7222ca0 Log error if commands cannot be run on leaving. 2019-11-02 17:03:55 -07:00
tastybento
0324d3e123 Remove code smell on MobSpawnListener 2019-10-30 18:56:12 -07:00
tastybento
de2f2a22ce Addresses new types of creature spawning for 1.14.x servers
https://github.com/BentoBoxWorld/BentoBox/issues/1020
2019-10-30 14:16:47 -07:00
tastybento
44a7f26c04 Makes log a warning for players who cannot be teleported home. 2019-10-30 14:16:26 -07:00
Florian CUNY
ca6f344c70 Improved the configuration file introduction 2019-10-30 14:15:33 +01:00
tastybento
b9a04bcf57 Added protection around addon onDisable().
https://github.com/BentoBoxWorld/BentoBox/issues/1018
2019-10-29 17:52:24 -07:00
tastybento
9ff2eda576 Avoid setting banner pattern if none exist (null)
https://github.com/BentoBoxWorld/BentoBox/issues/1016
2019-10-29 17:44:45 -07:00
Florian CUNY
6607060b99 Added a "reset all the settings" button to the player Settings Panel
Implements https://github.com/BentoBoxWorld/BentoBox/issues/1011
2019-10-28 17:42:43 +01:00
Florian CUNY
5ef74bd0f4 Fixed some code smells 2019-10-28 10:04:44 +01:00
tastybento
a27f54a6f7 Fixes tests for IslandTeamCommand 2019-10-27 13:26:22 -07:00
Florian CUNY
85b45df13b Improved the IslandTeamCommand: added last joined timestamp for offline team members
Redid the whole layout - it looks much nicer now!
Implements https://github.com/BentoBoxWorld/BentoBox/issues/997
2019-10-27 13:35:29 +01:00
tastybento
1304f8bace Makes SQLite deletion of non-existent items fail silently
Adds JavaDoc to make this clear.

https://github.com/BentoBoxWorld/BentoBox/issues/1010
2019-10-26 11:56:12 -07:00
tastybento
d5d6f20bb9 Remove imports 2019-10-25 17:31:24 -07:00
Florian CUNY
ca6ab33898 Added javadoc since tags for the newly added methods in PanelItem and builder
Also improved the #isPlayerHead() methods
2019-10-24 14:12:16 +02:00
YellowZaki
87ea48443f Added ability to have player heads with custom name (#1007)
* Added new attribute playerHeadName

* Added method PanelItem#getPlayerHeadName() and PanelItemBuilder#getPlayerHeadName()

* Added playerHeadName attribute

* getPlayerHeadName instead of getName
2019-10-24 14:00:14 +02:00
Florian CUNY
551975d6c9 Added Credits GUI for addons and BentoBox
Implements https://github.com/BentoBoxWorld/BentoBox/issues/993
2019-10-24 13:56:06 +02:00
Florian CUNY
856572941e Removed no longer needed allow-nether and allow-end warnings
Fixed https://github.com/BentoBoxWorld/BentoBox/issues/977
2019-10-22 09:45:37 +02:00
Florian CUNY
8692685822 Improved user feedback when pasting (creation/reset) an island
Implements https://github.com/BentoBoxWorld/BentoBox/issues/996
2019-10-21 17:55:35 +02:00
Florian CUNY
ba35d7c062 Simplified methods in BlueprintPaster
There wasn't the need for that many parameters in each method.
2019-10-21 15:20:02 +02:00
Florian CUNY
a904882726 Removed the long-deprecated Flags#TNT flag
It was deprecated as of 1.5.0.
2019-10-20 14:57:57 +02:00
Florian CUNY
4f297614a3 Fixed DYE signs protection not working on most recent 1.14 versions
Fixes https://github.com/BentoBoxWorld/BentoBox/issues/999

I simply removed the server compatibility check right away, since we're expected to be full 1.14 as of a few versions already.
2019-10-20 14:56:54 +02:00
Florian CUNY
3fd92f05e8 Improved error handling when establishing a MongoDB connection
Also improved the "error" messages when the credentials in the config are not correct.
2019-10-19 22:57:19 +02:00
tastybento
c67f1ac48b Made method calls more robust.
Calling these methods using a valid world but one that was not a
gameworld created an NPE. Now they respond with a default value.
2019-10-19 11:32:18 -07:00
tastybento
784988ca54 Test class cleanup. Use Bukkit direct calls instead of Bukkit.getServer 2019-10-18 19:33:24 -05:00
tastybento
02e8243bd0 Fixed admin register of spawn island.
https://github.com/BentoBoxWorld/BentoBox/issues/991
2019-10-18 19:32:54 -05:00
tastybento
bee960d823 Fixes invites.
https://github.com/BentoBoxWorld/BentoBox/issues/988

Adds test classes for IslandTeam command and redoes
IslandTeamInviteCommand test class.
2019-10-17 20:43:01 -07:00
NotMyFault
0d5ff1eaf4 Add cake protection flag (#986)
Implements #987.

* Add cake protection flag

* Improved CONTAINER flag description
2019-10-17 07:41:34 +02:00
tastybento
595de7a602 Waits until blueprints loaded before firing BentoBoxReady event
https://github.com/BentoBoxWorld/BentoBox/issues/985
2019-10-13 21:02:25 -07:00
Leonardo Chaia
2484421d92 Allows customizing where islands are created (#984)
Implements https://github.com/BentoBoxWorld/BentoBox/issues/983.

* Allows customizing where islands are created

NewIsland receives a new interface which determines the location
where the next island will be created

A default implementation is provided which mirrors the previous behavior

* Adds autors to DefaultNewIslandLocationStrategy

Co-Authored-By: Florian CUNY <poslovitch@bentobox.world>

* Improves Javadocs

Co-Authored-By: Florian CUNY <poslovitch@bentobox.world>
2019-10-13 16:11:59 +02:00
Florian CUNY
77e0f01510 Added options to reset player's health, hunger and XP
Implements https://github.com/BentoBoxWorld/BentoBox/issues/958

Added the following methods in WorldSettings and IslandWorldManager:
* #isOnJoinResetHealth()
* #isOnJoinResetHunger()
* #isOnJoinResetXP()
* #isOnLeaveResetHealth()
* #isOnLeaveResetHunger()
* #isOnLeaveResetXP()
2019-10-13 10:29:32 +02:00
tastybento
6f96f47ae5 Adds invites to trust and coop (#971)
Implements https://github.com/BentoBoxWorld/BentoBox/issues/800

* WIP

* Generic invites for team, coop and trusting.

Needs play testing.

https://github.com/BentoBoxWorld/BentoBox/issues/800

* Fixed tests and added handling in trust and coop commands

* Completes invite, trust and coops command and tests.

* Minor documentation/settings improvements

* Renamed InviteType to Invite.Type

* Fixed compilation error
2019-10-13 09:28:49 +02:00
tastybento
d27ea949d0 Fixes potential error in asyncSaveAll of players
https://github.com/BentoBoxWorld/BentoBox/issues/982
2019-10-11 08:39:45 -07:00
tastybento
7d8539b4cd Should fix CHM error in asyncSaveAll
https://github.com/BentoBoxWorld/BentoBox/issues/982
2019-10-11 08:36:23 -07:00
tastybento
e9e10eed75 Fixes island near command for team members.
https://github.com/BentoBoxWorld/BentoBox/issues/981
2019-10-10 08:14:00 -07:00
tastybento
6085deff49 Clears home locations when admin kicking a player
https://github.com/BentoBoxWorld/BentoBox/issues/980
2019-10-09 12:57:29 -07:00
tastybento
2db926f640 Spreads out backup database saving to avoid lag
https://github.com/BentoBoxWorld/BentoBox/issues/976
2019-10-07 16:16:26 -07:00
Florian CUNY
27647da6f4 Force the Blueprint name to be lowercased using English locale 2019-10-05 22:22:25 +02:00
tastybento
94ff2ebf75 Tie banned falling command to world flag and fix bugs
https://github.com/BentoBoxWorld/BentoBox/issues/863
2019-10-03 14:11:32 -07:00
tastybento
215c79d74d Now with a fall distance check!
https://github.com/BentoBoxWorld/BentoBox/issues/863
2019-10-03 13:42:40 -07:00
tastybento
42ba6dcc50 Adds banned commands when falling to WorldSettings
To complete the functionality, the addon will need to overrider the
banned falling command method

https://github.com/BentoBoxWorld/BentoBox/issues/863
2019-10-03 13:34:03 -07:00
tastybento
75ec023249 Creates a spot for a player to teleport to if there is none available.
https://github.com/BentoBoxWorld/BentoBox/issues/963
2019-10-03 13:01:14 -07:00
tastybento
b448df5418 Improves mob removal on teleport.
Will not remove mobs for chorus fruit, ender pearl or spectator
teleports. Will not remove mobs if the teleport distance is less than
the mob removal distance.
Mob teleport removal is already a world setting.
2019-10-02 16:11:15 -07:00
tastybento
7bf0de9eda Merge branch 'develop' of https://github.com/BentoBoxWorld/BentoBox.git into develop 2019-09-30 15:38:15 -07:00
tastybento
8c037fc1a3 Shifted GSON conversion to main thread to avoid concurrent modification
https://github.com/BentoBoxWorld/BentoBox/issues/968
2019-09-30 15:38:00 -07:00
tastybento
d2502a6289 Merge branch 'develop' of https://github.com/BentoBoxWorld/BentoBox.git into develop 2019-09-29 16:31:51 -07:00
tastybento
8a1d969103 Added ability to reset one island flag to default for all islands
https://github.com/BentoBoxWorld/BentoBox/issues/958
2019-09-29 14:35:15 -07:00
Florian CUNY
477f60ae03 Added Banner patterns support in Blueprints
Implements https://github.com/BentoBoxWorld/BentoBox/issues/961
2019-09-29 10:26:39 +02:00
Florian CUNY
a415a65e7e Added AdminResetsAddCommand and AdminResetsRemoveCommand 2019-09-29 09:59:20 +02:00
Florian CUNY
6c3667e3ed Improved success messages for AdminResetsSetCommand and AdminResetsResetCommand
Also allowed AdminResetsSetCommand to set the resets to 0.
2019-09-29 09:55:00 +02:00
Florian CUNY
e20690935a Fixed AdminDeathsRemoveCommand allowing to set a negative number of deaths
Also fixed the "[total]" textvariable not working in its success message
2019-09-29 09:18:22 +02:00
tastybento
f8c4ea568f Adds auto-updating of locale files
https://github.com/BentoBoxWorld/BentoBox/issues/960
2019-09-28 17:10:30 -07:00
Florian CUNY
6799c43a0a Added AdminDeathsAddCommand and AdminDeathsRemoveCommand
Implements https://github.com/BentoBoxWorld/BentoBox/issues/950
2019-09-28 14:37:29 +02:00
Florian CUNY
d9dc337de9 Should fix NPE when setting up connection to GitHub 2019-09-28 14:21:16 +02:00
Florian CUNY
93219cbc1c Merge branch 'commands-on-island-creation' into develop 2019-09-28 13:55:01 +02:00
Florian CUNY
c53fece28f Added WorldSettings to run commands on island creation/join and deletion/leave
Implements https://github.com/BentoBoxWorld/BentoBox/issues/704

Gamemode addons will need to be updated to use the new WorldSettings, which have been properly documented so it should be easy to write down comments about them.
2019-09-28 13:48:24 +02:00
tastybento
2f7a4b2528 move entity attribute setting 2019-09-26 08:52:57 -07:00
tastybento
bd34f2c4bc Reordered to Java spec 2019-09-26 08:18:46 -07:00
tastybento
d6e4280a44 Removed todos in code. If they are needed, let's make an issue in Github 2019-09-26 08:17:01 -07:00
tastybento
3e94418e54 Fix nullable annotations in PanelItemBuilder
If null checks are being done, then the parameter annotation must be
@Nullable.
2019-09-26 08:15:43 -07:00
tastybento
0f63353e2b Merge branch 'develop' of https://github.com/BentoBoxWorld/BentoBox.git into develop 2019-09-26 08:11:10 -07:00
tastybento
18c374bfa9 Add null protection for player death requests. 2019-09-25 13:46:34 -07:00
BONNe
ff04f407af Fixed noban, noexpel and bypassexpel permissions (#956) 2019-09-25 12:33:20 +02:00
BONNe
6b42d07185 Prevent to set null as icon in PanelItems. (#957)
Add protection code from null types of icons in PanelItemBuilder.
Relates to https://github.com/BentoBoxWorld/BSkyBlock/issues/203
2019-09-25 12:06:08 +02:00
tastybento
4d045aa966 Removed debug. 2019-09-21 16:50:20 -07:00
tastybento
2e8a3e2abb Protects sweet berry bushes
https://github.com/BentoBoxWorld/BentoBox/issues/948
2019-09-20 18:57:18 -07:00
tastybento
55544ada0a Fixes island respawn bug.
Not all players were respawning on their island. Also, deaths in nether
or end did not teleport back to overworld island.
2019-09-20 18:39:50 -07:00
tastybento
86da94182c Reduces safe spot search radius and checks a few more chunks per tick
https://github.com/BentoBoxWorld/BentoBox/issues/952
2019-09-20 15:16:09 -07:00
tastybento
ff1c984fd0 Teleports instantly to end if location is safe
https://github.com/BentoBoxWorld/BentoBox/issues/952
2019-09-20 12:56:49 -07:00
tastybento
c5c5731ce3 Return null if user/player is null
Relates to https://github.com/BentoBoxWorld/Level/issues/86
2019-09-20 11:58:33 -07:00
tastybento
ad33d7fc9d Added a stack trace for this error handling. 2019-09-20 11:57:41 -07:00
tastybento
60e85d6512 No wither damage on non-BentoBox game worlds
https://github.com/BentoBoxWorld/BentoBox/issues/954
2019-09-19 15:37:45 -07:00
tastybento
6cd8c70bd4 Pastes default nether or end blueprints if island doesn't exist
Fixes issue where the nether-island or end-island named blueprints were
deleted.

https://github.com/BentoBoxWorld/BentoBox/issues/943
2019-09-15 14:10:52 -07:00
BONNe
fd5f4841b2 Fixed HeadGetter overwriting item amount (#941) 2019-09-14 21:53:28 +02:00
Florian CUNY
115f434a30 Added parsing placeholders in entities' name when pasting blueprints
Implements https://github.com/BentoBoxWorld/BentoBox/issues/898
Also adds a few nullability annotations
2019-09-14 21:51:28 +02:00
BONNe
4206435d65 Easier addon getter by their name (#939)
* Easier addon getter by their name

A small improvement to get a certain addon from its name.
This allows getting addon main class without the necessity to cast if afterwards (as the cast is done in `getAddonByName()` method).

* Use cast on CompositeCommand#getAddons()

This will allow getting correct addon class without casting in code.
Casting will be done in CompositeCommand#getAddons() method.
2019-09-14 21:12:18 +02:00
tastybento
6154e65b6e Merge branch 'develop' of https://github.com/BentoBoxWorld/BentoBox.git into develop 2019-09-13 20:44:03 -07:00
tastybento
deb21e7ed6 Adds GameModeAddon method that is called when BentoBox loads all addons.
Required to fix https://github.com/BentoBoxWorld/BentoBox/issues/940
2019-09-13 20:43:53 -07:00
tastybento
5164b1a02d Leader should not see kicked message
Adds test to make sure leader does not see kicked string and fixes
ignores.
2019-09-13 20:41:14 -07:00
tastybento
797f7146dc Fixed standard nether and end spawn protection. Added test class.
https://github.com/BentoBoxWorld/BentoBox/issues/927
2019-09-12 16:53:35 -07:00
tastybento
65e4868641 Adds try around Vault hook.
https://github.com/BentoBoxWorld/BentoBox/issues/938
2019-09-12 13:04:27 -07:00
tastybento
5c1824050a Added protection against incompatible Dynmap plugins
https://github.com/BentoBoxWorld/BentoBox/issues/938
2019-09-12 07:59:26 -07:00
tastybento
24b1689b03 Merge branch 'develop' of https://github.com/BentoBoxWorld/BentoBox.git into develop 2019-09-08 07:41:33 -07:00
tastybento
692f506261 Merge remote-tracking branch 'origin/separate_world_gens' into develop 2019-09-08 07:40:46 -07:00
Florian CUNY
87e4aeb9fb Added a warning on startup stating to switch from YAML asap 2019-09-08 16:20:48 +02:00
Florian CUNY
d957a50fc1 Fixed compilation issue 2019-09-08 15:37:18 +02:00
Florian CUNY
835f152a45 Decreased default values for 'island.paste-speed' and 'island.delete-speed'
Also updated config comments.
These new values are more suitable to 1.14+ servers, on which chunk loading causes a lot of performance issues.
2019-09-08 15:35:00 +02:00
Florian CUNY
06893223d9 Added 'since' and improved comments for 'island.delete-speed' in config.yml 2019-09-08 15:12:50 +02:00
Florian CUNY
6f16c28591 Fixed a few code smells 2019-09-08 15:10:00 +02:00
Florian CUNY
6aff686763 Made the 'owner kicked you from island' message more precise
Implements https://github.com/BentoBoxWorld/BentoBox/issues/923
This also adds a message sent to island members when the owner resets the island.
2019-09-08 15:04:41 +02:00
Florian CUNY
c90fb88590 Improved "unhandled exception" message in WebManager 2019-09-08 14:49:35 +02:00
Florian CUNY
5cd2df08b8 Catch JsonParseExceptions in WebManager when parsing weblink's json files 2019-09-08 14:49:11 +02:00
tastybento
94cb0fb188 Sets table storage engine to be explicitly InnoDB for MySQL
https://github.com/BentoBoxWorld/BentoBox/issues/934
2019-09-07 11:14:20 -07:00
tastybento
e0c3e41fb4 Fixes multiverse bugs. Needs testing. 2019-09-07 11:01:35 -07:00
tastybento
678f7cf5fc Only register generator with multiverse if a generator is available. 2019-09-04 16:09:42 -07:00
tastybento
f9a5f05987 Adds a delete speed option to BentoBox's config.yml
Reduces the chunk regen speed to 1 chunk per tick or 3 chunks/tick if
there is a nether and end world.
2019-08-31 17:13:19 -07:00
tastybento
2f35a6c77c Sets pos1 and pos2 after pasting island and show clipboard. 2019-08-31 16:39:38 -07:00
tastybento
a8c44ff028 Shifted to using 1.14.4 materials.
Still compatible with 1.13.2.

Fixes https://github.com/BentoBoxWorld/BentoBox/issues/893
2019-08-30 21:01:15 -07:00
tastybento
60d7dfef85 Adds constructor to IslandResetCommand to allow no pasting
This is for games like SkyGrid that do not need pasting of a blueprint.
2019-08-30 10:16:05 -07:00
tastybento
bbbe2565eb Fixed two security issues from sonar 2019-08-29 15:41:56 -07:00
tastybento
fa4c772572 Fixes IslandResetCommand test 2019-08-29 15:32:50 -07:00
tastybento
87168a5ea9 Compile against Spigot 1.14.4 (#919)
Fixes #914.

* Shifts to compile with 1.14.4 API.

Note that this will make some events incompatible with 1.13.2 because of
a class not found error.

* WIP

* Fixed deprecated APIs and ItemStackAdapter test case

* Fixes enderchest test bug.

* Updated server version compatibilities in ServerCompatibility
2019-08-29 21:18:45 +02:00
Florian CUNY
b6fa468b4a Fixed 'Island Respawn' not working for island members
It only worked for the island owner
2019-08-29 14:18:14 +02:00
Florian CUNY
ff95450638 Resetting the islands now automatically kicks all island members
Implements https://github.com/BentoBoxWorld/BentoBox/issues/922
* Improved colors in 'commands.island.reset.resets-left' in en-US locale
* Added a confirmation message to IslandResetCommand, which states about the change ('commands.island.reset.confirmation')
* Subsequently removed the restriction asking to kick all island members prior to resetting the island
* TeamEvent.TeamDeleteEvent is now called upon the kick of the island members, meaning the actual deletion of the team as a side effect.
2019-08-29 14:17:14 +02:00
Florian CUNY
85a5b5b6bc Added SPAWNER_SPAWN_EGGS (WORLD_SETTING) flag
https://github.com/BentoBoxWorld/BentoBox/issues/768
2019-08-29 13:35:35 +02:00
Florian CUNY
c01bb33ce1 Fixed IslandNearCommand not working for island members 2019-08-29 01:14:30 +02:00
Florian CUNY
eea91b6269 Added 'island.name.uniqueness' in the config
Implements https://github.com/BentoBoxWorld/BentoBox/issues/899
Edited IslandsManager#nameExists(...) to strip colors.
2019-08-28 14:44:55 +02:00
Florian CUNY
f63f73a3b7 Added IslandsManager#nameExists(World, String) 2019-08-28 14:29:20 +02:00
Florian CUNY
e8ea537160 Added another nullability annotation 2019-08-28 14:21:31 +02:00
Florian CUNY
edb6d11fc2 Added IslandsManager and IslandCache#getIslands(World) 2019-08-28 14:21:08 +02:00
Florian CUNY
4e86441f6f Added nullability annotations in IslandCache, IslandsManager and Util 2019-08-28 14:19:42 +02:00
Florian CUNY
d41f35e58d Improved config comments for island name related settings 2019-08-28 13:45:38 +02:00
Florian CUNY
9dafeb1d19 Added "since 1.6.0" to Settings#clearRadius 2019-08-28 13:45:11 +02:00
tastybento
1c50bfb21a Added NOSONAR comment 2019-08-27 19:23:48 -07:00
tastybento
b4c2853f27 Merge branch 'develop' of https://github.com/BentoBoxWorld/BentoBox.git into develop 2019-08-27 09:08:31 -07:00
tastybento
52d0544726 Rewrote JSON object loading to avoid throwing exception
Related to 68f90edb2f
2019-08-27 09:08:22 -07:00
Florian CUNY
bcb2f70eca Added the ability to have non-country-specific localizations
This allows us to have, e.g. 'fr', while being able to also distinguish 'fr-FR' and 'fr-CA', or in the case the language is mostly spoken in a single country (e.g. latvian) to only have 'lv' as the name of the file.
As the filename filter has been made drastically laxer than it previously was, it will also allow to create localizations "variants" which will probably be of no use to us, but it's allowed by the terms of the various ISO standards and therefore it's good to at least have the possibility to support that kind of thing.
2019-08-27 13:19:00 +02:00
BONNe
ead0b02454 Added various new panel types (#917)
* Add multiple different types of panel.
- Inventory panel -> current
- Hooper panel -> 5 slot panel
- Dropper panel -> 9 slot in 3 rows

* code formatting and javadoc improvements in Panel

* renamed PanelType to Type

* updated to new enum name + javadoc
2019-08-27 11:52:26 +02:00
tastybento
a0d61006e0 Improved SafeSpotTeleport to limit chunks scanned per tick
Related to https://github.com/BentoBoxWorld/SkyGrid/issues/24
2019-08-26 19:19:45 -07:00
tastybento
ab81074c4d Merge branch 'develop' of https://github.com/BentoBoxWorld/BentoBox.git into develop 2019-08-26 19:17:32 -07:00
Florian CUNY
72b6e1c852 Added a "0 players" category to the playersPerServer metrics chart 2019-08-26 15:43:12 +02:00
Florian CUNY
fad8dd64ae Improved logging for the CleanSuperFlat 2019-08-26 15:26:29 +02:00
tastybento
e4aa19eb87 Merge branch 'develop' of https://github.com/BentoBoxWorld/BentoBox.git into develop 2019-08-25 20:04:28 -07:00
tastybento
a2c42ffcc7 Added IslandInfoCommand test case.
Fixed bug where info with a name would only work with island owners.
2019-08-25 18:13:45 -07:00
tastybento
495c82a720 Added admin getrank command test class.
Fixed bug with getrank permission.

PDX > SJC
2019-08-25 12:49:54 -07:00
BONNe
5c3f53ccfb Disable physic applying on regeneration (#913)
There is no valid reason why block physic should be updated in regen, while in chunk-gen it is disabled.
2019-08-25 17:43:11 +02:00