From 1381476c7e02e5669bb82d26adfb4be2d2ef9d6d Mon Sep 17 00:00:00 2001 From: Atsuihsio <842960157@qq.com> Date: Mon, 3 Jun 2024 01:11:06 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=8A=A8=E7=94=BBbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/net/mcreator/target/event/ClientEventHandler.java | 7 ++++--- .../java/net/mcreator/target/event/PlayerEventHandler.java | 7 ++++--- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/main/java/net/mcreator/target/event/ClientEventHandler.java b/src/main/java/net/mcreator/target/event/ClientEventHandler.java index 3a697e944..301b21506 100644 --- a/src/main/java/net/mcreator/target/event/ClientEventHandler.java +++ b/src/main/java/net/mcreator/target/event/ClientEventHandler.java @@ -424,11 +424,11 @@ public class ClientEventHandler { (pose * (4.34 * Math.pow(data.getDouble("firetime"), 2) - 6.5 * data.getDouble("firetime") + 2.167 + data.getDouble("firepos2")))); } - if (0 < data.getDouble("fire_rotx_time") && data.getDouble("fire_rotx_time") < 1.8) { + if (0 < data.getDouble("fire_rotx_time") && data.getDouble("fire_rotx_time") < 1.732) { data.putDouble("fire_rotx_time", (data.getDouble("fire_rotx_time") + 0.12 * (1.9 - data.getDouble("fire_rotx_time")) * times)); } - if (0 < data.getDouble("fire_rotx_time") && data.getDouble("fire_rotx_time") < 1.8) { + if (0 < data.getDouble("fire_rotx_time") && data.getDouble("fire_rotx_time") < 1.732) { data.putDouble("fire_rot", (pose * (1 / 6.3 * (data.getDouble("fire_rotx_time") - 0.5)) * Math.sin(6.3 * (data.getDouble("fire_rotx_time") - 0.5)) * (3 - Math.pow(data.getDouble("fire_rotx_time") , 2)))); if ((capability.orElse(new TargetModVariables.PlayerVariables())).recoilHorizon > 0) { @@ -450,8 +450,9 @@ public class ClientEventHandler { if (data.getDouble("firetime") >= 1) { data.putDouble("firetime", 0); } - if (data.getDouble("fire_rotx_time") >= 1.8) { + if (data.getDouble("fire_rotx_time") >= 1.732) { data.putDouble("fire_rotx_time", 0); + data.putDouble("fire_rot", 0); } } diff --git a/src/main/java/net/mcreator/target/event/PlayerEventHandler.java b/src/main/java/net/mcreator/target/event/PlayerEventHandler.java index d68d27170..fa7b02000 100644 --- a/src/main/java/net/mcreator/target/event/PlayerEventHandler.java +++ b/src/main/java/net/mcreator/target/event/PlayerEventHandler.java @@ -10,6 +10,7 @@ import net.minecraft.nbt.CompoundTag; import net.minecraft.network.chat.Component; import net.minecraft.server.level.ServerPlayer; import net.minecraft.sounds.SoundSource; +import net.minecraft.util.Mth; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Items; @@ -325,12 +326,12 @@ public class PlayerEventHandler { if (recoil >= 2) recoil = 0d; if (0 < recoil && recoil < 2) { - recoil = recoil + 0.013 * (2.1 - recoil); + recoil = recoil + 0.017 * (2.1 - recoil); double sinRes = 0; - sinRes = 0.35 * Math.sin(Math.PI * (1.5 * recoil)) * (3 - Math.pow(recoil , 2)) + 0.046; + sinRes = 0.35 * Math.sin(Math.PI * (1.5 * recoil)) * (3 - Math.pow(recoil , 2)) + 0.044; - float newPitch = ((float) (player.getXRot() - 7.5f * recoilY * ry * sinRes)); + float newPitch = ((float) (player.getXRot() - 7.5f * recoilY * ry * (sinRes + Mth.clamp(0.75 - recoil,0,0.5)))); player.setXRot(newPitch); player.xRotO = player.getXRot();