* Leash fixes
- Adds visuals for leash string by translating ServerEntityAttachPacket
- Updates position offset for lead knots, making them properly appear on fences
* Add basic description of JavaEntityAttachTranslator
Absorption is an attribute in Bedrock and an entity metadata value in Java. This commit sends an attribute update packet when the metadata value is updated.
* Fixed invisible entities nametags being displayed
* Fixed most entity collision boxes
* Fixed area effect cloud not displaying
* Fixed armour stand size and marker
* Fix baby collision boxes
* Fixed squid animation (rotation still broken)
* Fix Guardian beam for local player
* Fixed armour stand invisibility
* Fixed Wither boss data
* Fixed fishing line attach to entities
* 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>
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