* Add player skull render distance
* Improve updateVisibleSkulls a bit
Avoid rechecking visibility on small movements
* Periodically despawn unused skull entities
* Don't hide skull entity for position/rotation changes
Prevents flickering for skulls that are rotating
* Update visible skulls when a skull is removed
* Only update on removal if an entity is assigned
* No need to check for skull in ChunkUtils
Update copyright year
* Avoid rechecking all skulls when a skull is added/removed
* Allow skull render distance and number to be configured
Renamed some fields to better match their values
* Compare texture property directly from GameProfile
* Remove unnecessary blockState field from SkullPlayerEntity
* Use binarySearch for insertion
Wait for player movement before loading skulls
* Allow culling to be disabled by setting max-visible-custom-skulls to -1
* Only remove skulls in inRangeSkulls when culling is enabled
* Add suggestions from review
* Merge the for loops in updateVisibleSkulls
* Fix skulls being leaked on chunk unload
* Should fix some rotation issues
* Some more changes
* Small changes
* Fixed merge conflicts and updated other classes that changed
* Added translation for the LookAt packet
Because of Bedrock limitations, if a player has text background opacity enabled, they'll see an empty section where the title is usually displayed as the fake cooldown is shown. This commit minimizes the time that is shown by clearing the text as soon as possible. Reference issue: https://github.com/GeyserMC/Geyser/issues/1710
This commit also removes starting the fake cooldown process if the client switches to an inventory slot with the same Java ID.
By default, there is a two-minute delay if you disconnect so you can authenticate your Microsoft account.
Co-authored-by: rtm516 <rtm516@users.noreply.github.com>
Co-authored-by: Camotoy <20743703+Camotoy@users.noreply.github.com>
By simulating the exact processing that Java Edition does on the client-side, we can achieve full packet parity with Java when interacting with an entity.
These changes fix up things that were missed with Java Edition inventory changes in 1.17 and 1.17.1. Working with the inventory in modern versions should be much nicer.
Previously we've had discussions on if the render distance math should be tweaked like we do server -> client, but for now this is better than nothing and can be tweaked further in the future.
* Prevent boats from floating when a Bedrock player rides in the back
* Update llama and shulker mount height offset
* Fix Trader llama mount offset
* Change passengers to an IntList
Also move rotation lock stuff to EntityUtils
* Allow EntityCache.getEntityByJavaId to return the session's player
Removes many checks from several translators.
* Fix mount offset on armorstands and area effect clouds
Also prevent area effect clouds from despawning when used as an invisible entity (used in GSit to offset players riding on other players)
* Update mount offsets on height changes
TODO test this
* Actually update vehicleId and optimize StriderEntity metadata update
* Don't hide marker armor stands and properly update mount offsets
* What?
* Remove y offset for Shulkers riding other entities
* Confirm teleports in the order received
This allows Bedrock players to move after standing up when using GSit
* Fix mount offset for riders on baby zoglins
* Cache only the latest teleport and confirm teleports immediately
* Fix crawling with GSit
* Inline var and undo respawn method
* Use Entity reference for vehicles
* Remove ridingVehicleEntity from GeyserSession
* Use Entity references for passengers and drop cachedPlayerEntityLinks
* Reuse variable and remove setVehicle(null)
* Improve statistics form
Fix furnace minecart java identifier
Use clean Java identifier in times mined
Fix icons for statistic form
Show all generic statistics by initializing them to zero
Color every other line grey
Format numbers like on Java Edition
* Update for Java 16 and MCProtocolLib changes
* Sort all statistics alphabetically and color them.
* Update for MCProtocolLib changes
* Re-add clean java identifiers registry and properly fix block break statistics
Also translate before sorting >.>
* Use toLowerCase(Locale.ROOT)
* Use the format provided by MCProtocolLib
* Simplify condition
* Move statistics init and bump MCProtocolLib version
This will allow Geyser-Fabric to work without resource loading issues. This commit also ensures try-with-resources is used anywhere a resource is accessed.
* Fix amount & javaId being used before it is initialized
Fixes invisible falling blocks and incorrectly sized exp orbs
* Add missing item metadata to throwable items and fireballs
Renamed ItemedFireballEntity -> FireballEntity
* Renamed more EntityDefinitions to match MCProtocolLib
* Add some missing metadata and add null check
* Use entity type when possible in debug spawn message
Fallback onto classes simple name
Also don't register ENDER_DRAGON_PART
* Remove redundant entity identifiers and fix END_CRYSTAL and FISHING_BOBBER identifiers
minecraft:end_crystal -> minecraft:ender_crystal
minecraft:fishing_book -> minecraft:fishing_hook
* Cave spider should inherit metadata from spider
* Keep entity definitions in roughly alphabetical order
* Alphabetize entity definitions
* ABCs?
* Bump MCProtocolLib version