Commit graph

2172 commits

Author SHA1 Message Date
Camotoy
3632ebda8b
Prevent concurrency issues with SkinProvider#requestedSkins
There is a small potential here to return null if containsKey runs before remove and then get is called.
2021-09-10 16:32:09 -04:00
Camotoy
b69cc8eba5
Remove 1.17.10 from supported Bedrock versions in README 2021-09-10 16:31:36 -04:00
Camotoy
f32e4725b8
Update world border in constructor
Prevents us from thinking the player is in the border before we get the packet.
2021-09-10 15:03:43 -04:00
Camotoy
9136e4b591
Remove deploying for now; fix LecternHasBookMap offset issue 2021-09-10 14:53:02 -04:00
Tim203
02ac69591f
Should fix deploying 2021-09-10 20:46:58 +02:00
Camotoy
bc0cfde8f9
Set the minimum Java version to 16; drop Bedrock 1.17.0 (#2477) 2021-09-10 14:10:56 -04:00
Camotoy
93f5298ee3
Introduce specialized maps for block state operations
By introducing fixed maps, we are able to reduce the overhead of needing to store arbitrary numbers; fixed maps start at one number and must be sequential. This commit also reduces some overhead of lecterns in block updating as we are able to utilize our own maps to reduce object boxing and removing the function of Map#compute of trying to re-insert a value.
2021-09-09 21:33:48 -04:00
Camotoy
f22d286ea1
Add world border translation (#1839)
As Bedrock does not have world border support, this PR translates what the Java server sends us for a world border into particles and fog, while also preventing the Bedrock client from moving outside of the world border.

Co-authored-by: Luke <32024335+lukeeey@users.noreply.github.com>
Co-authored-by: ofunny <play@ofunny.world>
2021-09-09 21:27:38 -04:00
David Choo
8461cf76b7
Smooth Pistons (#1542)
With proper piston collision for players as well.
2021-09-09 21:20:25 -04:00
Camotoy
1199d50338
Allow single quotes to appear in translations in chat 2021-09-08 19:24:30 -04:00
Camotoy
6dd4629fcd
Utilize multiple threads for Bedrock networking if possible 2021-09-08 13:59:32 -04:00
Camotoy
52ad5c37ee
Uncomment MTU in config
It doesn't change anything if uncommented and just serves to confuse people.
2021-09-08 13:46:46 -04:00
Camotoy
95ba2a10ad
Properly error if Microsoft authentication sends an error 2021-09-08 10:13:46 -04:00
Camotoy
d602d820dd
Re-use patterns in MinecraftTranslationRegistry 2021-09-07 11:56:23 -04:00
Redned
c1e66f306c Play sound when totem is used 2021-09-04 13:52:02 -05:00
Redned
9f77d47f14 Set int array directly for BlockMappings and change naming 2021-09-04 12:45:32 -05:00
Redned
64b0788012 Use an array for java blocks and replace rarely used map in BlockMappings 2021-09-04 12:36:09 -05:00
Camotoy
206368e448
JavaExplosionTranslator: clean up vector usage 2021-09-02 19:42:50 -04:00
Luke
3be9a76222
Remove FUNDING.yml as it's not available organization-wide 2021-09-01 15:33:01 +01:00
Camotoy
0069566803
Dependency update; re-use Thread.MAX_PRIORITY for Spigot; other network optimizations 2021-08-31 19:57:56 -04:00
Camotoy
7fe7dc1d70
Remove debug code 2021-08-31 19:52:10 -04:00
Camotoy
b89cc1aef0
Refactor lodestones to be more memory efficient
- Most importantly, redesign lodestone caches to be per-player.
- Redesign lodestone caches with the expectation that a client will never re-request the same value.
- Re-use lodestone IDs in a WeakHashMap to be re-used but successfully garbage-collected.
2021-08-31 19:49:55 -04:00
Camotoy
ab2f5b326f
Clear chunk on dimension switch
This should resolve chunks being leftover in instances such as server switches in proxies.
2021-08-31 11:32:58 +01:00
Camotoy
b9541505af
Bump version to try and fix deploying; other nitpicks 2021-08-30 13:55:01 -04:00
Camotoy
ea8f4b854b
Formatting fixes in the FireworkColor class 2021-08-29 10:36:34 -04:00
Camotoy
e95d9d3b75
Use closest matching color for unmapped RGB fireworks
Also remove Bukkit-specific firework colors as those were pure workarounds.

Fixes #2505
2021-08-29 10:33:33 -04:00
Camotoy
bb92c89273
Small optimizations; use array for Java -> Bedrock block mappings
Java runtime IDs are in order starting from 0; an array is all that is needed to map Java IDs to Bedrock IDs.
2021-08-27 20:10:01 -04:00
Camotoy
3c18eb44aa
Use instance of ThreadLocalRandom for particle offsets
Random instances are synchronized meaning this was a potential deadlock situation.
2021-08-26 21:43:53 -04:00
rtm516
26a778fd77
Remove exact refrence to imported class in FileUtils (Thanks @Konicai) 2021-08-25 15:53:20 +01:00
rtm516
65e85eb853
Fix bungeecord dump logs after 9fb5090 2021-08-25 11:31:12 +01:00
rtm516
9fb509010a
Use more generic method for posting logs 2021-08-24 21:42:44 +01:00
Jens Collaert
d26aed0a87
Allow uploading logs with mclo.gs link into dump (#2453) 2021-08-24 15:11:38 -04:00
Camotoy
77119316f5
Check for closed immediately before processing a packet 2021-08-24 09:31:19 -04:00
Camotoy
a1d167d5f1
Ensure skull operations are done on the player thread 2021-08-21 19:38:13 -04:00
Camotoy
ab540b1951
Ensure more entity tasks are run on the player session 2021-08-21 09:54:52 -04:00
Konicai
85404f0ed5
Rearrange connector pom (#2455)
* rearrange and add comments

* fix pom

* fix pom again
2021-08-20 10:39:05 +01:00
Camotoy
89dde2aec3
Do a null check on downstream channel when sending packets 2021-08-19 12:37:14 -04:00
Camotoy
52fa0679c9 Revert "Re-enable deploying on master branch"
This reverts commit 6d624210b9.
2021-08-17 23:00:12 -04:00
Camotoy
6d624210b9 Re-enable deploying on master branch 2021-08-17 22:50:00 -04:00
David Choo
57c0185b45
Prevent projectiles from blocking the player's vision (#2472)
Prevent Snowballs, Eggs, and other throwable projectiles from blocking the player's screen
2021-08-17 22:44:33 -04:00
Camotoy
3d04a957d0 Ensure that exceptions in player event loop are handled
Any stray exception means that the entire event loop comes crashing down.
2021-08-17 20:57:46 -04:00
Camotoy
76399881a3
Use legacy DefaultEventLoopGroup constructor; label Geyser <-> Spigot connection thread 2021-08-16 22:33:14 -04:00
Camotoy
61d95200e3
Update Java on the CI to prepare for Java 16 2021-08-16 20:43:22 -04:00
Camotoy
7ae91a40ec
Ensure every packet is ran on the same thread per player (#2473)
This removes a lot of concurrency checking that needs to be done, because there should be no way two packets can be handled at the same time.
2021-08-16 20:39:29 -04:00
Camotoy
eca0691db0
Suspend publishing while it prevents successful Jenkins builds 2021-08-16 19:49:04 -04:00
Camotoy
36ad5612ed
Support Brigadier long argument types in commands
Fixes #2476
2021-08-16 14:04:13 -04:00
Camotoy
622a1d3b05
Attempt to make Geyser build 2021-08-16 14:03:00 -04:00
Camotoy
f4437e45a8
Attempt to make Geyser build 2021-08-16 14:00:12 -04:00
Camotoy
ac17963baa
Player effect cache cleanup
Only cache effects and not their values unless we actually use the value.
2021-08-16 11:53:56 -04:00
Camotoy
ce748990a4
Javadoc fix and tiny teleport optimization 2021-08-15 14:57:02 -04:00