Commit graph

2247 commits

Author SHA1 Message Date
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
Redned
b4921132e1 Replace BiMap with an Object2IntBiMap 2021-07-18 14:43:17 -05:00
Redned
fde36a2234 Fix check for missing item mapping and update mappings submodule 2021-07-18 12:47:02 -05:00
Camotoy
0e72952e0b
Merge branch 'master' of https://github.com/GeyserMC/Geyser 2021-07-18 11:13:37 -04:00
David Choo
2766038db9
Update player bounding box in more scenarios (#2377)
Co-authored-by: Camotoy <20743703+Camotoy@users.noreply.github.com>
2021-07-18 10:58:08 -04:00
Camotoy
697f35f657
Specify the first and last relevant block runtime IDs for items
Improves startup time and processing
2021-07-17 18:09:55 -04:00
RednedEpic
ff280ef192 Replace Reflections usage with an annotation processor
Reduces jar size by about 1.5-2mb
2021-07-17 13:36:04 -05:00
Camotoy
80b8d18c31
Replace more instances of String#split with BlockUtils#getCleanIdentifier 2021-07-17 09:43:25 -04:00
David Choo
4e629feee8
Fix block unique Java IDs (#2390) 2021-07-17 09:33:38 -04:00
Konicai
a947f950fa
Fix made with java badge (#2379) 2021-07-16 19:55:19 -05:00
Camotoy
4844302883
Merge branch 'extended-world-height' 2021-07-16 20:21:43 -04:00
Camotoy
01873ea566
Change some comments 2021-07-16 20:18:13 -04:00
Camotoy
8e593a55a3
Adjust language strings for new options 2021-07-16 20:06:09 -04:00
Camotoy
f03a2dd317
Remove goat horn from creative menu; use proper sculk sensor item 2021-07-16 12:28:11 -04:00
Camotoy
7972f089d9
Oops 2021-07-15 20:51:35 -04:00
Camotoy
db1563aa79
Better estimate for new biome data size 2021-07-15 20:51:13 -04:00
Camotoy
3b55826d70
Make the ByteBuf in ChunkDataTranslator allocate a more decent size 2021-07-15 18:33:49 -04:00
Camotoy
99a7f9a012
Explain that yes, we have to write 32 biome palettes always 2021-07-15 18:31:47 -04:00
Camotoy
89370ef648
Explain new changes in BedrockMovePlayerTranslator 2021-07-15 18:27:43 -04:00
Camotoy
143464b5a9
Respect Javadoc's wishes 2021-07-15 18:12:08 -04:00
Camotoy
25edf41329
Some optimizations
- Fix recipe registry not using an int key-based map
- Versioned registries now use Fastutil more effectively
- Replace uses of String#split for block identifier manipulation with #indexOf and #substring
- Reuse Patterns in collision loader
2021-07-15 18:03:41 -04:00
Camotoy
11874aaa9b
Merge branch 'master' of https://github.com/GeyserMC/Geyser into extended-world-height 2021-07-14 22:00:23 -04:00
Camotoy
e5cb122db3
Use normal biome data for non-extended world height 2021-07-14 21:59:10 -04:00