From 22c2c1271dfb16bf866955c238b1aee14871735c Mon Sep 17 00:00:00 2001 From: Atsuihsio <842960157@qq.com> Date: Sun, 2 Jun 2024 14:13:21 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=BC=80=E7=81=AB,=E5=90=8E?= =?UTF-8?q?=E5=9D=90=E5=8A=9B=E5=8A=A8=E7=94=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../client/model/item/AbekiriItemModel.java | 26 +++++-------------- .../model/item/TracheliumItemModel.java | 26 +++++-------------- .../target/event/ClientEventHandler.java | 10 +++---- .../target/event/PlayerEventHandler.java | 14 +++------- 4 files changed, 21 insertions(+), 55 deletions(-) diff --git a/src/main/java/net/mcreator/target/client/model/item/AbekiriItemModel.java b/src/main/java/net/mcreator/target/client/model/item/AbekiriItemModel.java index 4c5c7cc2d..0c076d0df 100644 --- a/src/main/java/net/mcreator/target/client/model/item/AbekiriItemModel.java +++ b/src/main/java/net/mcreator/target/client/model/item/AbekiriItemModel.java @@ -52,26 +52,12 @@ public class AbekiriItemModel extends GeoModel { double fp = player.getPersistentData().getDouble("fire_pos"); double fr = player.getPersistentData().getDouble("fire_rot"); - if ((player.getCapability(TargetModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new TargetModVariables.PlayerVariables())).zooming) { - shen.setPosY(0.04f * (float) (fp + 2 * fr)); - shen.setPosZ(3f * (float) (fp + 0.54f * fr)); - shen.setRotX(0.4f * (float) (fp + fr)); - if ((player.getCapability(TargetModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new TargetModVariables.PlayerVariables())).recoilHorizon > 0) { - shen.setRotY(0.04f * (float) fr); - } else { - shen.setRotY(-0.04f * (float) fr); - } - } else { - shen.setPosY(0.08f * (float) (fp + 2 * fr)); - shen.setPosZ(4f * (float) (fp + 0.54f * fr)); - shen.setRotX(0.5f * (float) (0.18f * fp + fr)); - shen.setRotZ(-0.16f * (float) (fp + 1.3 * fr)); - if ((player.getCapability(TargetModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new TargetModVariables.PlayerVariables())).recoilHorizon > 0) { - shen.setRotY(0.09f * (float) fr); - } else { - shen.setRotY(-0.09f * (float) fr); - } - } + shen.setPosX(-0.2f * (float) (fp + 2 * fr)); + shen.setPosY(0.2f * (float) (fp + 2 * fr)); + shen.setPosZ(4.2f * (float) (1.3 * fp + 0.54f * fr)); + shen.setRotX(0.25f * (float) (1.28f * fp + fr)); + shen.setRotZ(-0.1f * (float) (fp + 1.3 * fr)); + shen.setRotY(-0.15f * (float) fr); CoreGeoBone flare = getAnimationProcessor().getBone("flare"); diff --git a/src/main/java/net/mcreator/target/client/model/item/TracheliumItemModel.java b/src/main/java/net/mcreator/target/client/model/item/TracheliumItemModel.java index 910a32a89..4e2c05e07 100644 --- a/src/main/java/net/mcreator/target/client/model/item/TracheliumItemModel.java +++ b/src/main/java/net/mcreator/target/client/model/item/TracheliumItemModel.java @@ -53,26 +53,12 @@ public class TracheliumItemModel extends GeoModel { double fp = player.getPersistentData().getDouble("fire_pos"); double fr = player.getPersistentData().getDouble("fire_rot"); - if ((player.getCapability(TargetModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new TargetModVariables.PlayerVariables())).zooming) { - shen.setPosY(0.4f * (float) (fp + 2 * fr)); - shen.setPosZ(3.6f * (float) (fp + 0.54f * fr)); - shen.setRotX(0.12f * (float) (fp + fr)); - if ((player.getCapability(TargetModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new TargetModVariables.PlayerVariables())).recoilHorizon > 0) { - shen.setRotY(0.025f * (float) fr); - } else { - shen.setRotY(-0.025f * (float) fr); - } - } else { - shen.setPosY(0.7f * (float) (fp + 2 * fr)); - shen.setPosZ(4.2f * (float) (fp + 0.54f * fr)); - shen.setRotX(0.15f * (float) (0.18f * fp + fr)); - shen.setRotZ(-0.01f * (float) (fp + 1.3 * fr)); - if ((player.getCapability(TargetModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new TargetModVariables.PlayerVariables())).recoilHorizon > 0) { - shen.setRotY(0.045f * (float) fr); - } else { - shen.setRotY(-0.045f * (float) fr); - } - } + shen.setPosX(-0.2f * (float) (fp + 2 * fr)); + shen.setPosY(0.2f * (float) (fp + 2 * fr)); + shen.setPosZ(4.2f * (float) (1.3 * fp + 0.54f * fr)); + shen.setRotX(0.25f * (float) (1.28f * fp + fr)); + shen.setRotZ(-0.1f * (float) (fp + 1.3 * fr)); + shen.setRotY(-0.15f * (float) fr); CoreGeoBone flare = getAnimationProcessor().getBone("flare"); diff --git a/src/main/java/net/mcreator/target/event/ClientEventHandler.java b/src/main/java/net/mcreator/target/event/ClientEventHandler.java index 81a9d5c61..162ef9170 100644 --- a/src/main/java/net/mcreator/target/event/ClientEventHandler.java +++ b/src/main/java/net/mcreator/target/event/ClientEventHandler.java @@ -430,13 +430,13 @@ public class ClientEventHandler { } } - if (0 < data.getDouble("fire_rotx_time") && data.getDouble("fire_rotx_time") < 2) { - data.putDouble("fire_rotx_time", (data.getDouble("fire_rotx_time") + 0.1 * (2.3 - data.getDouble("fire_rotx_time")) * times)); + if (0 < data.getDouble("fire_rotx_time") && data.getDouble("fire_rotx_time") < 1.8) { + data.putDouble("fire_rotx_time", (data.getDouble("fire_rotx_time") + 0.1 * (1.9 - data.getDouble("fire_rotx_time")) * times)); } - if (0 < data.getDouble("fire_rotx_time") && data.getDouble("fire_rotx_time") < 2) { + if (0 < data.getDouble("fire_rotx_time") && data.getDouble("fire_rotx_time") < 1.8) { 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)) * (2.5 - data.getDouble("fire_rotx_time")))); + (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 (0 <= data.getDouble("firetime") && data.getDouble("firetime") <= 0.25) { data.putDouble("boltpos", (-Math.pow(8 * data.getDouble("firetime") - 1, 2) + 1)); @@ -447,7 +447,7 @@ public class ClientEventHandler { if (data.getDouble("firetime") >= 1) { data.putDouble("firetime", 0); } - if (data.getDouble("fire_rotx_time") >= 2) { + if (data.getDouble("fire_rotx_time") >= 1.8) { data.putDouble("fire_rotx_time", 0); } } diff --git a/src/main/java/net/mcreator/target/event/PlayerEventHandler.java b/src/main/java/net/mcreator/target/event/PlayerEventHandler.java index 5d185310e..80f7d5da2 100644 --- a/src/main/java/net/mcreator/target/event/PlayerEventHandler.java +++ b/src/main/java/net/mcreator/target/event/PlayerEventHandler.java @@ -322,19 +322,13 @@ public class PlayerEventHandler { double recoil = player.getCapability(TargetModVariables.PLAYER_VARIABLES_CAPABILITY, null).map(c -> c.recoil).orElse(0d); - if (recoil >= 1) recoil = 0d; + if (recoil >= 2) recoil = 0d; - if (recoil > 0) { - recoil += 0.01; + if (0 < recoil && recoil < 2) { + recoil = recoil + 0.01 * (2.5 - recoil); double sinRes = 0; - - if (0 < recoil && recoil < 0.454) { - sinRes = (-18.34) * Math.pow(recoil, 2) + 8.58 * recoil; - } - if (0.454 <= recoil && recoil < 1) { - sinRes = 3.9 * Math.pow(recoil, 2) - 6.5 * recoil + 2.167; - } + sinRes = 0.35 * Math.sin(Math.PI * (1.5 * recoil)) * (3 - Math.pow(recoil , 2)) + 0.018; float newPitch = ((float) (player.getXRot() - 7.5f * recoilY * ry * sinRes)); player.setXRot(newPitch);