1
0
forked from Clones/Controlify

joystick support

This commit is contained in:
isXander
2023-02-16 12:25:55 +00:00
parent 1b5c9daf94
commit 5a1504df76
134 changed files with 2296 additions and 820 deletions

View File

@ -6,12 +6,10 @@ import net.minecraft.client.player.Input;
import net.minecraft.client.player.LocalPlayer;
public class ControllerPlayerMovement extends Input {
private final Controller controller;
private final Controller<?, ?> controller;
private final LocalPlayer player;
private boolean shiftToggled = false;
public ControllerPlayerMovement(Controller controller, LocalPlayer player) {
public ControllerPlayerMovement(Controller<?, ?> controller, LocalPlayer player) {
this.controller = controller;
this.player = player;
}

View File

@ -7,12 +7,12 @@ import net.minecraft.client.Minecraft;
import net.minecraft.client.player.KeyboardInput;
public class InGameInputHandler {
private final Controller controller;
private final Controller<?, ?> controller;
private final Minecraft minecraft;
private double lookInputX, lookInputY;
public InGameInputHandler(Controller controller) {
public InGameInputHandler(Controller<?, ?> controller) {
this.controller = controller;
this.minecraft = Minecraft.getInstance();
@ -51,10 +51,12 @@ public class InGameInputHandler {
}
protected void handlePlayerLookInput() {
var axes = controller.state().axes();
var impulseY = controller.bindings().LOOK_DOWN.state() - controller.bindings().LOOK_UP.state();
var impulseX = controller.bindings().LOOK_RIGHT.state() - controller.bindings().LOOK_LEFT.state();
if (minecraft.mouseHandler.isMouseGrabbed() && minecraft.isWindowActive()) {
lookInputX = axes.rightStickX() * Math.abs(axes.rightStickX()) * controller.config().horizontalLookSensitivity;
lookInputY = axes.rightStickY() * Math.abs(axes.rightStickY()) * controller.config().verticalLookSensitivity;
lookInputX = impulseX * Math.abs(impulseX) * controller.config().horizontalLookSensitivity;
lookInputY = impulseY * Math.abs(impulseY) * controller.config().verticalLookSensitivity;
} else {
lookInputX = lookInputY = 0;
}

View File

@ -10,5 +10,5 @@ import java.util.Optional;
@FunctionalInterface
public interface ButtonActionSupplier {
Optional<GuideAction> supply(Minecraft client, LocalPlayer player, ClientLevel level, HitResult hitResult, Controller controller);
Optional<GuideAction> supply(Minecraft client, LocalPlayer player, ClientLevel level, HitResult hitResult, Controller<?, ?> controller);
}

View File

@ -17,7 +17,7 @@ import net.minecraft.world.phys.*;
import java.util.*;
public class InGameButtonGuide implements ButtonGuideRegistry {
private final Controller controller;
private final Controller<?, ?> controller;
private final LocalPlayer player;
private final Minecraft minecraft = Minecraft.getInstance();
@ -26,7 +26,7 @@ public class InGameButtonGuide implements ButtonGuideRegistry {
private final List<GuideAction> leftGuides = new ArrayList<>();
private final List<GuideAction> rightGuides = new ArrayList<>();
public InGameButtonGuide(Controller controller, LocalPlayer localPlayer) {
public InGameButtonGuide(Controller<?, ?> controller, LocalPlayer localPlayer) {
this.controller = controller;
this.player = localPlayer;