From cbfde8f23400fa03b62efcc2378e2b8503af202f Mon Sep 17 00:00:00 2001 From: 17146 <1714673995@qq.com> Date: Thu, 30 May 2024 12:12:16 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=81=B5=E6=95=8F=E5=BA=A6mi?= =?UTF-8?q?xin=E7=9A=84fov=E8=AE=BE=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mcreator/target/mixins/MouseHandlerMixin.java | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/main/java/net/mcreator/target/mixins/MouseHandlerMixin.java b/src/main/java/net/mcreator/target/mixins/MouseHandlerMixin.java index 6c0863a9d..d4727d978 100644 --- a/src/main/java/net/mcreator/target/mixins/MouseHandlerMixin.java +++ b/src/main/java/net/mcreator/target/mixins/MouseHandlerMixin.java @@ -18,24 +18,28 @@ import org.spongepowered.asm.mixin.injection.ModifyVariable; */ @Mixin(MouseHandler.class) public class MouseHandlerMixin { + @ModifyVariable(method = "turnPlayer()V", at = @At(value = "STORE", opcode = Opcodes.DSTORE), ordinal = 2) private double sensitivity(double original) { float additionalAdsSensitivity = 1.0F; Minecraft mc = Minecraft.getInstance(); Player player = Minecraft.getInstance().player; + + if (player == null) { + return original; + } + ItemStack stack = mc.player.getMainHandItem(); boolean flag = false; float sens = 0.01f; - float fov = (float)player.getPersistentData().getDouble("fov"); + float fov = (float) player.getPersistentData().getDouble("fov"); - float original_fov = 60; + float original_fov = mc.options.fov().get(); if (mc.player != null && !mc.player.getMainHandItem().isEmpty() && mc.options.getCameraType() == CameraType.FIRST_PERSON) { - if (stack.is(TargetModTags.Items.GUN) && (player.getCapability(TargetModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new TargetModVariables.PlayerVariables())).zooming) { - - additionalAdsSensitivity = Mth.clamp(1.5F * fov / original_fov, 0.25F, 0.8F); + additionalAdsSensitivity = Mth.clamp(1.5F * fov / original_fov, 0.25F, 0.8F); flag = true; }