Commit Graph

1712 Commits

Author SHA1 Message Date
Florian CUNY
321637b9b9 Added comment in config for close-on-click-outside 2020-05-13 17:46:32 +02:00
Florian CUNY
805b376de3 Fixed glass panes in header not having an "empty" name
Relates to https://github.com/BentoBoxWorld/BentoBox/issues/1344
2020-05-13 17:36:19 +02:00
Florian CUNY
32e174daed Fixed a small code smell in LocalesManager 2020-05-13 16:44:22 +02:00
Florian CUNY
ee06a55d02 Better handling of InvalidConfigurationExceptions when updating locale files
Fixes https://github.com/BentoBoxWorld/BentoBox/issues/1290
2020-05-13 16:41:05 +02:00
Florian CUNY
783a68a757 Call the TeamSetownerEvent before making the change in AdminTeamSetownerCommand
Fixes https://github.com/BentoBoxWorld/BentoBox/issues/1349
Also call one of the two "RankChange" event before the change (not doing the latter was a bug, actually).
2020-05-13 16:17:29 +02:00
tastybento
feab01cde8
Add ability for DataObjects to specify custom db table name (#1348)
Automated migration for existing databases is supported.
2020-05-13 10:49:42 +02:00
Florian CUNY
de124ab182 Call a RankChange event for the old island owner in Setowner commands
Fixes https://github.com/BentoBoxWorld/BentoBox/issues/1342
2020-05-09 11:39:17 +02:00
Florian CUNY
937052d378 Fixed addon api-version compatibility check
Fixes https://github.com/BentoBoxWorld/BentoBox/issues/1346
Added a unit test to prevent regressions

Newer BentoBox releases are now properly considered "compatible" to addons expecting an older patch release
2020-05-09 11:26:00 +02:00
tastybento
11510b15fc Add addon top level commands to BentoBox help
This enables admins to see which top level commands have been registered
under BentoBox. As these commands can be defined in config files, it is
not always obvious which one should be used so this help will be useful.
2020-05-08 14:19:50 -07:00
tastybento
9a517446c8 Panel should ignore color codes when checking player name for heads
Fixes https://github.com/BentoBoxWorld/BentoBox/issues/1343
2020-05-07 16:19:09 -07:00
tastybento
2c004ce504 Clear user cache on login.
Fixes https://github.com/BentoBoxWorld/BentoBox/issues/1341

Server calls PlayerTeleportEvent if player is mounted on quit, which
inserts player back into cache. By clearing the cache on login, the
stale player object will be cleared.
2020-05-05 16:26:51 -07:00
tastybento
4a3c9ad8ae Added null checking for world when changing worlds
https://github.com/BentoBoxWorld/BentoBox/issues/1336
2020-05-02 18:54:06 -07:00
tastybento
304867c1f8 Prevents duplicate addon loading.
https://github.com/BentoBoxWorld/BentoBox/issues/1339
2020-05-02 18:51:32 -07:00
tastybento
e39db644b9 Adds better checking for on-join commands
https://github.com/BentoBoxWorld/BSkyBlock/issues/315
2020-05-02 16:57:42 -07:00
tastybento
61fe218a16 Purge was not calculated player logins correctly.
https://github.com/BentoBoxWorld/BentoBox/issues/1333
2020-05-02 16:14:03 -07:00
tastybento
3b50b01eef SafeSpotTeleport was setting home location async
This could cause a race condition setting home to null.

If home was null during a new island creation, then the new island tasks
would not be run because SafeSpotTeleport was not given the runnable.

May be related to:
https://github.com/BentoBoxWorld/BSkyBlock/issues/312
2020-05-02 14:11:37 -07:00
Florian CUNY
31de515b3e Changed the Setting Flags category's icon to COMPARATOR 2020-05-02 14:45:20 +02:00
tastybento
f0564b7c78 Puts a null check on player UUID
It's possible for fake players to have null UUIDs apparently. So this
check avoids an NPE.
2020-05-01 20:48:04 -07:00
tastybento
7bfbfe78a3 Return true if database save executed.
Fixes bug where if no change was made it was reporting an error.
2020-05-02 02:13:45 +02:00
Clément P
6a28ba0b1d
Add support for MongoDB URI (#1330)
Implements #1311
2020-05-01 21:28:52 +02:00
Florian CUNY
faba022a7b Fixed some code smells 2020-05-01 20:51:47 +02:00
BONNe
d47216f2c8
Add AdminSetSpawnPointCommand to DefaultAdminCommand (#1329) 2020-05-01 15:40:54 +02:00
Florian CUNY
d45be091bd Fixed the confirmation warning message showing twice in AdminRegisterCommand
It will now only be sent once, when asking for confirmation
2020-05-01 14:21:25 +02:00
Florian CUNY
4e7a31b0a3 Added some [name] text variables in register/unregister messages
and made some minor tweaks in en-US.yml
2020-04-27 01:31:10 +02:00
tastybento
e381d61c3c Fixes issue where addon has no perms in addon.yml
Fixes https://github.com/BentoBoxWorld/BentoBox/issues/1312
2020-04-26 10:08:45 -07:00
tastybento
17186dd791 Remove unused imports 2020-04-26 08:32:52 -07:00
Florian CUNY
c9298c3ae6 Added BentoBoxReloadLocalesCommand
Implements #1245
2020-04-26 13:18:37 +02:00
Florian CUNY
a1af25b98c Removed tab completion in BentoBoxReloadCommand (unused) 2020-04-26 13:07:48 +02:00
Florian CUNY
b558c905a4 Fixed ConcurrentModificationException on startup
Fixes https://github.com/BentoBoxWorld/BentoBox/issues/1312
Was introduced by 1f3a79127a
2020-04-26 11:45:44 +02:00
tastybento
1f3a79127a
Implements placeholder permissions for addons (#1305)
Implements #1303. 

Addons will no longer need to see their permissions updated each time there is a new gamemode. They can use [gamemode] in their permissions to automatically register the permissions on all available gamemodes.
2020-04-26 01:20:48 +02:00
tastybento
fe58159db3
Adds saveObjectAsync with a CompletableFuture return for databases (#1308)
Deprecates the saveObject() method
2020-04-26 01:00:49 +02:00
BONNe
97341ce657
Add DefaultPlayerCommand and DefaultAdminCommand (#1293)
Helps to implement #498.

Also added 4 new WorldSettings methods:
* getAdminCommandAliases()
* getPlayerCommandAliases()
* getDefaultPlayerAction()
* getDefaultNewPlayerAction()

Co-Authored-By: Florian CUNY <poslovitch@bentobox.world>
2020-04-26 00:57:14 +02:00
YellowZaki
f08c7dece3
Added Addon#reloadConfig() (#1302) 2020-04-26 00:37:03 +02:00
Florian CUNY
46ba40b70d Fixed IslandsManager#getSafeHomeLocation throwing NPE if world is not an island world
Fixes https://github.com/BentoBoxWorld/BentoBox/issues/1306
The method now properly returns null if the world is not an island world.
2020-04-25 14:40:47 +02:00
BONNe
40240c7225
Add AdminSetSpawnPointCommand to change an island's spawn point (#1295)
Implements #937.
2020-04-24 14:33:44 +02:00
tastybento
ae63125f50
Enables UUIDs to be used in admin commands as well as names (#1298)
Implements a solution for #1297.

Adds Util#getUUID(String nameOrUUID)
2020-04-23 21:16:09 +02:00
BONNe
5734709594
Implement ability to change PanelItem amount. (#1299)
Adds #getAmount() and #setAmount(int) in PanelItemBuilder
2020-04-23 20:57:16 +02:00
tastybento
b1dcec2160
Adds API to enable commands to be hidden from help and tab (#1301)
Implements #1300.

Adds CompositeCommand#setHidden(boolean).
2020-04-23 20:54:45 +02:00
tastybento
eee8709636 Combined safe spot checking into one place.
We had two sets of checking with different criteria. This consolidates
them.

Fixes https://github.com/BentoBoxWorld/BentoBox/issues/1296
2020-04-22 18:25:10 -07:00
Florian CUNY
4aba4e1137 Use the "spawn protected" message when the island is a spawn 2020-04-21 20:37:22 +02:00
tastybento
88b331d1e4 MySQL databases were not saving properly on shutdown.
Fixes https://github.com/BentoBoxWorld/BentoBox/issues/1292
2020-04-20 18:37:42 -07:00
Florian CUNY
91ccf51a54 Added option to keep old islands when resetting
Implements https://github.com/BentoBoxWorld/BentoBox/issues/1188
2020-04-20 17:20:12 +02:00
tastybento
b6dd7d114e Revert "Fixed BentoBox not properly disabling if errors at startup (#1285)"
This reverts commit ee2f86ae3b.
2020-04-20 07:26:34 -07:00
tastybento
ee2f86ae3b
Fixed BentoBox not properly disabling if errors at startup (#1285)
Fixes #1281
2020-04-20 13:15:55 +02:00
tastybento
85d5a3a6ac
Adds a single character prefix to database tables (#1278)
* Adds a single character prefix to database tables

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

* Fix tests

* Fix bug with substring
2020-04-18 14:16:36 -07:00
Florian CUNY
0f6852dac6
Fixed reference "cannot-kick" showing up in IslandTeamKickCommand 2020-04-17 15:03:49 +02:00
tastybento
80285b71df Added error message info to Addon config save error 2020-04-15 07:39:37 -07:00
tastybento
9ea672b8e7 Do not run new island clearing jobs if player cannot teleport
https://github.com/BentoBoxWorld/BentoBox/issues/1280
2020-04-13 08:20:36 -07:00
tastybento
f0c50a5211 Remove debug 2020-04-09 22:10:28 -07:00
tastybento
d327ea4a89 Protect paintings from projectiles and being placed.
Fixes https://github.com/BentoBoxWorld/BentoBox/issues/1273
2020-04-09 16:02:51 -07:00
tastybento
b6b9b11f53 Removed unused imports 2020-04-07 13:42:42 -07:00
tastybento
b29da53f43 Revert "Made BentoBoxCommand#setup() default (#1258)"
This reverts commit 7de842e284.
2020-04-07 13:38:44 -07:00
Florian CUNY
5b01f39f9e Fixed tests and logic with coop/trust limits 2020-04-05 15:15:26 +02:00
Clément P
0f2ba0e202
Added coop and trust limits (with permissions) (#1267)
Implements #1065.

Added two new permissions:
* [gamemode].trust.maxsize.[NUMBER]
* [gamemode].coop.maxsize.[NUMBER]

Added two new WorldSettings and related methods in IWM:
* getMaxCoopSize() (defaults to 4)
* getMaxTrustSize() (defaults to 4)

* Add limit for coop players #1065

* Edit comparison sign

* Add limit for trust players #1065

* Add default value and add since javadoc tags

* improved messages

* readded missing "

Co-authored-by: Florian CUNY <poslovitch@bentobox.world>
2020-04-05 14:28:59 +02:00
Florian CUNY
e0d5c7b8bd Fixed the since javadoc tags for the previous commit 2020-04-05 10:34:06 +02:00
Florian CUNY
71fb955114 Implemented prefixes in localizations and a default prefix for BentoBox
Implements https://github.com/BentoBoxWorld/BentoBox/issues/1086

started working on prefixes

added BentoBox prefix
2020-04-05 10:28:16 +02:00
Clément P. (Cleymax)
3bd0ff4a69 Added IslandRankChangeEvent (#1260)
Implements #1135

changed name of the event to append Event to it

Call the event in proper places
2020-04-04 21:57:59 +02:00
NotMyFault
74007a7a9f
Add break-spawner flag (#1263)
* Implements #1130

* Add proper styling to spawner-flag

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

* Enforce yaml style

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

Co-authored-by: Florian CUNY <poslovitch@bentobox.world>
2020-04-04 21:32:59 +02:00
tastybento
f3220e1fda Merge branch 'develop' of https://github.com/BentoBoxWorld/BentoBox.git into develop 2020-04-04 12:31:58 -07:00
tastybento
c987b0ce5c Update copyright info in about command 2020-04-04 12:31:48 -07:00
Clément P
024e5803b5
Add %[gamemode]_on_island% placeholder (#1259)
Implements #1168

* Add 'on_island' placeholder #1168

* removed hard dependency to PAPI's booleans methods

Co-authored-by: Florian CUNY <poslovitch@bentobox.world>
2020-04-04 20:45:10 +02:00
Florian CUNY
7de842e284
Made BentoBoxCommand#setup() default (#1258)
* Made BentoBoxCommand#setup() "default" and deprecated it

* Undeprecated BentoBoxCommand#setup() and changed its javadoc

* Put back setup in IslandGoCommand and IslandSethomeCommand

* Removed setup in AdminPurgeStatusCommand
2020-04-04 20:40:14 +02:00
tastybento
63e6f244bd Remove incorrect JavaDoc and forced use of SafeSpotTeleport builder 2020-04-04 08:20:32 -07:00
tastybento
a0dcb15026 Removed unused import 2020-04-04 08:20:06 -07:00
Florian CUNY
962b7d734a Removed MVdWPlaceholderAPIHook and all related methods
It was increasingly causing issues, ranging from long start times, unreliability with some of our placeholders, to much more...
There's a way for MVdWPAPI users to get PAPI's placeholders, so they should definitely use that instead.
2020-04-04 15:38:29 +02:00
Florian CUNY
2c7316ba21 Added AdminPurgeStatusCommand and improved some purge-related messages
Implements https://github.com/BentoBoxWorld/BentoBox/issues/1254
2020-04-04 15:31:22 +02:00
Florian CUNY
c1741aa37f Improved colors in purge-related messages 2020-04-04 14:32:33 +02:00
Florian CUNY
960a8a7a00 IslandResetCommand now requires "[gamemode].island.reset" permission
Implements https://github.com/BentoBoxWorld/BentoBox/issues/1207
2020-04-03 09:34:57 +02:00
tastybento
02b16c233c Fixes tests. 2020-04-02 14:49:45 -07:00
tastybento
425fb96b90 Use Util version of PaperLib to fix 323 test failures 2020-04-02 13:22:09 -07:00
tastybento
eafeacd739 Annotated loadObject as Nullable
If the table exists but has no data in it, then the return value will be
null.
2020-04-02 12:52:42 -07:00
Nassim
a36ddf5a73
Improved/Fixed experience pickup flag on Paper servers (#1256)
* Fixed experience pickup flag

* Added since and author javadoc tags

Co-authored-by: Florian CUNY <poslovitch@bentobox.world>
2020-04-02 10:43:49 +02:00
Florian CUNY
9e620cbbac Fixed spawn islands that could be purged as unowned
Fixes https://github.com/BentoBoxWorld/BentoBox/issues/1255
Also added a few more tests to prevent regression
2020-03-31 14:30:27 +02:00
Nassim
3125885bf3
Fixed player-not-cooped message key (#1251) 2020-03-30 15:26:09 +02:00
Florian CUNY
7966146304 Added %[gamemode]_visited_island_members_list% placeholder
Implements https://github.com/BentoBoxWorld/BentoBox/issues/1246
2020-03-30 15:19:12 +02:00
tastybento
25d43c4f9f Removes velocity on teleporting
https://github.com/BentoBoxWorld/BentoBox/issues/1248
2020-03-28 09:42:55 -07:00
Florian CUNY
1afd6ad014
Fixed enum reference of the "island_members_list" placeholder 2020-03-26 09:27:41 +01:00
tastybento
f7a6eb718c Adds bskyblock_island_members_list placeholder
https://github.com/BentoBoxWorld/BentoBox/issues/1243
2020-03-25 21:18:58 -07:00
Florian CUNY
a9fdda9ba1 Updated api version to 1.15 2020-03-22 16:17:48 +01:00
Florian CUNY
db9d2acf18 Fixed minor code smells 2020-03-21 11:29:33 +01:00
Florian CUNY
e322f4047a Moved BSTATS_ID to the BStats class 2020-03-21 10:49:58 +01:00
Florian CUNY
979fc021d0 Removed unused field in IslandPreclearEvent and fixed typo in docs 2020-03-21 10:47:29 +01:00
Florian CUNY
3f3ea689e6 Improved useSSL config comment 2020-03-21 10:45:44 +01:00
Florian CUNY
9aa6122a83
Fixed 'useSSL' option path in Settings 2020-03-20 10:23:25 +01:00
tastybento
1933d498f6 Fixes handling of negative perms for value setting
https://github.com/BentoBoxWorld/Limits/issues/73#issuecomment-600748928
2020-03-18 14:18:38 -07:00
tastybento
1429c0a763 Add protection for bee nests and hives
Fixes https://github.com/BentoBoxWorld/BentoBox/issues/1237
2020-03-18 14:10:53 -07:00
Nassim
706bed62ec
Fixes potion splash pvp check (#1230)
Before this change, the entire potion splash would be cancelled if a single protected player would have been affected. Now, it will only remove the protected players themselves from the affected list.
2020-03-18 08:36:03 +01:00
Florian CUNY
c57b56f1f0
Fixed typo in updated playerPerServer bStats chart 2020-03-18 08:34:19 +01:00
NotMyFault
530a76b0a8
Improve bStats playersPerServer chart (#1225)
Updated bStats to 1.7.
Removed the "metrics" config option as it is now part of bStats's own `config.yml`.
2020-03-18 08:32:35 +01:00
tastybento
41e9bccc67 Load chunks async for every block pasted.
This loads every chunk async based on the block or entity being pasted.
2020-03-17 23:14:43 -07:00
tastybento
cf986925a0 Added protection in against a misnamed default language tag. 2020-03-17 23:13:38 -07:00
tastybento
5ca51f244e Sets spawn island protection ranges to be the max by default. 2020-03-17 18:20:02 -07:00
tastybento
3f4bd2418f Log error if hook is unsuccessful 2020-03-17 18:18:12 -07:00
tastybento
b67dbf0cb9 More robust method to unload classes.
In some situations there can be a concurrent modification error that
occurs when unloading the classes.
2020-03-13 19:47:26 -07:00
tastybento
0a86ddd0ab Fixes island creation on joining.
Fixes https://github.com/BentoBoxWorld/BentoBox/issues/1221

The original code could actually never work because the check for
whether a player had played before or not was occuring immediately after
addPlayer, which added the player to the server. Also, the code to run
was running in a thread and not on the main thread, so if it had run
could have caused errors.
2020-03-10 18:30:50 -07:00
BONNe
f111bb9244
Implement option to enable SSL connection for MongoDB, MariaDB, MySQL and PostgreSQL connectors. (#1206) 2020-03-08 19:35:31 -07:00
tastybento
9f046be8f6 Fixes bug where any player can reset island settings.
Fixes https://github.com/BentoBoxWorld/BentoBox/issues/1219
2020-03-08 19:32:49 -07:00
tastybento
34ce9d3fc2 Speed up new island spot search.
Relates to https://github.com/BentoBoxWorld/CaveBlock/issues/44
Added a test case to benchmark search algorithms.
2020-03-06 18:04:38 -08:00
tastybento
30d9ed3887 Fixes https://github.com/BentoBoxWorld/BentoBox/issues/1216 2020-03-05 16:47:52 -08:00
tastybento
669986b422 Added IslandEventTest class and fixed bugs with IslandEvent
IslandReserveEvent was missing.
2020-03-04 19:02:50 -08:00
tastybento
ca3fdf81e1 Preclear event was not using oldIsland argument. 2020-03-04 18:49:41 -08:00
tastybento
7d534d7617 Changed Island copy constructor to use getters to fix tests. 2020-03-04 18:48:35 -08:00
tastybento
aad7f1c482 Fixed IslandPrelearEvent so it is generated. 2020-03-04 17:33:36 -08:00
tastybento
a4362ce859 Addon saveResource overwriting was not working
The method saveResource can take a boolean as an argument to indicate
that the resource should be overwritten from the jar. This was not
working and is fixed.
2020-03-01 21:55:16 -08:00
tastybento
b4a1398fcb Limits island height to value values only.
Relates to https://github.com/BentoBoxWorld/SkyGrid/issues/39
2020-02-29 15:29:24 -08:00
tastybento
8393784498 Fixes projectile damage by block bug
Fixes https://github.com/BentoBoxWorld/BentoBox/issues/1211
2020-02-29 10:04:59 -08:00
tastybento
b189ebde65 Ignores colors when checking panel names
Fixes https://github.com/BentoBoxWorld/BentoBox/issues/1202

Black is a default color so there can be a mismatch between the
inventory title and the expected title if colors are used. In general,
it is safer not to check colors for GUIs.
2020-02-21 18:53:20 -08:00
tastybento
65dbd530d5 Added IslandPreclearEvent
This event gets called prior to an island being cleared of players and
other data. This can happen before a reset or an admin delete. It is
there so addons can perform tasks on the players before the island is
cleared.

Fixes https://github.com/BentoBoxWorld/BentoBox/issues/1200
2020-02-20 16:56:35 -08:00
Draww
1e71d67a9b
Added #getOldIsland() in island reset-related events (#1179)
* Reaching Old Island information in Island reset events

* Added javadocs since tags

* added javadoc since tags for new field/method in builder

Co-authored-by: Florian CUNY <poslovitch@bentobox.world>
2020-02-19 22:36:05 +01:00
Florian CUNY
795925f0cd Added %[gamemode]_deaths% placeholder
Implements https://github.com/BentoBoxWorld/BentoBox/issues/1197
2020-02-19 00:58:36 +01:00
Florian CUNY
5cd2287d3a Added ConfigEntry#needsRestart()
It prints a comment in the config telling that the server must be restarted in order to take the changes into account.
2020-02-17 19:37:53 +01:00
Florian CUNY
4921056fc8 Added 'ver' alias to version commands 2020-02-17 17:40:04 +01:00
Florian CUNY
7bb65346b8 Added nullability annotations in LocalesManager 2020-02-16 14:33:22 +01:00
tastybento
06b5aac36f
Added LIMIT_MOBS flag (WORLD_SETTING) (#1155)
It provides a way to prevent selected EntityTypes from spawning at all.
Partially implements https://github.com/BentoBoxWorld/BentoBox/issues/1133
2020-02-16 13:12:32 +01:00
tastybento
295d985024 Removed unused import. 2020-02-14 08:13:20 -08:00
tastybento
77a2a7add5 Added exception catch for getClass in AddonsManager. 2020-02-14 08:12:49 -08:00
Florian CUNY
9abf65709d Added a message sent to all players on an island when PvP is toggled
Implements https://github.com/BentoBoxWorld/BentoBox/issues/1081

Also removed the "protection.flags.PVP_OVERWORLD.active" message as it seemingly wasn't used.
2020-02-13 10:25:18 +01:00
Florian CUNY
f04a4fb522 Added a message if scooping obsidian into lava fails due to nearby obsidian blocks
Improved messages related to obsidian scooping
2020-02-12 20:31:06 +01:00
Florian CUNY
120be13b36 Fixed and improved Breeding protection
It wasn't catching breeding with some newer animals (Pandas, Foxes...), was a bit overprotective (it could prevent feeding some animals), or wasn't catching some breeding items (Golden Carrots, ...).
I rewrote it so that every animal is now protected with the foods that actually make them breed (based off the MC wiki page about Breeding).
Once we will move to 1.15 API, we will have to add BEES in that.
2020-02-12 11:36:08 +01:00
Florian CUNY
cc0d981e62 Added javadoc to BlueprintPaster's chunkLoadTime field 2020-02-11 16:02:39 +01:00
Florian CUNY
c5eb8ac7e7 Fixed some code smells 2020-02-11 11:28:15 +01:00
Florian CUNY
a240a6598d Fixed DYE protection being always called when interacting with sheeps 2020-02-11 11:14:55 +01:00
tastybento
9f65537ab8 Load chunks before pasting islands. Runs async.
1.15.2 can take a looooong time to load a chunk, sometimes up to 10
seconds.

https://github.com/BentoBoxWorld/BentoBox/issues/1180
2020-02-10 20:14:43 -08:00
Florian CUNY
5e02954a54 Fixed NoClassDefFoundError caused by changes to the addon version compatibility algorithm
Fixes https://github.com/BentoBoxWorld/BentoBox/issues/1177.
It was introduced in 332967950f.
2020-02-08 09:55:55 +01:00
tastybento
05a4b2d2c7 Adds new perm for bypassing delayed commands.
Fixes https://github.com/BentoBoxWorld/BentoBox/issues/1136
2020-02-07 18:42:39 -08:00
tastybento
332967950f Fixes the API checking algorithm.
Fixes https://github.com/BentoBoxWorld/BentoBox/issues/1176
2020-02-07 18:25:40 -08:00
tastybento
d972dd10c1 Change priority of PlayerPortalEvent in PortalTeleportationListener
https://github.com/BentoBoxWorld/BentoBox/issues/1101
2020-02-07 14:07:12 -08:00
tastybento
898e310e4f Handle null itemInHand for BlockPlaceEvent
Officially, null is invalid as an in-hand item. It should be AIR.

Fixes https://github.com/BentoBoxWorld/BentoBox/issues/1172
2020-02-07 11:52:01 -08:00
tastybento
ab89e4835e Fixes island center startx/z correction.
https://github.com/BentoBoxWorld/BentoBox/issues/1169
2020-02-04 12:20:31 -08:00
tastybento
2a4522d7c3 Merge branch 'develop' of https://github.com/BentoBoxWorld/BentoBox.git into develop 2020-02-02 11:54:56 -08:00
Florian CUNY
2e3b9962c8 Fixed "PVP disabled in ..." messages not using world-specific messages.
No matter which dimension the player was in, in some cases, it was telling "PVP disabled in the Overworld".
2020-02-02 11:07:27 +01:00
Florian CUNY
61fde3bceb Made AdminWhyCommand send debug messages to the issuer (if it is a player)
Implements https://github.com/BentoBoxWorld/BentoBox/issues/1126
2020-02-01 23:42:52 +01:00
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