From 64f662f3bf0c08d26a6eecff1dd9b40f0dba2e2f Mon Sep 17 00:00:00 2001 From: Atsuihsio <842960157@qq.com> Date: Fri, 18 Oct 2024 16:59:50 +0800 Subject: [PATCH] =?UTF-8?q?=E8=BF=98=E6=98=AF=E4=BC=98=E5=8C=96=E5=BC=80?= =?UTF-8?q?=E7=81=AB=E5=8A=A8=E7=94=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../client/model/item/AK12ItemModel.java | 14 +++++----- .../client/model/item/AK47ItemModel.java | 12 ++++---- .../client/model/item/DevotionItemModel.java | 12 ++++---- .../client/model/item/Hk416ItemModel.java | 14 +++++----- .../client/model/item/M4ItemModel.java | 14 +++++----- .../client/model/item/M60ItemModel.java | 20 ++++++------- .../client/model/item/Mk14ItemModel.java | 12 ++++---- .../client/model/item/Qbz95ItemModel.java | 14 +++++----- .../client/model/item/RpkItemModel.java | 14 +++++----- .../client/model/item/SksItemModel.java | 28 ++++++++++++------- .../event/ClientEventHandler.java | 3 +- .../assets/superbwarfare/geo/sks.geo.json | 15 ++++++---- 12 files changed, 92 insertions(+), 80 deletions(-) diff --git a/src/main/java/net/mcreator/superbwarfare/client/model/item/AK12ItemModel.java b/src/main/java/net/mcreator/superbwarfare/client/model/item/AK12ItemModel.java index 136513caa..03d6af43a 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/model/item/AK12ItemModel.java +++ b/src/main/java/net/mcreator/superbwarfare/client/model/item/AK12ItemModel.java @@ -67,16 +67,16 @@ public class AK12ItemModel extends GeoModel { stack.getOrCreateTag().putBoolean("HoloHidden", !(gun.getPosX() > 1.8)); - shen.setPosX((float) (0.75f * ClientEventHandler.recoilHorizon * fpz * fp)); - shen.setPosY((float) (-0.03f * fp - 0.06f * fr)); - shen.setPosZ((float) (0.325 * fp + 0.34f * fr + 0.75 * fpz)); - shen.setRotX((float) (0.02f * fp + 0.02f * fr + 0.02f * fpz)); - shen.setRotY((float) (0.07f * ClientEventHandler.recoilHorizon * fpz)); + shen.setPosX((float) (0.95f * ClientEventHandler.recoilHorizon * fpz * fp)); + shen.setPosY((float) (0.15f * fp + 0.18f * fr)); + shen.setPosZ((float) (0.275 * fp + 0.34f * fr + 0.65 * fpz)); + shen.setRotX((float) (0.01f * fp + 0.05f * fr + 0.01f * fpz)); + shen.setRotY((float) (0.1f * ClientEventHandler.recoilHorizon * fpz)); shen.setRotZ((float) ((0.08f + 0.1 * fr) * ClientEventHandler.recoilHorizon)); shen.setPosX((float) (shen.getPosX() * (1 - 0.5 * zt))); - shen.setPosY((float) (shen.getPosY() * (1 + 0.2 * zt))); - shen.setPosZ((float) (shen.getPosZ() * (1 - 0.3 * zt))); + shen.setPosY((float) (shen.getPosY() * (-1 + 0.4 * zt))); + shen.setPosZ((float) (shen.getPosZ() * (1 - 0.6 * zt))); shen.setRotX((float) (shen.getRotX() * (1 - 0.9 * zt))); shen.setRotY((float) (shen.getRotY() * (1 - 0.9 * zt))); shen.setRotZ((float) (shen.getRotZ() * (1 - 0.9 * zt))); diff --git a/src/main/java/net/mcreator/superbwarfare/client/model/item/AK47ItemModel.java b/src/main/java/net/mcreator/superbwarfare/client/model/item/AK47ItemModel.java index c4c5e5ce3..eefe0071e 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/model/item/AK47ItemModel.java +++ b/src/main/java/net/mcreator/superbwarfare/client/model/item/AK47ItemModel.java @@ -67,15 +67,15 @@ public class AK47ItemModel extends GeoModel { stack.getOrCreateTag().putBoolean("HoloHidden", !(gun.getPosX() > 1.8)); - shen.setPosX((float) (0.75f * ClientEventHandler.recoilHorizon * fpz * fp)); - shen.setPosY((float) (-0.03f * fp - 0.06f * fr)); - shen.setPosZ((float) (0.325 * fp + 0.34f * fr + 0.75 * fpz)); - shen.setRotX((float) (0.02f * fp + 0.02f * fr + 0.02f * fpz)); - shen.setRotY((float) (0.07f * ClientEventHandler.recoilHorizon * fpz)); + shen.setPosX((float) (0.95f * ClientEventHandler.recoilHorizon * fpz * fp)); + shen.setPosY((float) (0.15f * fp + 0.18f * fr)); + shen.setPosZ((float) (0.275 * fp + 0.34f * fr + 0.65 * fpz)); + shen.setRotX((float) (0.01f * fp + 0.05f * fr + 0.01f * fpz)); + shen.setRotY((float) (0.1f * ClientEventHandler.recoilHorizon * fpz)); shen.setRotZ((float) ((0.08f + 0.1 * fr) * ClientEventHandler.recoilHorizon)); shen.setPosX((float) (shen.getPosX() * (1 - 0.5 * zt))); - shen.setPosY((float) (shen.getPosY() * (1 + 0.2 * zt))); + shen.setPosY((float) (shen.getPosY() * (-1 + 0.4 * zt))); shen.setPosZ((float) (shen.getPosZ() * (1 - 0.6 * zt))); shen.setRotX((float) (shen.getRotX() * (1 - 0.9 * zt))); shen.setRotY((float) (shen.getRotY() * (1 - 0.9 * zt))); diff --git a/src/main/java/net/mcreator/superbwarfare/client/model/item/DevotionItemModel.java b/src/main/java/net/mcreator/superbwarfare/client/model/item/DevotionItemModel.java index cfb3b1203..65f1021ee 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/model/item/DevotionItemModel.java +++ b/src/main/java/net/mcreator/superbwarfare/client/model/item/DevotionItemModel.java @@ -72,15 +72,15 @@ public class DevotionItemModel extends GeoModel { stack.getOrCreateTag().putBoolean("HoloHidden", !(gun.getPosX() > 1.8)); - shen.setPosX((float) (0.75f * ClientEventHandler.recoilHorizon * fpz * fp)); - shen.setPosY((float) (-0.03f * fp - 0.06f * fr)); - shen.setPosZ((float) (0.725 * fp + 0.34f * fr + 0.45 * fpz)); - shen.setRotX((float) (0.01f * fp + 0.01f * fr + 0.04f * fpz)); - shen.setRotY((float) (0.07f * ClientEventHandler.recoilHorizon * fpz)); + shen.setPosX((float) (0.95f * ClientEventHandler.recoilHorizon * fpz * fp)); + shen.setPosY((float) (0.15f * fp + 0.18f * fr)); + shen.setPosZ((float) (0.315 * fp + 0.34f * fr + 0.65 * fpz)); + shen.setRotX((float) (0.01f * fp + 0.05f * fr + 0.01f * fpz)); + shen.setRotY((float) (0.04f * ClientEventHandler.recoilHorizon * fpz)); shen.setRotZ((float) ((0.08f + 0.1 * fr) * ClientEventHandler.recoilHorizon)); shen.setPosX((float) (shen.getPosX() * (1 - 0.5 * zt))); - shen.setPosY((float) (shen.getPosY() * (1 + 0.2 * zt))); + shen.setPosY((float) (shen.getPosY() * (-1 + 0.9 * zt))); shen.setPosZ((float) (shen.getPosZ() * (1 - 0.3 * zt))); shen.setRotX((float) (shen.getRotX() * (1 - 0.9 * zt))); shen.setRotY((float) (shen.getRotY() * (1 - 0.9 * zt))); diff --git a/src/main/java/net/mcreator/superbwarfare/client/model/item/Hk416ItemModel.java b/src/main/java/net/mcreator/superbwarfare/client/model/item/Hk416ItemModel.java index 0609f6996..d20bb5a33 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/model/item/Hk416ItemModel.java +++ b/src/main/java/net/mcreator/superbwarfare/client/model/item/Hk416ItemModel.java @@ -66,16 +66,16 @@ public class Hk416ItemModel extends GeoModel { stack.getOrCreateTag().putBoolean("HoloHidden", !(gun.getPosX() > 3.1)); - shen.setPosX((float) (0.75f * ClientEventHandler.recoilHorizon * fpz * fp)); - shen.setPosY((float) (-0.03f * fp - 0.06f * fr)); - shen.setPosZ((float) (0.725 * fp + 0.34f * fr + 0.45 * fpz)); - shen.setRotX((float) (0.03f * fp + 0.02f * fr + 0.02f * fpz)); - shen.setRotY((float) (0.07f * ClientEventHandler.recoilHorizon * fpz)); + shen.setPosX((float) (0.95f * ClientEventHandler.recoilHorizon * fpz * fp)); + shen.setPosY((float) (0.15f * fp + 0.18f * fr)); + shen.setPosZ((float) (0.275 * fp + 0.34f * fr + 0.65 * fpz)); + shen.setRotX((float) (0.01f * fp + 0.05f * fr + 0.01f * fpz)); + shen.setRotY((float) (0.04f * ClientEventHandler.recoilHorizon * fpz)); shen.setRotZ((float) ((0.08f + 0.1 * fr) * ClientEventHandler.recoilHorizon)); shen.setPosX((float) (shen.getPosX() * (1 - 0.5 * zt))); - shen.setPosY((float) (shen.getPosY() * (1 + 0.2 * zt))); - shen.setPosZ((float) (shen.getPosZ() * (1 - 0.3 * zt))); + shen.setPosY((float) (shen.getPosY() * (-1 + 0.4 * zt))); + shen.setPosZ((float) (shen.getPosZ() * (1 - 0.6 * zt))); shen.setRotX((float) (shen.getRotX() * (1 - 0.9 * zt))); shen.setRotY((float) (shen.getRotY() * (1 - 0.9 * zt))); shen.setRotZ((float) (shen.getRotZ() * (1 - 0.9 * zt))); diff --git a/src/main/java/net/mcreator/superbwarfare/client/model/item/M4ItemModel.java b/src/main/java/net/mcreator/superbwarfare/client/model/item/M4ItemModel.java index 187f707d0..193b4ddcc 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/model/item/M4ItemModel.java +++ b/src/main/java/net/mcreator/superbwarfare/client/model/item/M4ItemModel.java @@ -66,16 +66,16 @@ public class M4ItemModel extends GeoModel { gun.setRotZ((float) (0.05f * zpz)); - shen.setPosX((float) (0.75f * ClientEventHandler.recoilHorizon * fpz * fp)); - shen.setPosY((float) (-0.03f * fp - 0.06f * fr)); - shen.setPosZ((float) (0.325 * fp + 0.34f * fr + 0.65 * fpz)); - shen.setRotX((float) (0.02f * fp + 0.02f * fr + 0.02f * fpz)); - shen.setRotY((float) (0.07f * ClientEventHandler.recoilHorizon * fpz)); + shen.setPosX((float) (0.95f * ClientEventHandler.recoilHorizon * fpz * fp)); + shen.setPosY((float) (0.15f * fp + 0.18f * fr)); + shen.setPosZ((float) (0.275 * fp + 0.34f * fr + 0.65 * fpz)); + shen.setRotX((float) (0.01f * fp + 0.05f * fr + 0.01f * fpz)); + shen.setRotY((float) (0.04f * ClientEventHandler.recoilHorizon * fpz)); shen.setRotZ((float) ((0.08f + 0.1 * fr) * ClientEventHandler.recoilHorizon)); shen.setPosX((float) (shen.getPosX() * (1 - 0.5 * zt))); - shen.setPosY((float) (shen.getPosY() * (1 + 0.2 * zt))); - shen.setPosZ((float) (shen.getPosZ() * (1 - 0.4 * zt))); + shen.setPosY((float) (shen.getPosY() * (-1 + 0.4 * zt))); + shen.setPosZ((float) (shen.getPosZ() * (1 - 0.6 * zt))); shen.setRotX((float) (shen.getRotX() * (1 - 0.9 * zt))); shen.setRotY((float) (shen.getRotY() * (1 - 0.9 * zt))); shen.setRotZ((float) (shen.getRotZ() * (1 - 0.9 * zt))); diff --git a/src/main/java/net/mcreator/superbwarfare/client/model/item/M60ItemModel.java b/src/main/java/net/mcreator/superbwarfare/client/model/item/M60ItemModel.java index 6bbb2181e..ce8f327c6 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/model/item/M60ItemModel.java +++ b/src/main/java/net/mcreator/superbwarfare/client/model/item/M60ItemModel.java @@ -105,23 +105,23 @@ public class M60ItemModel extends GeoModel { gun.setPosY(-0.1f * (float) zp - (float) (0.1f * zpz)); - gun.setPosZ((float) zp + (float) (0.3f * zpz)); + gun.setPosZ(3.24f * (float) zp + (float) (0.3f * zpz)); gun.setRotZ(-0.087f * (float) zp + (float) (0.05f * zpz)); - shen.setPosX((float) (0.75f * ClientEventHandler.recoilHorizon * fpz * fp)); - shen.setPosY((float) (-0.04f * fp - 0.08f * fr)); - shen.setPosZ((float) (0.325 * fp + 0.34f * fr + 0.95 * fpz)); - shen.setRotX((float) (0.03f * fp + 0.03f * fr + 0.02f * fpz)); - shen.setRotY((float) (0.07f * ClientEventHandler.recoilHorizon * fpz)); + shen.setPosX((float) (0.95f * ClientEventHandler.recoilHorizon * fpz * fp)); + shen.setPosY((float) (0.15f * fp + 0.18f * fr)); + shen.setPosZ((float) (0.325 * fp + 0.34f * fr + 0.75 * fpz)); + shen.setRotX((float) (0.01f * fp + 0.05f * fr + 0.01f * fpz)); + shen.setRotY((float) (0.04f * ClientEventHandler.recoilHorizon * fpz)); shen.setRotZ((float) ((0.08f + 0.1 * fr) * ClientEventHandler.recoilHorizon)); - shen.setPosX((float) (shen.getPosX() * (1 - 0.2 * zt))); - shen.setPosY((float) (shen.getPosY() * (1 + 0.3 * zt))); - shen.setPosZ((float) (shen.getPosZ() * (1 + 0.2 * zt))); + shen.setPosX((float) (shen.getPosX() * (1 - 0.5 * zt))); + shen.setPosY((float) (shen.getPosY() * (-1 + 0.4 * zt))); + shen.setPosZ((float) (shen.getPosZ() * (1 - 0.6 * zt))); shen.setRotX((float) (shen.getRotX() * (1 - 0.9 * zt))); shen.setRotY((float) (shen.getRotY() * (1 - 0.9 * zt))); - shen.setRotZ((float) (shen.getRotZ() * (1 - 0.7 * zt))); + shen.setRotZ((float) (shen.getRotZ() * (1 - 0.9 * zt))); tiba.setRotZ((float) (-0.25f * fp + 0.4 * fr)); diff --git a/src/main/java/net/mcreator/superbwarfare/client/model/item/Mk14ItemModel.java b/src/main/java/net/mcreator/superbwarfare/client/model/item/Mk14ItemModel.java index fa9728a88..9ccee43ef 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/model/item/Mk14ItemModel.java +++ b/src/main/java/net/mcreator/superbwarfare/client/model/item/Mk14ItemModel.java @@ -84,15 +84,15 @@ public class Mk14ItemModel extends GeoModel { CoreGeoBone shen = getAnimationProcessor().getBone("shen"); - shen.setPosX((float) (0.75f * ClientEventHandler.recoilHorizon * fpz * fp)); - shen.setPosY((float) (-0.03f * fp - 0.06f * fr)); - shen.setPosZ((float) (0.325 * fp + 0.34f * fr + 0.75 * fpz)); - shen.setRotX((float) (0.02f * fp + 0.02f * fr + 0.02f * fpz)); - shen.setRotY((float) (0.07f * ClientEventHandler.recoilHorizon * fpz)); + shen.setPosX((float) (0.95f * ClientEventHandler.recoilHorizon * fpz * fp)); + shen.setPosY((float) (0.15f * fp + 0.18f * fr)); + shen.setPosZ((float) (0.275 * fp + 0.34f * fr + 0.65 * fpz)); + shen.setRotX((float) (0.01f * fp + 0.05f * fr + 0.01f * fpz)); + shen.setRotY((float) (0.1f * ClientEventHandler.recoilHorizon * fpz)); shen.setRotZ((float) ((0.08f + 0.1 * fr) * ClientEventHandler.recoilHorizon)); shen.setPosX((float) (shen.getPosX() * (1 - 0.5 * zt))); - shen.setPosY((float) (shen.getPosY() * (1 + 0.2 * zt))); + shen.setPosY((float) (shen.getPosY() * (-1 + 0.4 * zt))); shen.setPosZ((float) (shen.getPosZ() * (1 - 0.6 * zt))); shen.setRotX((float) (shen.getRotX() * (1 - 0.9 * zt))); shen.setRotY((float) (shen.getRotY() * (1 - 0.9 * zt))); diff --git a/src/main/java/net/mcreator/superbwarfare/client/model/item/Qbz95ItemModel.java b/src/main/java/net/mcreator/superbwarfare/client/model/item/Qbz95ItemModel.java index 947eb3b20..097b5de30 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/model/item/Qbz95ItemModel.java +++ b/src/main/java/net/mcreator/superbwarfare/client/model/item/Qbz95ItemModel.java @@ -65,16 +65,16 @@ public class Qbz95ItemModel extends GeoModel { stack.getOrCreateTag().putBoolean("HoloHidden", !(gun.getPosX() > 3.1)); - shen.setPosX((float) (0.75f * ClientEventHandler.recoilHorizon * fpz * fp)); - shen.setPosY((float) (-0.03f * fp - 0.06f * fr)); - shen.setPosZ((float) (0.725 * fp + 0.34f * fr + 0.75 * fpz)); - shen.setRotX((float) (0.03f * fp + 0.02f * fr + 0.02f * fpz)); - shen.setRotY((float) (0.07f * ClientEventHandler.recoilHorizon * fpz)); + shen.setPosX((float) (0.95f * ClientEventHandler.recoilHorizon * fpz * fp)); + shen.setPosY((float) (0.15f * fp + 0.18f * fr)); + shen.setPosZ((float) (0.275 * fp + 0.34f * fr + 0.65 * fpz)); + shen.setRotX((float) (0.01f * fp + 0.05f * fr + 0.01f * fpz)); + shen.setRotY((float) (0.1f * ClientEventHandler.recoilHorizon * fpz)); shen.setRotZ((float) ((0.08f + 0.1 * fr) * ClientEventHandler.recoilHorizon)); shen.setPosX((float) (shen.getPosX() * (1 - 0.5 * zt))); - shen.setPosY((float) (shen.getPosY() * (1 + 0.2 * zt))); - shen.setPosZ((float) (shen.getPosZ() * (1 - 0.3 * zt))); + shen.setPosY((float) (shen.getPosY() * (-1 + 0.4 * zt))); + shen.setPosZ((float) (shen.getPosZ() * (1 - 0.6 * zt))); shen.setRotX((float) (shen.getRotX() * (1 - 0.9 * zt))); shen.setRotY((float) (shen.getRotY() * (1 - 0.9 * zt))); shen.setRotZ((float) (shen.getRotZ() * (1 - 0.9 * zt))); diff --git a/src/main/java/net/mcreator/superbwarfare/client/model/item/RpkItemModel.java b/src/main/java/net/mcreator/superbwarfare/client/model/item/RpkItemModel.java index dde7d11f6..9588ff936 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/model/item/RpkItemModel.java +++ b/src/main/java/net/mcreator/superbwarfare/client/model/item/RpkItemModel.java @@ -81,16 +81,16 @@ public class RpkItemModel extends GeoModel { stack.getOrCreateTag().putBoolean("HoloHidden", !(gun.getPosX() > 1.65)); - shen.setPosX((float) (0.75f * ClientEventHandler.recoilHorizon * fpz * fp)); - shen.setPosY((float) (-0.03f * fp - 0.06f * fr)); - shen.setPosZ((float) (0.325 * fp + 0.34f * fr + 0.75 * fpz)); - shen.setRotX((float) (0.02f * fp + 0.02f * fr + 0.02f * fpz)); - shen.setRotY((float) (0.07f * ClientEventHandler.recoilHorizon * fpz)); + shen.setPosX((float) (0.95f * ClientEventHandler.recoilHorizon * fpz * fp)); + shen.setPosY((float) (0.15f * fp + 0.18f * fr)); + shen.setPosZ((float) (0.275 * fp + 0.34f * fr + 0.65 * fpz)); + shen.setRotX((float) (0.01f * fp + 0.05f * fr + 0.01f * fpz)); + shen.setRotY((float) (0.1f * ClientEventHandler.recoilHorizon * fpz)); shen.setRotZ((float) ((0.08f + 0.1 * fr) * ClientEventHandler.recoilHorizon)); shen.setPosX((float) (shen.getPosX() * (1 - 0.5 * zt))); - shen.setPosY((float) (shen.getPosY() * (1 + 0.2 * zt))); - shen.setPosZ((float) (shen.getPosZ() * (1 - 0.3 * zt))); + shen.setPosY((float) (shen.getPosY() * (-1 + 0.4 * zt))); + shen.setPosZ((float) (shen.getPosZ() * (1 - 0.6 * zt))); shen.setRotX((float) (shen.getRotX() * (1 - 0.9 * zt))); shen.setRotY((float) (shen.getRotY() * (1 - 0.9 * zt))); shen.setRotZ((float) (shen.getRotZ() * (1 - 0.9 * zt))); diff --git a/src/main/java/net/mcreator/superbwarfare/client/model/item/SksItemModel.java b/src/main/java/net/mcreator/superbwarfare/client/model/item/SksItemModel.java index 1d0bee026..c20e8ad2e 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/model/item/SksItemModel.java +++ b/src/main/java/net/mcreator/superbwarfare/client/model/item/SksItemModel.java @@ -41,10 +41,6 @@ public class SksItemModel extends GeoModel { ItemStack stack = player.getMainHandItem(); if (!stack.is(ModTags.Items.GUN)) return; - if (stack.getOrCreateTag().getBoolean("HoldOpen")) { - bolt.setPosZ(2.5f); - } - double zt = ClientEventHandler.zoomTime; double zp = ClientEventHandler.zoomPos; double zpz = ClientEventHandler.zoomPosZ; @@ -74,15 +70,15 @@ public class SksItemModel extends GeoModel { CoreGeoBone shen = getAnimationProcessor().getBone("shen"); - shen.setPosX((float) (0.75f * ClientEventHandler.recoilHorizon * fpz * fp)); - shen.setPosY((float) (-0.03f * fp - 0.06f * fr)); - shen.setPosZ((float) (0.325 * fp + 0.34f * fr + 0.75 * fpz)); - shen.setRotX((float) (0.02f * fp + 0.02f * fr + 0.02f * fpz)); - shen.setRotY((float) (0.07f * ClientEventHandler.recoilHorizon * fpz)); + shen.setPosX((float) (0.95f * ClientEventHandler.recoilHorizon * fpz * fp)); + shen.setPosY((float) (0.2f * fp + 0.24f * fr)); + shen.setPosZ((float) (0.825 * fp + 0.34f * fr + 1.35 * fpz)); + shen.setRotX((float) (0.01f * fp + 0.05f * fr + 0.01f * fpz)); + shen.setRotY((float) (0.1f * ClientEventHandler.recoilHorizon * fpz)); shen.setRotZ((float) ((0.08f + 0.1 * fr) * ClientEventHandler.recoilHorizon)); shen.setPosX((float) (shen.getPosX() * (1 - 0.5 * zt))); - shen.setPosY((float) (shen.getPosY() * (1 + 0.2 * zt))); + shen.setPosY((float) (shen.getPosY() * (-1 + 0.5 * zt))); shen.setPosZ((float) (shen.getPosZ() * (1 - 0.6 * zt))); shen.setRotX((float) (shen.getRotX() * (1 - 0.9 * zt))); shen.setRotY((float) (shen.getRotY() * (1 - 0.9 * zt))); @@ -116,6 +112,7 @@ public class SksItemModel extends GeoModel { } ClientEventHandler.shake(Mth.RAD_TO_DEG * camera.getRotX(),Mth.RAD_TO_DEG * camera.getRotY(), Mth.RAD_TO_DEG * camera.getRotZ()); + CoreGeoBone shell = getAnimationProcessor().getBone("shell"); CoreGeoBone shell1 = getAnimationProcessor().getBone("shell1"); CoreGeoBone shell2 = getAnimationProcessor().getBone("shell2"); CoreGeoBone shell3 = getAnimationProcessor().getBone("shell3"); @@ -123,5 +120,16 @@ public class SksItemModel extends GeoModel { CoreGeoBone shell5 = getAnimationProcessor().getBone("shell5"); ClientEventHandler.handleShells(0.7f, 1.2f, shell1, shell2, shell3, shell4, shell5); + + if (stack.getOrCreateTag().getBoolean("HoldOpen")) { + shell.setScaleX(0); + shell.setScaleY(0); + shell.setScaleZ(0); + bolt.setPosZ(2.5f); + } else { + shell.setScaleX(1); + shell.setScaleY(1); + shell.setScaleZ(1); + } } } diff --git a/src/main/java/net/mcreator/superbwarfare/event/ClientEventHandler.java b/src/main/java/net/mcreator/superbwarfare/event/ClientEventHandler.java index e878372bb..fef0a82d3 100644 --- a/src/main/java/net/mcreator/superbwarfare/event/ClientEventHandler.java +++ b/src/main/java/net/mcreator/superbwarfare/event/ClientEventHandler.java @@ -523,8 +523,6 @@ public class ClientEventHandler { Minecraft.getInstance().player.getPersistentData().putDouble("noRun", 20); float gunRecoilY = (float) tag.getDouble("recoil_y") * 10; - - recoilTime = 0.01; recoilY = (float) (2 * Math.random() - 1) * gunRecoilY; } @@ -544,6 +542,7 @@ public class ClientEventHandler { fireRecoilTime -= 7 * times; fireSpread += 0.1; firePosZ += 0.5 * firePosZ + 0.15; + recoilTime = 0.01; } fireSpread = Mth.clamp(fireSpread - 0.1 * (Math.pow(fireSpread, 2) * times), 0, 2); diff --git a/src/main/resources/assets/superbwarfare/geo/sks.geo.json b/src/main/resources/assets/superbwarfare/geo/sks.geo.json index b0bac829f..e1d9e382b 100644 --- a/src/main/resources/assets/superbwarfare/geo/sks.geo.json +++ b/src/main/resources/assets/superbwarfare/geo/sks.geo.json @@ -2975,8 +2975,13 @@ "pivot": [-0.06606, 0.14115, 1.54346] }, { - "name": "shell1", + "name": "shell", "parent": "gun", + "pivot": [-0.06606, 0.14115, 1.54346] + }, + { + "name": "shell1", + "parent": "shell", "pivot": [0, 2.64488, -4.14697], "cubes": [ { @@ -3019,7 +3024,7 @@ }, { "name": "shell2", - "parent": "gun", + "parent": "shell", "pivot": [0, 2.64488, -4.14697], "cubes": [ { @@ -3062,7 +3067,7 @@ }, { "name": "shell3", - "parent": "gun", + "parent": "shell", "pivot": [0, 2.64488, -4.14697], "cubes": [ { @@ -3105,7 +3110,7 @@ }, { "name": "shell4", - "parent": "gun", + "parent": "shell", "pivot": [0, 2.64488, -4.14697], "cubes": [ { @@ -3148,7 +3153,7 @@ }, { "name": "shell5", - "parent": "gun", + "parent": "shell", "pivot": [0, 2.64488, -4.14697], "cubes": [ {