
Incompatible with Shoulder Surfing Reloaded
Exopandora opened this issue ยท 2 comments
Describe the bug
InvMove is incompatible with Shoulder Surfing Reloaded, because the player movement vector cannot be adjusted by Shoulder Surfing Reloaded depending on the camera angle, resulting into unprdicatable player movement. This issue is highly related to #7.
To Reproduce
- Install Shoulder Surfing Reloaded 3.0.0
- Walk left or right for a few ticks
- Open the inventory
- Walk in any direction
Screenshots
Motion cannot be captured in a screenshot ;)
Crash Log
The game did not crash
Version and Mod List
List the version of InvMove, the version of Forge/Fabric/Quilt, and the version of Minecraft the issue happens on:
InvMove: 0.8.2
Forge/Fabric/Quilt version: Fabric 0.15.3 (most likely any version is affected)
Minecraft: 1.20.4 (most likely any version is affected)
List any other mods being used:
- Shoulder Surfing Reloaded 3.0.0
How it could be fixed
I have not tested this, but this is how i image it could be fixed.
The following suggested changes apply to the MovementMixin of InvMove:
For forge builds, use MovementInputUpdateEvent to inject player movement. Shoulder Surfing Reloaded will use a lower event priority to make its changes after InvMove.
For fabric(-like) builds, inject directly after this.input.tick()
(hint: the signature for this function changes from 1.18.2 to 1.19) in LocalPlayer::aiStep
. Shoulder Surfing Reloaded will use a higher mixin priority (so it applies later) to make its changes after InvMove.
Fixed in v0.9.0 (also on Modrinth)
(I refactored my mixins & input handling to be less invasive which fixed the problem)