* Debugging improvements
- Added an ObjectArrayList of packets we don't anticipate ever translating. Currently only holds ServerUpdateLightPacket which we don't use and probably don't need.
- Only print debugging logs from sounds if they failed to play.
* Add space
* Add players able to sleep in beds
This commit sets the correct metadata and flags when the Java pose changes to sleeping.
* Player view while sleeping now works
* Fixed bed offset for other players
* Added ears geometry support
* Added ear fetching from mc capes
* Added support for deadmau5
* Commented, documented and cleaned code
* Allow bedrock players to see their java skin/cape/ears when joining
* Optimised Imports
* Fix missing else statement
* Moved ears and fixed elytra skins
* Added ears config option
* Fixed cape/elytra transparency
* Fixed slim skin geometry
* Fixed async ears request and added alex skin
* Fixed default elytra not showing with no cape
* Moved to normal Base64 functions
Co-authored-by: James Harrison <james@fasttortoise.co.uk>
* Add optional workaround for >Y128 Nether building
This commit adds a config option for building above the Nether by changing the Nether's dimension ID to match the End's.
* Only check for workaround application once
* Fix mappings?
* Include a bit more for the above bedrock nether building config option
Co-authored-by: Redned <redned235@gmail.com>
* Add option for disabling command suggestions; add config version
This commit adds an option for disabling command suggestions. If enabled, command suggestions will not be sent to the server so as to remove command freezing. This commit also adds a config version variable so users are notified when to regenerate their configs.
* Rename GeyserConfiguration.checkGeyserConfiguration()
* Added a docker container IP warning
* Corrected messages
* Moved to normal java file read instead of starting cat
* Fixed capitalisation on method name
- Adds the ELDER flag to all elder guardians, so they look like elder guardians and not giant regular guardians.
- Translates AFFECTED_BY_ELDER_GUARDIAN in JavaNotifyClientTranslator to add the elder guardian curse event.
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>
* 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>