* Fix maps not loading in sometimes
Adds a default map ID so the map item isnt invisible on bedrock.
Respond to the MapInfoRequestPacket so the image loads on first join.
* Remove debug log
* Add comments
- Merged ItemTranslator and ItemStackTranslator together.
- Split ItemTranslator into two classes: ItemTranslator and ItemRegistry. The registry is where items are registered, and the translator class is where item translation takes place.
- Made most of ItemTranslator's methods static and removed the initialization in Toolbox.
- Moved a handful of registry classes previously ending with 'Utils' to a 'Registry' class to be more fitting for the term.
- Moved inventory and block entity registration out of Translators.
- Renamed Translators to PacketTranslatorRegistry.
- Yeeted Toolbox.
- Minor cleanups and small refactors.
* Initial support for entity mounts*
* This only works for viewing other players on mounts/vehicles. Currently, mounting on vehicles through Geyser with bedrock does not work at all, though, you can see other Java players on mounts just fine.
* Fix Bedrock player mounting; add minecart offset
* Remove debug code
* Fix boat animation
* Remove debug code
* Add notice of possible steering flip
* Add translator for PlayerInputPacket
* Upload WIP code for BoatEntity.java
* Add animation for rowing on Bedrock side
* Clean up debug code, start on boat movement
* Add notice about flying horses
* Rename BedrockPlayerInputPacket.java to BedrockPlayerInputTranslator.java
* Delete BedrockPlayerInputPacket.java
* Use Translator Annotation again; Thanks to LegacyGamerHD
* Upload ineffective mount-on-login code
* Upload current changes with no debug code
* Change case where applicable
* Change Integer[] to int[]; Change schedule() to execute()
* Don't use Thread.Sleep() and instead call itself again
* Fix players not being linked on login/chunk load
* Little changes
* Minor improvements/fixes to boats
* Remove empty file
* Fix horse flying.
* Various entity mounting fixes
* Add mounting offsets for skeleton and zombie horses
* Another round of entity mount-related fixes
- Add offsets for skeleton and zombie horses (Thanks to tester DirtNasty)
- Boats can now be placed in survival (Thanks again to tester DirtNasty)
- Boats and minecarts can now shake
* Add translating for ServerVehicleMovePacket
* Cleaning up
* More cleaning up
* Add interactive tag support for mountable entities
* Boats move far more nicely
* Add horse heart visuals
* Update interactive tags
Co-authored-by: RednedEpic <redned235@gmail.com>
This commit implements basic functionality for villager trading. This is still incomplete and is buggy in areas such as with villager trades that have more than one input and trade inputs and outputs containing NBT.
Co-authored-by: DoctorMacc <toy.fighter1@gmail.com>
Since signs are not sent as block (tile) entities in chunks when it comes to later Minecraft versions, caching and sending the signs after the chunk packet has been sent was the only way to fix this. Sign data sending has intentionally been delayed in JavaUpdateTileEntityTranslator in the event that a chunk takes a long time to send and the block entity data is sent first.
This should significantly decrease the amount of RAM being used by Geyser. Previously it was using 300mb - 400mb on average. This has dropped it down to 80mb - 120mb. Ideally I'd like to decrease this value further, but that will require some more work.