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
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
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
Camotoy
89dde2aec3
Do a null check on downstream channel when sending packets
2021-08-19 12:37:14 -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
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
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
Camotoy
5d90ba91f7
Move LoginSuccessPacket handling to its own translator
2021-08-14 12:52:35 -04:00
Camotoy
9f4c2ce5fc
Fix rare StackOverflowError in DeclareCommands
...
This behavior is exhibited with the NanoLimbo software version 1.2.2.
2021-08-13 23:56:44 -04:00
Camotoy
1afa22d5cf
Fix NPE with area effect cloud particles
2021-08-13 13:42:35 -04:00
Camotoy
25ff3661e3
Update version strings to add 1.17.11
...
This version has been supported; let's make it clear that it is.
2021-08-13 13:37:06 -04:00
Camotoy
919e84c23f
Don't try to connect to the remote server with invalid credentials
...
Fixes #2458
2021-08-12 14:35:26 -04:00
Camotoy
b95cd8e0c1
Query improvements
...
- Improved detection of query packet
- Don't initialize the QueryPacketHandler class until we verified we have query data
- Encode strings like the vanilla Minecraft server
2021-08-12 10:42:58 -04:00
Camotoy
0c5b39f35b
Intern strings and other values
...
This should reduce memory usage at startup by preventing multiple identicals objects being present in memory.
2021-08-11 20:16:10 -04:00
David Choo
fb5449d0d1
Fix extended world height client crash with 32+ section chunks ( #2441 )
2021-08-03 00:08:47 -04:00
David Choo
3eb73a5634
Fix powder snow and fish buckets ( #2437 )
2021-08-01 22:20:15 -04:00
Camotoy
20b183ddda
Fix horse variant color
...
Our old method broke with the 1.17.10 update.
2021-08-01 19:14:01 -04:00
Camotoy
3d50155ee3
Handle the server sending invalid biome IDs in chunks
...
Should hopefully address #2400 - the Java client handles invalid biome IDs and simply complains in its logs.
2021-07-31 16:34:24 -04:00
Camotoy
a197f60446
Move use-direct-adapters to system property
2021-07-31 13:54:51 -04:00
Camotoy
002be32bb3
Connect Geyser players directly to the server for plugin versions ( #2413 )
...
- Faster loading times and improved latency; Geyser no longer creates a physical TCP connection to join the server
- Less configuration: remote address and port are now irrelevant
- Accurate IP addresses without needing Floodgate.
Co-authored-by: Redned <redned235@gmail.com>
2021-07-31 12:52:49 -04:00
David Choo
1d04a61a46
Collision Registry ( #2430 )
...
* Fix trapdoor collision
* Add EqualsAndHashCode to all Collision subclasses and shift code around
EqualsAndHashCode are required on subclasses otherwise blocks will be assigned an incorrect collision instance. (Doors and trapdoors are mixed and ladder sometimes gets a DoorCollision instance).
Added protected constructor to BlockCollision to make boundingBoxes final.
Removed EmptyCollision because I don't think it is useful.
Moved conversion from ArrayNode to BoundingBoxes[] from OtherCollision to CollisionRegistryLoader
Removed regex from SnowCollision and use default bounding boxes.
* Deduplicate BlockCollision instances
* Create one set of bounding boxes for all BlockCollisions
* Don't depend on the player's block position in DoorCollision
* Fix dirt path position corrections
Grass paths were renamed to dirt path in 1.17
Fix position correction for y=1, y=2, y=255, and y=256
* Increase pushAwayTolerance depending on distance from origin
This should fix position corrections for blocks less than 1 unit in length/width at high coordinates.
This includes ladders after x 4096 or z 4096
Not too sure about the math here though
* Use ThreadLocal for position
Hopefully resolves concurrency issues
* Remove comment and add layer check to SnowCollision
2021-07-30 22:35:13 -04:00
Konicai
6f93bbfe21
Improvements to VillagerEntity ( #2412 )
...
* initial changes to villager
* touchup
* don't call getPos() twice
* whoops, better
2021-07-30 15:45:50 -05:00
Camotoy
8c95e26189
Fix experimental toggle'd biomes not accounting for chunk offset
2021-07-29 14:35:03 -04:00
Camotoy
7a99aa0ddf
Merge branch 'biomes'
2021-07-28 20:27:34 -04:00