commit c53bb38a47d1a48f0b5a72059e81c4354c2b8e90
Author: Camotoy <20743703+Camotoy@users.noreply.github.com>
Date: Mon Nov 14 15:12:29 2022 -0500
Final touch
commit f9ff9553eda7c80620a8e6f63e14f01adb39ac8b
Merge: b57109ddf886d7e5b4
Author: Camotoy <20743703+Camotoy@users.noreply.github.com>
Date: Mon Nov 14 14:54:28 2022 -0500
Merge branch 'master' of https://github.com/GeyserMC/Geyser into pull/3281
commit b57109ddf7
Author: Kevin Ludwig <signing@valaphee.com>
Date: Mon Sep 12 12:23:36 2022 +0200
Revert use entities for single chest inventories
commit fda66e83b9
Author: Kevin Ludwig <signing@valaphee.com>
Date: Sat Sep 10 11:49:40 2022 +0200
Use entities for single chest inventories, check if a block for server-side opened inventories can be placed either above or below, otherwise, close the inventory (same logic as with inventory translator found)
* Remove Bedrock only banner patterns from the creative inventory
* Add sound for tadpole bucket
* Fix lily pad and frogspawn placing on mobile/single stacks
* Workaround? Fix? for bucket usage on mobile
* Simplify math and update position+rotation whenever ServerboundUseItemPacket is sent
* Rotate the player back after using an item and fix glass bottles
* ITEM_USE actionType 1 does not need the rotation fix
Increase delay for look back
* Add some checks
* Prevent buckets and spawn eggs from being unintentionally placed when interacting with special blocks
As of 1.19 Bedrock no longer sends a PlayerActionPacket with action=BLOCK_INTERACT. Bedrock now sends action=ITEM_USE_ON_START before and action=ITEM_USE_ON_STOP after using an item on a block. However, this is not useful as it is sent for all block interactions.
* Fix inventory transactions being rejected after restoreCorrectBlock
The held item's netId is always 0 in the InventoryTransactionPacket.
* Touch ups
* Fix lookAt for different poses and sneaking + cauldron + bucket interactions
Fix boat items being desynced when placing them very close to collision
Fix bottles being desynced when tapping above water
Resend the held item if we do encounter a desync
* Avoid getting blockstate twice and fix comment
* Use generated interaction data
* Fix glass bottles being double filled and phantom water bottles/water buckets
* Don't update the entire inventory on useItem
* Use Geyser's inventory copy for check
* Use ItemTranslator#getBedrockItemMapping to avoid NBT translation
* mappings
Co-authored-by: Camotoy <20743703+Camotoy@users.noreply.github.com>
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.
- Introduce a state ID incrementation emulation. This prevents the server from spamming back with tons of set content packets, and can instead reply with set slot packets.
- Fix what we were sending as a carried item in the ServerboundContainerClickPacket.