From 01af1ade7d71cc010dc7ea74253c028a0bb917db Mon Sep 17 00:00:00 2001 From: 17146 <1714673995@qq.com> Date: Thu, 16 Jan 2025 22:44:04 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=9E=E7=8E=B0=E9=A3=9E=E6=9C=BA=E5=8F=8D?= =?UTF-8?q?=E8=BD=AC=E8=BE=93=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mixins/MouseHandlerMixin.java | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/atsuishio/superbwarfare/mixins/MouseHandlerMixin.java b/src/main/java/com/atsuishio/superbwarfare/mixins/MouseHandlerMixin.java index 2ec385430..25843272c 100644 --- a/src/main/java/com/atsuishio/superbwarfare/mixins/MouseHandlerMixin.java +++ b/src/main/java/com/atsuishio/superbwarfare/mixins/MouseHandlerMixin.java @@ -30,7 +30,7 @@ public class MouseHandlerMixin { @ModifyVariable(method = "turnPlayer()V", at = @At(value = "STORE", opcode = Opcodes.DSTORE), ordinal = 2) private double sensitivity(double original) { Minecraft mc = Minecraft.getInstance(); - Player player = Minecraft.getInstance().player; + Player player = mc.player; if (player == null) return original; @@ -45,9 +45,6 @@ public class MouseHandlerMixin { } if (player.getVehicle() instanceof Ah6Entity ah6Entity && !ah6Entity.onGround() && ah6Entity.getFirstPassenger() == player) { - if (VehicleControlConfig.INVERT_AIRCRAFT_CONTROL.get()) { - // TODO 开启反转时,反转玩家垂直视角 - } return 0.3; } @@ -72,4 +69,17 @@ public class MouseHandlerMixin { return original; } + + @ModifyVariable(method = "turnPlayer()V", at = @At(value = "STORE", opcode = Opcodes.ISTORE)) + private int modifyI(int i) { + Minecraft mc = Minecraft.getInstance(); + Player player = mc.player; + + if (player == null) return i; + + if (player.getVehicle() instanceof Ah6Entity ah6Entity && ah6Entity.getFirstPassenger() == player) { + return VehicleControlConfig.INVERT_AIRCRAFT_CONTROL.get() ? -i : i; + } + return i; + } }