* Inventory translators are now part of inventories, try fixing inventory reusing, use NetworkStackLatency hack
* Add debug, re-add force open hack
* don't log to info
* fix debug npe
* Don't set setPending when opening pending inventories, add more delay to re-opening rejected inventories
* Use inventory#getTranslator to hopefully avoid translator/inventory desync
* Minor cleanup
* Update core/src/main/java/org/geysermc/geyser/GeyserLogger.java
* Reuse inventories whenever possible, prevent bedrock inventory id conflicts
* Fix debug logging with arguments, don't attempt to re-use inventory that's currently closing
* Some documentation, include pending inventories in re-use check
* "bad html entity"
* add wayyyy more debugging to container reusing checks
* yeet java id check
* Fixes related to hacky plugins that spam open screen packets
* no clue how this slipped by
* Don't reuse real blocks, yeet Inventory#isDelayed
* Change advancement form mechanics to match Java behaviour, fix NPE
* Remove unused import
* Remove debug statement whoops
* Fix another NPE
* Close the form first when reopening it
This also implements blocking block breaking & attacking entities while steering boats to match the Java clients behavior.
Further, it now also updates the shifting state before sending inputs to the Java client, also matching behavior there.
* Fix https://github.com/GeyserMC/Geyser/issues/4926
* Extend the RakServerRateLimiter, now that it is possible
* Update core/src/main/java/org/geysermc/geyser/network/netty/handler/RakGeyserRateLimiter.java
* cast to int
* Work on closing inventories
* Test more container types, add very hacky player container close workaround
* Only send close container packet to Java edition when needed
* Adjust warning to hopefully find where desync issues occur
* don't crash when closing lecterns
* remove debug logging
* Don't send container close packet to the Java server when not needed, mainly for fake lecterns
* Add simple translator for move minecart packet
* Cleanup code
* This could be cleaned up even more
* Implement minecart lerping
* Use ClientboundUpdateEnabledFeaturesPacket to set experimental minecart behavior
* Move experiment checking to a per-session check
---------
Co-authored-by: onebeastchris <github@onechris.mozmail.com>
* initial changes
* More work on 1.21.60's fun changes
* I misread 😅
* Use 1.21.60 mappings for updated item components
* Fix: Creative up/down flight
---------
Co-authored-by: onebeastchris <github@onechris.mozmail.com>
* feat: send close form packet when receiving empty form data
* use session#closeForm
---------
Co-authored-by: Roch Blonndiaux <contact@roch-blondiaux.com>
Co-authored-by: onebeastchris <github@onechris.mozmail.com>
* Bundle support
* Touchups
* Correct bundle mapping
* Grabbing a bundle from creative mode does work
* Fix inserting items that already exist in a bundle
* Add bundle drop workaround
* Address review