Incorrect cycling of crossbow states
Describe the bug
Sometimes the crossbow keeps cycling between pulling states when trying to charge it. Also, the charged state is often replaced by the default state, even though the crossbow is still charged.
To Reproduce
I'm using spigot-1.21.8.jar, with only 2 plugins: Geyser (version 2.8.3-b921, git-master-175794e) and Floodgate (2.2.4-SNAPSHOT b118-40d320a).
Geyser dump: https://dump.geysermc.org/oYJ7ucF7V3nJhCflVyNg3Se4xDhuH40m
Expected behaviour
The pulling states are not supposed to cycle. Instead, they should lock onto the charged state until the arrow is fired, either by releasing all mouse buttons and right-clicking again, or by releasing touch and then tapping again.
Screenshots / Videos
https://github.com/user-attachments/assets/a305a351-0fb1-4bab-9ebb-557a2c66877c
Server Version and Plugins
Geyser Dump
https://dump.geysermc.org/oYJ7ucF7V3nJhCflVyNg3Se4xDhuH40m
Geyser Version
2.8.3-b921 (git-master-175794e)
Minecraft: Bedrock Edition Device/Version
1.21.101, Windows 10
Additional Context
This issue is also present for crossbows: https://github.com/GeyserMC/Geyser/issues/4945
This is because Geyser is not tracking using item state properly (I think), related to (mentioned in): #5810. (actually not sure if this is actually the case here ;/)
Also can confirm this is happening on the latest commit.