* Add parrots on player shoulders
Parrots on player shoulders are a separate entity in Bedrock, but part of the player metadata in Java. This commit creates a parrot entity from the NBT data given by the player's entity data.
* Remove unused import
* Nullify parrot after despawning
* Remove debug code
* Fix signs on everything except Paper
* Fix sign line placement
* Update shulker box block entity
Co-authored-by: James Harrison <james@fasttortoise.co.uk>
* Added legacy skin support for bedrock to bedrock clients
* Added bedrock to bedrock cape handling
* Added bedrock geometry support
* Bedrock skins now work in all auth modes
* Tonne of debug info
* Added fix to prevent customised skins from being loaded
* Added skin size to bedrock client data
* Cleaned debugging code
* Made bedrock cape take priority over third party
* Cut the customised skin image in half to hopefully get it to map
* Removed hacky conversion attempt
* Fixed bedrock skin caching on load and 1.14.60 support
* Cleaned up debug messages
* Added linked player ignore
* Implement helper methods for sending packets, fixes an NPE when chatting before connecting to the remote server
* Change method names
* Add a space between doc comment lines
* Add debug messages
* Made MessageUtils mimic java chat behavior
Send ClientSettingsPacket when player joins a server
* Fix comments
Set use client locale instead of hard coding
* Moved chat reset to fix some broken formatting
* Revert MessageUtil as rtm516 has implemented a better fix
* Initial work on flower pots
* Flowers work in-game, not yet chunk load
* Don't overwrite my code before merge
* Finish up flower pots; add piston support on chunk load
* Clean up
* Remove debug line; update mappings
* Added automatic git version infomation to startup
* Moved to compile time replacement
* Cleaned up old functions
* Removed redundant variable
* Added project version to version string
This prevents the block place sound (most notably buttons or blocks that don't occupy one whole block) from spamming the client if they have their place button held down.
These sound handlers had to be added since on Minecraft: Java Edition, these sounds are handled clientside whilst Minecraft: Bedrock Edition expects something from the server. To counter this, we emulate the sounds of that on Minecraft: Java Edition within Geyser and send it to the client. The code may seem a tadredundant, but there is not much of an alternative unfortunately.
The refactors in this commit go a bit beyond the scope of what the sound/effects branch was meant to accomplish, however most of these changes are necessary so chunk caching could be reintroduced for the standalone version. The chunk caching here allows for us to get the block ID before the block was broken, and in the future allow us to implement newer features. Chunk caching is optional (and disabled by default) as on non-Bukkit versions, it can eat up a lot of RAM with many players online.
* fix capes
* remove gson
* clean up
* clean up
* formatting code
* Made the changes fit a bit better into the already existing code
* Throw the nullptr before the download complete message,
making debugging skins less confusing
Co-authored-by: Tim203 <mctim203@gmail.com>