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>
Previously, any time a block was clicked whether it be with a block in the hand or not, a sound would play. This checks if the item in the players hand is indeed a block as well as the same block in the UpdateBlockPacket, and properly plays the packet.
* Initial attempt
* Rewrite of the rewrite
* First working implementation
* Far better working implementation
* Clean up imports
* Remove commented code
* Cleanup code; change things
* Remove unused imports
* Cleanup code
* Add licenses; add comment
* More cleanup
* Clarifications
* It complained about a JavaDoc comment
* Update access permissions
* Switch from reflections to iteration over BlockEntityTranslators
* Fixed tropical fish display.
* Added base pufferfish class
* Fixed pufferfish, fish flags and cleaned up tropical fish spawning
* Fixed tropical fish model variant
* Fix tropical fish colours
This allows the description of the commands to display when listing the commands in bedrock by tab-completing. This is currently only available on Sponge and Bukkit versions as there is no support in BungeeCord and Velocity to get these values. This data is also not sent in any packet, so we cannot retrieve that from standalone either.