Repository: pmmp/PocketMine-MP (language: php)

Issue:
Being in the 1.5 block space is interpreted as pressing the shift key
### Issue description

- Expected result: The player interacts with the block
- Actual result: The player places a block

### Steps to reproduce the issue
1. Go into a 1.5 block high area
2. Don't press shift key
3. Hold a block in your hand
4. Try to click on a block that you can interact with

### OS and versions
* PocketMine-MP: 5.3.1
* Game version: Win10 (Not tested on others)

### Plugins
test.pmmp.io server's plugins

### Crashdump, backtrace or other files
https://youtu.be/cbSFCt28Phg


Discussion / hints:
I'm not really sure what to do about this. This means that the client never sent the STOP_SNEAKING flag, which means that they are still sneaking ...
Possibly related to #5792 

Fix patch:
diff --git a/src/network/mcpe/handler/InGamePacketHandler.php b/src/network/mcpe/handler/InGamePacketHandler.php
index cc1f3eab408..f1cfaec1982 100644
--- a/src/network/mcpe/handler/InGamePacketHandler.php
+++ b/src/network/mcpe/handler/InGamePacketHandler.php
@@ -215,7 +215,10 @@ public function handlePlayerAuthInput(PlayerAuthInputPacket $packet) : bool{
 		if($inputFlags !== $this->lastPlayerAuthInputFlags){
 			$this->lastPlayerAuthInputFlags = $inputFlags;
 
-			$sneaking = $this->resolveOnOffInputFlags($inputFlags, PlayerAuthInputFlags::START_SNEAKING, PlayerAuthInputFlags::STOP_SNEAKING);
+			$sneaking = $packet->hasFlag(PlayerAuthInputFlags::SNEAKING);
+			if($this->player->isSneaking() === $sneaking){
+				$sneaking = null;
+			}
 			$sprinting = $this->resolveOnOffInputFlags($inputFlags, PlayerAuthInputFlags::START_SPRINTING, PlayerAuthInputFlags::STOP_SPRINTING);
 			$swimming = $this->resolveOnOffInputFlags($inputFlags, PlayerAuthInputFlags::START_SWIMMING, PlayerAuthInputFlags::STOP_SWIMMING);
 			$gliding = $this->resolveOnOffInputFlags($inputFlags, PlayerAuthInputFlags::START_GLIDING, PlayerAuthInputFlags::STOP_GLIDING);


Test patch: