1
0
mirror of https://github.com/GeyserMC/Geyser.git synced 2025-12-28 03:09:08 +00:00
Commit Graph

2119 Commits

Author SHA1 Message Date
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
e20247b6d6 Allow enum fields to be set through standalone command line 2021-08-12 14:16:19 -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
Luke
71e2ec989c Add donation link to README and FUNDING.yml (#2447) 2021-08-08 17:36:51 +01: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
Konicai
b86648332a Auth type refactor in internal config (#2410) 2021-07-28 19:44:09 -04:00
Camotoy
5529a1cc1c Fix spectator gamemode movement
- Don't allow the player to toggle flight status in spectator mode
- Fix weird flight movement when player was previously on the ground
- The player is always flying in spectator mode, no exceptions
2021-07-28 13:21:18 -04:00
Camotoy
4241b5463f Fix mesa replacement biome 2021-07-27 23:01:38 -04:00
Camotoy
a5beebdffa Add best-fit replacement biomes for custom biomes 2021-07-27 22:52:07 -04:00
Camotoy
8c96c3b11d Biome reworkings
- Introduce biome mappings for having a constant reference between Java biome identifier and their Bedrock equivalents
- Don't assume biome IDs and instead listen to the server for biome IDs
- Ensure that only valid Bedrock biomes are sent. With the caves and cliffs experimental toggle, Bedrock will crash if an invalid biome ID is sent its way.
2021-07-27 20:29:27 -04:00
David Choo
e0e6605fb6 Improve annotation processing (#2422) 2021-07-26 13:30:48 -04:00
Camotoy
46cd26ffae Don't cache non-locale assets in the LocaleUtils asset cache
Previously Geyser was storing a reference of every single asset hash provided by the server, including things like sound files. We never used this files, and their existence caused the amount of Asset classes present in Geyser to be over 3000. With this change, we only cache the 118 language files.
2021-07-25 10:11:53 -04:00
Redned
e73b7f5941 Use Minecraft color codes in console/logs, clean up log output and fix #1606
TerminalConsoleAppender lets us use the legacy colors on their own, so don't do our own ANSI handling.
2021-07-24 12:52:28 -05:00
David Choo
c6589136bf Fix movement against spawners (#2409) 2021-07-24 10:35:23 -04:00
Camotoy
a93f3119f6 Map bamboo jungle [hills] to their Bedrock ID 2021-07-23 21:42:08 -04:00
Camotoy
da66a01a9a Fix possible NullPointerException in handling CanBreak/CanDestroy items 2021-07-23 21:28:28 -04:00
Camotoy
1b3191fd02 Update languages submodule 2021-07-23 20:16:02 -04:00
Camotoy
e840828763 Update the outdated strings to be more concise 2021-07-23 20:11:50 -04:00
Camotoy
f16f91f469 Check for outdated Java versions older than 16 2021-07-23 19:51:46 -04:00
Redned
070ff46558 Exclude processor file
Geyser was attempting to run it's annotation processors on projects that used it as a dependency, so let's just not :)
2021-07-22 08:31:54 -05:00
Camotoy
11f048a065 Better logic for item updating on item entities
Specifically created to address InteractionVisualizer updating all metadata properties when updating the nametag - this commit prevents the item from jumping on updating. It also prevents the entity from being respawned if just the stack size updated.
2021-07-22 09:16:19 -04:00
Redned
c3f65b176d Tweak README - Geyser is fine on production and has been for a while :) 2021-07-21 22:31:54 -05:00
Redned
0e30895302 More registry documentation, and remove unneeded clean identifiers registry 2021-07-21 22:18:31 -05:00
RednedEpic
9817dc932a Merge branch 'feature/optimizations' into master 2021-07-21 21:44:49 -05:00
Redned
ef7c673276 Properly use CompleteableFuture for MSA auth 2021-07-21 21:39:30 -05:00
Redned
4a8e598c62 Document the registry system (Closes #2387) 2021-07-21 21:14:00 -05:00
David Choo
8f98162c69 Fix Item drop animation (#2406) 2021-07-21 21:48:59 -04:00
Camotoy
6b84e07c34 Consolidate left/right parrot checks into one boolean
The 1.17 update missed a couple of updates. Address the problem by only checking once.

Fixes #2402
2021-07-21 13:44:11 -04:00
Konicai
8a218455d4 fix discord badge link (#2403) 2021-07-21 04:19:51 +01:00
Camotoy
41d15f3ec3 Optimize squid packet sending
Don't send a full MoveEntityAbsolutePacket when we can send a smaller MoveEntityDeltaPacket that only has rotation information.
2021-07-20 18:41:09 -04:00
David Choo
d7fbdaf93d Fix Squid Animation (#2398) 2021-07-20 12:08:48 -04:00
Redned
1a0ac26398 Move leak detector to standalone bootstrap class 2021-07-18 17:44:08 -05:00
Redned
39324ce95d Go back to normal thread for now using MSA auth, and only toggle leak detector on standalone 2021-07-18 17:41:47 -05:00
Redned
ae4e4397e3 Use a CompleteableFuture rather than constructing a new thread for logins 2021-07-18 17:04:16 -05:00
Redned
15863bdaef Disable netty's resource leak detector if no level is set 2021-07-18 16:24:55 -05:00
Redned
95a1cbfa24 Some more micro optimizations 2021-07-18 15:43:04 -05:00
Redned
1ad952b581 Handle locale stuff downloading of main thread and add doc to Object2IntBiMap
Technically LocaleUtils is not thread safe and people running Geyser for the first time on slow internet connections may see some untranslated messages. However, we were seeing startup times of about 1+ minutes on these slow connections, and it's better that players see untranslated messages for a short period of time rather than having to wait over a minute for the program to start up.

Once the locale is installed, it doesn't need to be redownloaded again (unless there is a game update) and all translated messages will just work once this download is complete without clients needing to relog.
2021-07-18 15:20:40 -05:00