Commit Graph

1770 Commits

Author SHA1 Message Date
tastybento
c2375e7f50 Paginates geo limited mob settings. 2020-08-20 19:33:42 -07:00
tastybento
e8d5e66514 Paginate the mob limiter settings page
Fixes https://github.com/BentoBoxWorld/BentoBox/issues/1451
2020-08-20 19:03:33 -07:00
tastybento
1e4056e33a Clears player cache by name and UUID
Previously only UUID was checked, but joining with a name and different
UUID is possible. This clears out the cache so commands that look up
names like ban do not use the old UUID.

https://github.com/BentoBoxWorld/BentoBox/issues/1468
2020-07-25 14:37:45 -07:00
tastybento
22724077bb Remove range instead of add it.
Fixes https://github.com/BentoBoxWorld/BentoBox/issues/1466
2020-07-24 14:23:05 -07:00
tastybento
284b5865da Prevents instant lava placing when scooping.
https://github.com/BentoBoxWorld/BentoBox/issues/1459
2020-07-22 22:29:37 -07:00
tastybento
ab6799c159 Remove fancy error printing. Just print raw error. 2020-07-16 12:32:51 -07:00
tastybento
95b0250ece Fixes infinite loop particle bug with blueprint copy/paste
Code analysis suggested this line could be simplified, but it resulted
in an infinite loop call to itself: spawnParticle(particle, dustOptions,
(double) x, (double) y, (double) z);
2020-07-15 19:54:56 -07:00
tastybento
e364094a4f This stops BentoBox if there is an island distance mismatch. 2020-07-15 18:09:32 -07:00
Florian CUNY
41c3d554f5 Added javadoc since tags in HeadGetter.java 2020-07-13 22:37:08 +02:00
BONNe
fa259611fe
Rework PlayerHead Getter. (#1446)
* Rework PlayerHead Getter.

Generate player head based on WebAPI (as it is faster) and GameProfile texture (require NMS).
Cache is suitable for storing into file format.
Add ability to add custom HeadCache object into local cache.
Add ability to modify cache keeping length.
Add ability to keep all, or just a single element into cache until server restart.

* Address issues/improvements suggested from review.

- config will store time in minutes.
- default value will be 1h.
2020-07-11 14:13:32 +02:00
tastybento
0df69f1498 Fixes issue with Postgres DB
Refactor code around using quotes for uniqueId's. It's required for
MYSQL but not for SQLITE or POSTGRESQL.

https://github.com/BentoBoxWorld/BentoBox/issues/1449
2020-07-10 22:18:47 -07:00
tastybento
bdbfd33a34
Fixed code smells (#1444)
* Code smell changes

* Fixes issues raised in reviews.
2020-07-09 09:03:01 +02:00
tastybento
0126c44a06 Removed redundant code in TabbedPanel 2020-07-04 17:17:35 -07:00
tastybento
83c0713ddf Fixes a bug where not items were shown in settings
The addition of a bottom control bar to the tab was covering up the
panel items so 9 items would be missing. This makes it so 36 items show
instead of 45.
2020-07-04 13:47:16 -07:00
Florian CUNY
5e0e19a1be Breaking boats/minecarts is now handled by their respective flags
Fixes https://github.com/BentoBoxWorld/BentoBox/issues/1430
Improved description for MINECART and BOAT flags
2020-07-04 13:11:09 +02:00
tastybento
35224ed664 Handles PIG_ZOMBIE to ZOMBIFIED_PIGLIN compatibility
When reading config files, PIG_ZOMBIE will be converted to
ZOMBIFIED_PIGLIN if server is 1.16.1+. If downgrading, it'll convert
down to PIG_ZOMBIE.
2020-07-03 12:36:24 -07:00
tastybento
2b5deb4133 Added unregisterFlag method to FlagManager
This was requested on Discord. Enables plugs or addons to tidy up flags
if they are disabled for some reason.
2020-07-02 16:05:42 -07:00
tastybento
bf36ec5dd8 Enable backwards compatibility.
Adds protection for bee breeding too.
2020-06-30 15:50:12 -07:00
Florian CUNY
2773c4a104 Added BREAK_HOPPERS protection flag
Implements https://github.com/BentoBoxWorld/BentoBox/issues/1331
2020-06-29 17:44:13 +02:00
tastybento
89849442a9 Protected hoglin and strider breeding
Fixes https://github.com/BentoBoxWorld/BentoBox/issues/1419
Fixes https://github.com/BentoBoxWorld/BentoBox/issues/1418
2020-06-28 15:05:48 -07:00
tastybento
a1a3913fe7 Refactor to use computerIfAbsent instead of putIfAbsent 2020-06-28 09:16:05 -07:00
tastybento
23fecdea54 Improves HeadGetter and Panel
Will replace more than one head in a panel if found.
2020-06-28 09:15:42 -07:00
tastybento
b87533fffb
Introducing (limited) 1.16.1 support (#1416)
* 1.16.1 changes

* Fixed failing tests in PhysicalInteractionListener
HOWEVER, the code somehow no longer protects the pressure plates... I'm investigating that.

* Implemented future-proof buttons, doors, fence gates, trapdoors protection

* Protected REDSTONE_WIREs under "REDSTONE" flag
Fixes https://github.com/BentoBoxWorld/BentoBox/issues/1421

* Fixed bug with pressure plates

* Fixed params order in assertEquals in PhysicalInteractionListenerTest

* Fixed EnderChestListenerTest errors

* Fixed most errors in BlockInteractionListenerTest

* Added 1.16.1 to ServerCompatibility

* Fixed BlockInteractionListenerTest

* Fixed backwards compatibility in BlockInteractionListener
Also made use of existing Tags (ANVIL, BEDS, SHULKER_BOXES)

* Fixed BlockInteractionListenerTest (again)

* Fixed backwards compatibility in PhysicalInteractionListener

Co-authored-by: Florian CUNY <poslovitch@bentobox.world>
2020-06-26 22:09:33 +02:00
Florian CUNY
51c69f34af Added some basic javadoc header to HeadCache 2020-06-26 17:15:15 +02:00
tastybento
4e56ff8c92 Keeps heads for 3 minutes in cache
It appears that heads are being "forgotten" by the server after a few
minutes (not sure how long) so caching forever doesn't help. This causes
blocking calls when the head is set.

https://github.com/BentoBoxWorld/Level/issues/159
2020-06-26 07:47:19 -07:00
Florian CUNY
0e3535d0cc Added language selection using command (as alternative to GUI)
Implements https://github.com/BentoBoxWorld/BentoBox/issues/1411
The IslandLanguageCommand now have tab-completion.
Added LocalesManager#isLocaleAvailable(Locale).
2020-06-22 18:52:16 +02:00
tastybento
1ebae9b1a4
Uses completablefutures to paste islands sequentially (#1410)
* Uses completablefutures to paste islands sequentially

* Removes debug
2020-06-22 00:01:30 +02:00
Florian CUNY
cffa294f0e Removed credits for non-installed addons
It causes a lot of unnecessary GitHub API calls which can cause rate-limits.
2020-06-21 17:51:19 +02:00
Florian CUNY
ad0b01fbc8 Added javadoc about deprecated flags on Flags#values 2020-06-21 17:47:48 +02:00
Florian CUNY
cbbd361b03 Split the animal/monster spawn flags to "natural" and "spawners"
Implements https://github.com/BentoBoxWorld/BentoBox/issues/1351
2020-06-21 17:47:01 +02:00
Florian CUNY
aa9a4d16f1 Added ability to replace [name] by the island owner's name when pasting an entity from a blueprint 2020-06-17 21:28:00 +02:00
tastybento
7ee706c982 Fixes elytra protection. Adds test class.
https://github.com/BentoBoxWorld/BentoBox/issues/1403
2020-06-16 19:12:07 -07:00
tastybento
2cefdcca3f
Adds stack trace to onLoad if there's a LinkageError (#1399)
Fixes https://github.com/BentoBoxWorld/BentoBox/issues/1362

There was already one for onEnable. This just adds the same to onLoad,
which was missing.
2020-06-14 11:13:15 +02:00
tastybento
09072282bb
Replaces command running with single Util method (#1374)
Adds respawn commands.
2020-06-13 18:51:05 -07:00
tastybento
0fec5aec51 Added insufficient rank error and fixed tests.
The no permission error was being added, but thats wrong because it's
not lack of permission but lack of rank that is the issue. This adds a
new error and shows it in the various commands.
2020-06-06 17:01:09 -07:00
tastybento
593ee69c5b Prevents fires from lightning if FIRE_IGNITE is not set for visitors
https://github.com/BentoBoxWorld/BentoBox/issues/1383
2020-06-02 18:28:56 -07:00
Florian CUNY
73ab103098 Fixed some code smells 2020-06-02 14:22:46 +02:00
Florian CUNY
5d08f15d5f Removed Schem to Blueprint conversion
It was introduced in BentoBox 1.5.0 and bStats shows that all the servers are using BentoBox 1.5.3+. We can therefore safely remove this from BentoBox.
2020-06-02 14:01:35 +02:00
Florian CUNY
2e04619cd9 Got rid of a null-check for blueprints' names
Blueprints' names can no longer be null
2020-06-02 10:29:05 +02:00
Florian CUNY
f4e3eda98c Removed deprecated (as of 1.6.0) SafeSpotTeleport.Builder.overrideGamemode() 2020-06-02 10:25:40 +02:00
tastybento
38db699801
Uses async location loading for home teleporting (#1381)
Fixes https://github.com/BentoBoxWorld/BentoBox/issues/1241

Co-authored-by: Florian CUNY <poslovitch@bentobox.world>
2020-06-02 10:22:35 +02:00
tastybento
a6d6895676 Fixes admin blueprint delete command
https://github.com/BentoBoxWorld/BentoBox/issues/1382
2020-06-01 12:15:49 -07:00
tastybento
9df54ff07f
Show unknown versions (#1379)
Co-authored-by: Florian CUNY <poslovitch@bentobox.world>
2020-05-30 21:59:16 +02:00
tastybento
6fa89b0b4d
Uses Locale.ENGLISH for toLowerCase and toUpperCase (#1378)
The locale should be explicitly declared otherwise the default locale of
the operating system will be used, which may result in unexpected bugs.
2020-05-30 21:52:05 +02:00
tastybento
d6b2a88b32 Fixes rank checking for team invites
Only owners could invite players successfully. This now checks based on
rank.
Added a method to allow rank checking on UUID. Had to make tests be
specific to the User.class.

https://github.com/BentoBoxWorld/BentoBox/issues/1377
2020-05-30 11:22:05 -07:00
tastybento
0e10563ae6 Explicitly use UTF-8 when scanning file for YAML comments
Fixes https://github.com/BentoBoxWorld/BentoBox/issues/1372
2020-05-27 16:32:20 -07:00
tastybento
7b28c67db0 Remove slash from front of perform command
https://github.com/BentoBoxWorld/BentoBox/issues/1369
2020-05-26 12:31:56 -07:00
tastybento
502aaa87a4
Enables game modes addons first (#1368) 2020-05-26 10:04:53 +02:00
tastybento
fdb4df3d93 Show correct missing permission for multi sethome command
Fixes https://github.com/BentoBoxWorld/BentoBox/issues/1367
2020-05-25 16:44:22 -07:00
tastybento
2e0ca14729
Uses perform command instead of direct call. (#1359)
* Uses perform command instead of direct call.

Goal is to enable 3rd party alias plugins to catch the command.

* Fires PlayerCommandPreprocessEvent before performCommand

Adds a / to the front of the default player commands.

Fixes issue with MyCommand plugin.

* Fixes tests
2020-05-23 19:53:55 -07:00
Florian CUNY
b9915dba98 Renamed a variable in WebManager to make it less confusing 2020-05-19 17:56:10 +02:00
Florian CUNY
4209afaf20 Fixed Flags being sorted due to their text color
Colors are now stripped, so that all Flags are properly alphabetically sorted
2020-05-19 17:40:51 +02:00
Florian CUNY
7dc39946f1 Improved paging layout for TabbedPanels 2020-05-19 17:29:45 +02:00
tastybento
64b5675bf0 Adds %gamemode_owns_island% placeholder
https://github.com/BentoBoxWorld/BentoBox/issues/1355
2020-05-15 17:53:22 -07:00
tastybento
5e1f095b9d Use try-with-resources to close ResultSet in SQLite handler. 2020-05-13 18:02:06 -07:00
tastybento
72bbac2594 Remove unused import 2020-05-13 17:58:02 -07:00
Florian CUNY
7b476d6bd8 Play a sound when resetting the island flags to default 2020-05-13 18:18:46 +02:00
Florian CUNY
f66fafd0aa Added config option to define the item to use to fill gaps in Panels
Implements https://github.com/BentoBoxWorld/BentoBox/issues/1344
Addons should also use this setting as much as possible when dealing with Panels
2020-05-13 18:06:15 +02:00
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