MrCrayfish / Controllable

Adds in the ability to use a controller to play Minecraft Java Edition
https://mrcrayfish.com/mods?id=controllable
GNU General Public License v3.0
271 stars 78 forks source link

Incompatibility with Create: Tweaked Controllers #445

Closed getItemFromBlock closed 1 year ago

getItemFromBlock commented 1 year ago

Hello, I am the developer of the Create: Tweaked Controllers mod (a Create mod addon) for Minecraft 1.18.2 and Forge.

Someone reported an issue on my mod.
The problem is that when you use the controller, it is supposed to cancel all of the inputs that are bound to both the controller and the game. It is worth noting that in order to achieve controls that could be bound to a keyboard, a mouse button/cursor or a gamepad I had to implement my own input system (which does not replace Minecraft's system, I only use it with the controller item). The consequences are that you can still move around when using the controller, which is problematic as the joystick will control both the player movement and the controller item's joystick.

From what I see in your code, you are overriding the value of the key based of what you read from the controller This part could be the culprit. I am writing this as I am not sure how can I best take on this issue, more precisely what can I do on my side.

Thanks in advance

getItemFromBlock commented 1 year ago

I just saw the developers section in the README, I will try tomorrow to properly cancel the events on my side, and I will update this depending on the result.

MrCrayfish commented 1 year ago

You should be able to cancel movement with Forge's MovementInputUpdateEvent

getItemFromBlock commented 1 year ago

Alright I just cancel the ButtonInput, Move and Turn events (as they are used by the Controller) except for the use key (usually left trigger) to still let people put down the controller. This is not ideal, as it make one input unavailable on my side and it prevents moving the player and the camera, but it works Also I made it show the use button as "exit controller" when you are using it

getItemFromBlock commented 1 year ago

Unless you have a better idea, I think I will close this