Commit Graph

3656 Commits

Author SHA1 Message Date
tastybento
d3123a75bb Add 1.21.1 support 2024-08-11 16:34:31 -07:00
tastybento
67dd30e709 Merge branch 'develop' of https://github.com/BentoBoxWorld/BentoBox.git into develop 2024-08-11 16:20:29 -07:00
tastybento
3c29f88d23 Put a try catch around head getting #2464 2024-08-11 16:20:20 -07:00
tastybento
50dba5cb82 Use valueOf as the class is no longer an Enum 2024-08-10 20:06:39 -07:00
tastybento
ed700a1915 Use a common method for Events so they can be changed easily. 2024-08-10 20:04:34 -07:00
tastybento
21efeb813b Make the catch specific to the potential error 2024-08-07 21:46:31 -07:00
tastybento
d2a6398b4d Add a try around the new API for glow and fallback to old way #2459 2024-08-07 21:29:26 -07:00
tastybento
3194195009
Merge pull request #2454 from BentoBoxWorld/2436_placeholder
Added placeholder to show if a player is on an island or not
2024-08-05 17:39:30 -07:00
tastybento
ac9aa91532 Fix tests 2024-08-05 17:38:53 -07:00
tastybento
220fc72a21
Merge pull request #2458 from BentoBoxWorld/2456_mysterious_exception
More code to clean up when an island is deleted. #2456
2024-08-05 17:06:21 -07:00
tastybento
c9c57e113f More code to clean up when an island is deleted. #2456 2024-08-05 12:22:32 -07:00
tastybento
2f055b2a8e Handle nulls if they happen 2024-08-03 09:03:19 -07:00
tastybento
afe07a8c23 Register and unregister done properly 2024-08-02 08:05:53 -07:00
tastybento
0766f2967d Merge branch 'develop' of https://github.com/BentoBoxWorld/BentoBox.git into develop 2024-08-02 07:45:46 -07:00
tastybento
505de3b5f9 Use a long to calculate the purge limit. This may solve a problem
reported on Discord. Suspect is that there may be a calculation
overflow.
2024-08-02 07:45:38 -07:00
tastybento
fc589334df
Merge branch 'develop' into API-hideWhen 2024-08-01 10:14:03 -07:00
tastybento
fc22fd23da Fix for NPE when unregistering islands via console
Issue is that console does not have a UUID to log.
2024-07-30 21:48:16 -07:00
TreemanK
ef86bdbdc5 feat: further api improvements hideWhen 2024-07-29 11:39:56 +10:00
tastybento
d704aa9c67 Use dedicated glint API instead of enchantments 2024-07-28 15:43:04 -07:00
tastybento
cccc9ee98d WIP 2024-07-28 15:27:44 -07:00
tastybento
f4d3e791d6 Provides an API to hide sub-flags #2437 2024-07-27 21:22:08 -07:00
tastybento
fcff388810 Add placeholders for trusted and coop island members #2445 2024-07-27 13:39:37 -07:00
tastybento
05eef0f8ef Fix for #2446 that showed console error when player joined. 2024-07-27 13:18:15 -07:00
tastybento
4bfd405c4e Add try/catch around potioneffects for older servers 2024-07-23 13:19:24 -07:00
tastybento
93d50db77f #2442 Fixes issue with loading blueprints with villagers on 1.21 2024-07-23 10:37:10 -07:00
tastybento
30ffc5f919 Shift InventoryClickEvent listener to LOW priority #2433 2024-07-16 22:06:47 -07:00
tastybento
c1582a81cd Prevent concurrent modification exception 2024-07-16 21:39:57 -07:00
tastybento
c6ed2a8ccd Merge branch 'develop' of https://github.com/BentoBoxWorld/BentoBox.git into develop 2024-07-16 20:54:57 -07:00
tastybento
d9ef8dfd10 Remove isGenerated checks 2024-07-16 20:54:47 -07:00
tastybento
72515170d4
Merge branch 'develop' into 2422_flags_for_1.21 2024-07-16 17:11:18 -07:00
tastybento
18cd62dd6c Slight tweak to not cause lag due to a inGenerated query 2024-07-14 21:49:51 -07:00
tastybento
570fe7448e WIP Try to add protection to decorative pots. 2024-07-14 21:44:43 -07:00
tastybento
b4ecb1dadd Fix tests 2024-07-14 20:21:33 -07:00
tastybento
1c5a52de4c Added test class for candles 2024-07-14 16:23:14 -07:00
tastybento
16592c595b Added CANDLES and BELL_RINGING flags and protections 2024-07-14 16:02:00 -07:00
tastybento
3d00191b90 Enhance to include gates, trapdoors, and doors 2024-07-14 15:23:25 -07:00
tastybento
b2d5e0b84e Add protection for Wind Charge explosions #2422 2024-07-14 15:10:32 -07:00
tastybento
2d9bbb9cc1 Support for new trial spawners protection 2024-07-09 07:31:25 -07:00
tastybento
2733e31535 Remove nonNull annotation because it is wrong. 2024-07-09 07:31:09 -07:00
tastybento
34060740c7
Merge pull request #2427 from Hephaisto-dev/patch-1
Update Island.java
2024-07-07 21:40:35 -07:00
tastybento
945728ccac Prevents Creative players from getting player heads.
Waits a tick before closing the inventory.
2024-07-07 20:07:24 -07:00
Héphaïsto
2b1f18eafe
Update Island.java
fix doc
2024-07-07 13:25:12 +02:00
tastybento
251abae6cb
Merge pull request #2425 from BentoBoxWorld/2424_Name_lookup_from_UUID_takes_too_long
2424 name lookup from UUID takes too long
2024-07-05 11:04:45 -07:00
tastybento
a8f01f746e Add a UUID Fetcher class in Utils - not used right now 2024-07-05 10:19:37 -07:00
tastybento
cb2d0e7efd Add cache for name lookup 2024-07-05 10:19:21 -07:00
tastybento
f4604b4c27 Fix to make it work 2024-07-03 16:39:43 -07:00
tastybento
755452cd3c Added support for serializing Pairs 2024-07-03 15:43:17 -07:00
TreemanK
6bb148ec76 fix: typo 2024-07-03 13:06:47 +10:00
tastybento
5e0d80e514 Don't make constants that depend on Bukkit 2024-07-02 11:35:26 -07:00
tastybento
ff1438f3a3 Add onDisable override method to Pladdon 2024-07-02 08:47:09 -07:00
tastybento
0ffa213fd2 Adds more island cache methods. Adds tests. 2024-07-01 08:46:17 -07:00
tastybento
59fd8d94b5 Merge branch 'develop' of https://github.com/BentoBoxWorld/BentoBox.git into develop 2024-06-29 15:44:56 -07:00
tastybento
58937d6353 Add 1.21 compatibility 2024-06-29 15:44:47 -07:00
TreemanKing
534fd675b3
feat: new flag - handle tamed animals (#2412) 2024-06-24 07:31:53 -07:00
tastybento
24fa4fe8d3 Fix for #2413 - support for 1.20.1 2024-06-23 17:18:29 -07:00
tastybento
2f9e3c42fd
Better migration of databases relates to #2404 (#2411)
Also, adds support for 1.21.
2024-06-19 09:08:07 -07:00
tastybento
09c5cbb449 Merge branch 'develop' of https://github.com/BentoBoxWorld/BentoBox.git into develop 2024-06-14 21:43:23 -07:00
tastybento
894b063694 Split out the Paper-only event 2024-06-14 21:43:13 -07:00
tastybento
d23f15f16f
Rework tests to not break so much with constant definitions (#2407) 2024-06-14 18:49:08 -07:00
tastybento
96564275a8
Support nms pasting (#2406) 2024-06-14 13:10:01 -07:00
tastybento
86e5a02516
Fix for #2402 player record was deleted on quit (#2403)
This was due to the changes to the Player cache. On quit the cache was
cleared, but this was also deleting the player from the database.
2024-06-10 16:16:00 -07:00
tastybento
156c3da3bb
Add command to teleport users. (#2399)
* Add command to teleport users.

* Fix bugs
2024-06-02 18:23:23 -07:00
tastybento
0938df8824
Added API methods for direct database loads and saves #2396 (#2398)
* Added API methods for direct database loads and saves #2396

* Fix test
2024-06-02 18:05:48 -07:00
tastybento
f68af5529f Remove concurrent hashmap because it cannot handle null values.
Need to use another approach if concurrency is required.
2024-06-02 18:04:54 -07:00
tastybento
d831722821
Shift to using ConcurrentHashMap (#2397)
Sometimes, these calls are made async, but as they now update the cache,
there could be concurrency issues. This fixes that.
2024-06-02 08:30:40 -07:00
Minecraft_15
961a35bace
Corrected translation errors (#2391)
* Delete src/main/resources/locales/zh-CN.yml

delete old language file(zh-CN)

* Readd language zh-CN.yml

Corrected translation errors
2024-06-02 08:26:38 -07:00
tastybento
affb0c263a
Added %[gamemode]_visited_island_rank% #2390 (#2395)
* Added %[gamemode]_visited_island_rank% #2390

* Fix test
2024-06-01 12:25:34 -07:00
tastybento
250c7950f9 Fixes for Island cache issues
Fix the size check and the new island creation.
2024-06-01 11:42:22 -07:00
tastybento
01dcd6ecc6
Adds more options around getting islands and caching (#2394)
Sometimes, there is a need to get an island once but not cache it. For
example, when loading addons they may need to scan all the islands, but
not have them cached.
2024-06-01 08:37:37 -07:00
tastybento
475f6372e2 Added defensive code for JUnit testing 2024-05-31 17:11:43 -07:00
tastybento
8e68349004 Add way to bypass code during testing, if required. 2024-05-31 17:04:13 -07:00
tastybento
fc9b00233b
Sends messages only once to all players on the island (#2389)
Was sending to visitors and all players so visitors saw it twice.
2024-05-26 17:56:46 -07:00
tastybento
1fd4a9043f
Protect pumpkins from being sheared (#2388)
Requires Paper
2024-05-26 17:45:45 -07:00
tastybento
ee3b0bfcc2
Update en-US.yml (#2387) 2024-05-26 17:36:45 -07:00
tastybento
35704b3fd3
Update zh-CN.yml (#2386) 2024-05-26 17:34:01 -07:00
tastybento
60fa60372d Fix tests 2024-05-26 17:27:41 -07:00
tastybento
8b0a5a3d0b Do not load all players just to get a name. 2024-05-26 17:01:02 -07:00
tastybento
ca15740a8c
Fixes a bunch of items related to making the cache smaller (#2383)
* Fixes a bunch of items related to making the cache smaller

* Fix test
2024-05-25 22:38:53 -07:00
tastybento
5e5707f2a2
Fixes #2377, was not accounting for unknown UUIDs (#2380) 2024-05-24 16:43:55 -07:00
tastybento
ef58838c41
Fixes #2378 where an unknown UUID was yielding null instead of "" (#2379) 2024-05-24 15:57:46 -07:00
BONNe
885d2449d9
Fixes creeper ignation by visitors (#2375)
This fixes a long-standing bug which was introduced with a code that prevented hostile entities from targeting visitors.  

As player was not a target for creeper it allowed it to explode.

This code change prevents visitors from igniting creepers as I do not see a reason why we should allow them to ignite them, while still protecting from griefing. 

Addresses issue reported in #2372
2024-05-24 07:22:20 -07:00
tastybento
888b485f82 Fixes #2376 2024-05-24 07:18:39 -07:00
tastybento
e2d9c2ce34
Avoids loading islands into cache unless they are needed. (#2373)
* Avoids loading islands into cache unless they are needed.

* Adjust methods that were calling all islands

When we cached all island, this was an inexpensive call but not now. The
methods remain but pull from the database directly. The use of them were
changed to be player specific.
2024-05-23 21:42:14 -07:00
tastybento
8aba736383
Fixes breaking rooted dirt exploit (#2371) 2024-05-19 15:35:38 -07:00
tastybento
50276cb8e5 Abstract out getting and setting islands by ID
This is preparation for potentially making the cache smaller and pulling
from the database instead when required. However, there are issues with
this because some calls can result in loading the whole database anyway.
2024-05-18 22:49:20 -07:00
tastybento
d701b7e43c
Uses Bukkit version method instead of class names (#2370)
* Uses Bukkit version method instead of class names

See https://forums.papermc.io/threads/important-dev-psa-future-removal-of-cb-package-relocation.1106/

* Fix tests

* Fix server compatibility reporting issue with Paper

* Remove unused import
2024-05-18 21:47:09 -07:00
tastybento
2fc3396a8f Remove debug code that slipped in. 2024-05-18 20:08:21 -07:00
tastybento
99717f5b60
Reduces storage of Island objects in the cache #2360 (#2369) 2024-05-18 19:48:42 -07:00
tastybento
290158e6ef
Allow NPC's to hit players (#2368)
* WIP for debug only

* Allow attacks from NPC's
2024-05-18 11:07:59 -07:00
tastybento
7126e837ed
Admin command updates (#2367)
* Enables tp'ing to specific islands of a player

* Admin delete command. Fixes to admin tp command.
2024-05-16 21:02:45 -07:00
tastybento
f536a13c59 Back to 1.20.6 2024-05-12 17:20:14 -07:00
tastybento
aad50eab38 Just use null. 2024-05-11 13:03:50 -07:00
tastybento
24d81da907 Update to latest 1.20.6 API for PlayerDeathEvent 2024-05-11 12:55:14 -07:00
tastybento
d288528a17
2356 better deletion (#2364)
* Fix 1.20.4 backwards compatibility

* Improve deletion speed and memory usage
2024-05-11 11:07:47 -07:00
tastybento
83698c267f
Purges based on team members all being offline for too long (#2362)
* Purges based on team members all being offline for too long

* Fix to riff off real team members not trusts and banned as well
2024-05-11 08:50:28 -07:00
tastybento
52a280dc0b
Remove an unused Map in cache. (#2361) 2024-05-11 08:50:03 -07:00
tastybento
4a0d44c035
Implement new API for ItemsAdder item deletion (#2353) 2024-05-11 08:49:47 -07:00
tastybento
b8e1f33800
Fixes #2352 obsidian scooping NPE (#2358) 2024-05-07 21:25:58 -07:00
tastybento
d8891796cd JavaDoc fixes and fix for Particle enums 2024-05-05 21:28:04 -07:00
tastybento
61e7c22bbc
Add a hook for Multipaper (#2354) 2024-05-05 21:11:16 -07:00
tastybento
b1fe76c45d
Multipaper (#2343)
* Switch to use database for team invites.

* WIP multipaper

* Fixes teams. Test still need to be fixed.

* Islands are now updated correctly across servers.

This build has a lot of debug in it!

* Fix tests

* Remove debug

* Remove primary island listing

* Version id

* Fix team management and ranks

* Removed debug

* Handle island deletion better

* Island deletion across servers.

* Fix bug with MythicMobs changes #2340

* 2.4.0

* Load of debug - trying to solve the settings slowness

* Debug debug

* Bug found - addPlayer being called instead of getPlayer

* Uncomment code after debug

* Fix tests
2024-05-04 22:27:58 -07:00
tastybento
744665a16e
Merge branch 'develop' into 1.20.5_compatibility 2024-05-01 18:01:51 -07:00
tastybento
09ede87971 Write the Blueprint bundle meta data to admin info 2024-05-01 17:58:05 -07:00
tastybento
15335eb992 Add NMS for latest 2024-04-29 22:26:09 -07:00
tastybento
e33823d0c0 Fix tests 2024-04-29 21:37:08 -07:00
tastybento
63cc0a01d9 Fix compatibility for 1.20.6 2024-04-29 19:46:06 -07:00
tastybento
6949432cb6 1.20.5 compatibility. Not all backward compatibility done
Won't run on 1.20.4 yet without stopping due to enum incompatibility
2024-04-28 17:56:02 -07:00
tastybento
69a22e917e Fix MythicMobs test 2024-04-14 22:11:41 -07:00
tastybento
ffb955b22b Fix bug with MythicMobs changes #2340 2024-04-14 22:00:37 -07:00
tastybento
3de0ff236e Fix tests 2024-04-08 23:01:45 -07:00
tastybento
c86eb6a19c Make sure it's the user's island that the target is being kicked from 2024-04-08 22:11:52 -07:00
tastybento
e7055c6cba Remove player from island, not all islands when kicked. 2024-04-08 21:53:18 -07:00
tastybento
5834dcbb59 Fix placeholders manager test 2024-04-08 20:15:34 -07:00
tastybento
2c75939bc3 JavaDoc and import changes 2024-04-06 09:08:11 -07:00
tastybento
f6f4da1c89 Added placeholders for island names and member lists #2329 2024-04-04 12:59:20 -07:00
tastybento
e1536fcae0 Remove superfluous null check 2024-04-04 09:12:45 -07:00
tastybento
1c19703f44 Merge if statement 2024-04-04 09:11:49 -07:00
tastybento
24b7d26fbe NPE avoid. 2024-04-04 09:09:46 -07:00
tastybento
ec60991aeb Merge branch 'develop' into 2328_team_members_can_have_islands 2024-04-01 10:59:30 -07:00
tastybento
83eaa50b49 Refactor to improve code quality 2024-03-31 18:16:45 -07:00
tastybento
1215a43766 Add feature to limit blueprint availability. 2024-03-31 17:29:18 -07:00
tastybento
81f765df36 Fix invites and accepts. 2024-03-30 20:57:20 -07:00
tastybento
0e6a25d74b WIP - needs work on team invites. 2024-03-29 20:26:07 -07:00
tastybento
2b19d43c85 Remove restrictions on having multiple islands for team members.
Added API to enable checking for teams on islands easier.
2024-03-29 19:38:44 -07:00
tastybento
1bce4ec1b9 Limit blueprint pasting to world y coords. Addresses #2334 2024-03-28 21:58:01 -07:00
tastybento
ea8562f351 Remove more debug 2024-03-28 21:42:33 -07:00
tastybento
d8f2c12fe5 Remove pasting blueprints as stone debug. 2024-03-28 21:27:48 -07:00
tastybento
44454f5854 Adds support for multi islands to the admin range command 2024-03-24 18:44:24 -07:00
tastybento
6599e3de80 Sort player's islands by age so they are always in the same order. 2024-03-21 19:20:31 -07:00
tastybento
d77c94c30c Fix #2320. Enables hiding of flags when in another world
The world was being taken from the user's location not the panel's world
2024-03-16 10:04:28 -07:00
tastybento
75412a4674 Fix bug 2024-03-15 19:24:41 -07:00
tastybento
40e96b9169 Remove useeless eq 2024-03-15 18:53:08 -07:00
tastybento
db2b97d2fc Remove ; after record definition 2024-03-15 18:52:37 -07:00
tastybento
5ad2ba1cd9 Remove useless eq()'s 2024-03-15 18:52:24 -07:00
tastybento
6127cdced1 Reduce complexity. 2024-03-15 18:49:20 -07:00
tastybento
91998b4e24 Use method reference 2024-03-15 18:47:14 -07:00
tastybento
06ca7a311a Simplify code. Fix code smells. 2024-03-15 18:46:07 -07:00
tastybento
e4e92b9634 Fix code smell 2024-03-15 18:45:55 -07:00
tastybento
0c4a4ba862 Fix tests. Added coops and trusted to team GUI view. 2024-03-15 07:50:50 -07:00
tastybento
e2a4233f69 Fix for IslandPromoteCommandTest 2024-03-14 21:11:22 -07:00
tastybento
977c82015b Rewrite. Tested with players. 2024-03-14 20:59:20 -07:00
tastybento
6db04f872b Fix promote and demote #2322 2024-03-14 18:16:09 -07:00
tastybento
eef3dcbc46 Allow the maxhomes to apply per island. 2024-03-13 17:58:28 -07:00
tastybento
253e5d7101 Use method references. 2024-03-10 22:36:42 -07:00
tastybento
dc42f51168 Uses path normalization to prevent directory traversal attacks. 2024-03-10 11:46:44 -07:00
tastybento
4170616e47 Fixes bug where non-members could be made island owners. 2024-03-10 11:29:51 -07:00
tastybento
7f532b1257 Resolve JavaDoc issues 2024-03-10 11:21:03 -07:00
tastybento
4810c4c4ad Adds the ability to include MythicMobs in Blueprints. Fixes #2316 2024-03-10 10:40:26 -07:00
tastybento
57164dd846 Fixes #2313 2024-03-04 07:01:47 -08:00
tastybento
24c68a0d95 Rewrite of admin setowner command #2309 2024-03-03 16:07:49 -08:00