From 9411c752e57956fb6f37ed32cea378374dd03456 Mon Sep 17 00:00:00 2001 From: Atsuihsio <842960157@qq.com> Date: Fri, 20 Sep 2024 03:59:29 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=8A=A8=E7=94=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../client/model/item/AK47ItemModel.java | 11 +- .../client/model/item/Aa12ItemModel.java | 49 +++--- .../client/model/item/AbekiriItemModel.java | 13 +- .../client/model/item/BocekItemModel.java | 10 +- .../client/model/item/DevotionItemModel.java | 11 +- .../client/model/item/Glock17ItemModel.java | 11 +- .../client/model/item/Glock18ItemModel.java | 11 +- .../client/model/item/Hk416ItemModel.java | 9 +- .../model/item/HuntingRifleItemModel.java | 11 +- .../client/model/item/JavelinItemModel.java | 9 +- .../client/model/item/K98ItemModel.java | 9 +- .../client/model/item/M1911ItemModel.java | 11 +- .../client/model/item/M4ItemModel.java | 11 +- .../client/model/item/M60ItemModel.java | 10 +- .../client/model/item/M79ItemModel.java | 11 +- .../client/model/item/M870ItemModel.java | 11 +- .../client/model/item/M98bItemModel.java | 11 +- .../client/model/item/MarlinItemModel.java | 11 +- .../client/model/item/MinigunItemModel.java | 11 +- .../client/model/item/Mk14ItemModel.java | 11 +- .../model/item/MosinNagantItemModel.java | 9 +- .../client/model/item/Ntw20Model.java | 11 +- .../client/model/item/Qbz95ItemModel.java | 9 +- .../client/model/item/RpgItemModel.java | 11 +- .../client/model/item/RpkItemModel.java | 10 +- .../client/model/item/SentinelItemModel.java | 11 +- .../client/model/item/SksItemModel.java | 10 +- .../client/model/item/SvdItemModel.java | 12 +- .../client/model/item/TaserItemModel.java | 12 +- .../model/item/TracheliumItemModel.java | 11 +- .../client/model/item/VectorItemModel.java | 11 +- .../projectile/JavelinMissileEntity.java | 6 +- .../event/ClientEventHandler.java | 142 ++++++++++++------ .../assets/superbwarfare/lang/zh_cn.json | 1 + 34 files changed, 239 insertions(+), 279 deletions(-) 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 43adaf49d..b54c3ab35 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 @@ -84,14 +84,11 @@ public class AK47ItemModel extends GeoModel { float PosY = (float) player.getPersistentData().getDouble("gun_move_posY"); float RotZ = (float) player.getPersistentData().getDouble("gun_move_rotZ"); - double y = player.getPersistentData().getDouble("y"); - double x = player.getPersistentData().getDouble("x"); - + double swayX = ClientEventHandler.getSwayX(); + double swayY = ClientEventHandler.getSwayY(); root.setPosX(PosX); - - root.setPosY((float) y + PosY); - - root.setRotX((float) x); + root.setPosY((float) swayY + PosY); + root.setRotX((float) swayX); root.setRotY(0.2f * PosX); diff --git a/src/main/java/net/mcreator/superbwarfare/client/model/item/Aa12ItemModel.java b/src/main/java/net/mcreator/superbwarfare/client/model/item/Aa12ItemModel.java index 0eb1f0f49..025c0d039 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/model/item/Aa12ItemModel.java +++ b/src/main/java/net/mcreator/superbwarfare/client/model/item/Aa12ItemModel.java @@ -48,7 +48,7 @@ public class Aa12ItemModel extends GeoModel { gun.setPosX(2.105f * (float) zp); gun.setPosY(0.17f * (float) zp - (float) (0.2f * zpz)); gun.setPosZ(0.1f * (float) zp + (float) (0.3f * zpz)); - gun.setRotZ((float) (0.02f * zp)); + gun.setRotZ((float) (0.02f * zpz)); gun.setScaleZ(1f - (0.4f * (float) zp)); double fp = player.getPersistentData().getDouble("fire_pos"); @@ -68,37 +68,30 @@ public class Aa12ItemModel extends GeoModel { shen.setPosX(0.5f * (float) fr * (float) ((player.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new ModVariables.PlayerVariables())).recoilHorizon * fp)); CoreGeoBone root = getAnimationProcessor().getBone("root"); - - float PosX = (float) player.getPersistentData().getDouble("gun_move_posX"); - float PosY = (float) player.getPersistentData().getDouble("gun_move_posY"); - - double y = player.getPersistentData().getDouble("y"); - double x = player.getPersistentData().getDouble("x"); - - root.setPosX(PosX); - root.setPosY((float) y + PosY); - root.setRotX((float) x); - - float RotZ = (float) player.getPersistentData().getDouble("gun_move_rotZ"); - - root.setRotY(0.2f * PosX); - root.setRotZ(0.2f * PosX + RotZ); - CoreGeoBone move = getAnimationProcessor().getBone("move"); - double m = player.getPersistentData().getDouble("move"); - double vy = player.getPersistentData().getDouble("vy"); + double swayX = ClientEventHandler.getSwayX(); + double swayY = ClientEventHandler.getSwayY(); + float moveRotZ = (float) ClientEventHandler.getMoveRotZ(); + float movePosX = (float) ClientEventHandler.getMovePosX(); + float movePosY = (float) ClientEventHandler.getMovePosY(); + double mph = ClientEventHandler.getMovePosHorizon(); + double vY = ClientEventHandler.getVelocityY(); + double turnRotX = ClientEventHandler.getTurnRotX(); + double turnRotY = ClientEventHandler.getTurnRotY(); + double turnRotZ = ClientEventHandler.getTurnRotZ(); - move.setPosX(9.3f * (float) m); - move.setPosY(-2f * (float) vy); + root.setPosX(movePosX); + root.setPosY((float) swayY + movePosY); + root.setRotX((float) swayX); + root.setRotY(0.2f * movePosX); + root.setRotZ(0.2f * movePosX + moveRotZ); - double xRot = player.getPersistentData().getDouble("xRot"); - double yRot = player.getPersistentData().getDouble("yRot"); - double zRot = player.getPersistentData().getDouble("zRot"); - - move.setRotX(Mth.DEG_TO_RAD * (float) xRot - 0.15f * (float) vy); - move.setRotY(Mth.DEG_TO_RAD * (float) yRot); - move.setRotZ(2.7f * (float) m + Mth.DEG_TO_RAD * (float) zRot); + move.setPosX(9.3f * (float) mph); + move.setPosY(-2f * (float) vY); + move.setRotX(Mth.DEG_TO_RAD * (float) turnRotX - 0.15f * (float) vY); + move.setRotY(Mth.DEG_TO_RAD * (float) turnRotY); + move.setRotZ(2.7f * (float) mph + Mth.DEG_TO_RAD * (float) turnRotZ); CoreGeoBone camera = getAnimationProcessor().getBone("camera"); CoreGeoBone main = getAnimationProcessor().getBone("0"); diff --git a/src/main/java/net/mcreator/superbwarfare/client/model/item/AbekiriItemModel.java b/src/main/java/net/mcreator/superbwarfare/client/model/item/AbekiriItemModel.java index f2b767b82..f0f84a8c1 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/model/item/AbekiriItemModel.java +++ b/src/main/java/net/mcreator/superbwarfare/client/model/item/AbekiriItemModel.java @@ -67,16 +67,11 @@ public class AbekiriItemModel extends GeoModel { float PosX = (float)player.getPersistentData().getDouble("gun_move_posX"); float PosY = (float)player.getPersistentData().getDouble("gun_move_posY"); - double y = 0; - double x = 0; - y = player.getPersistentData().getDouble("y"); - x = player.getPersistentData().getDouble("x"); - + double swayX = ClientEventHandler.getSwayX(); + double swayY = ClientEventHandler.getSwayY(); root.setPosX(PosX); - - root.setPosY((float) y + PosY); - - root.setRotX((float) x); + root.setPosY((float) swayY + PosY); + root.setRotX((float) swayX); float RotZ = (float) player.getPersistentData().getDouble("gun_move_rotZ"); diff --git a/src/main/java/net/mcreator/superbwarfare/client/model/item/BocekItemModel.java b/src/main/java/net/mcreator/superbwarfare/client/model/item/BocekItemModel.java index bccf0c4cb..055940215 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/model/item/BocekItemModel.java +++ b/src/main/java/net/mcreator/superbwarfare/client/model/item/BocekItemModel.java @@ -112,14 +112,12 @@ public class BocekItemModel extends GeoModel { float PosX = (float)player.getPersistentData().getDouble("gun_move_posX"); float PosY = (float)player.getPersistentData().getDouble("gun_move_posY"); - double y = player.getPersistentData().getDouble("y"); - double x = player.getPersistentData().getDouble("x"); + double swayX = ClientEventHandler.getSwayX(); + double swayY = ClientEventHandler.getSwayY(); root.setPosX(PosX); - - root.setPosY((float) y + PosY); - - root.setRotX((float) x); + root.setPosY((float) swayY + PosY); + root.setRotX((float) swayX); float RotZ = (float) player.getPersistentData().getDouble("gun_move_rotZ"); 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 610b709f7..42eefeb86 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 @@ -618,14 +618,11 @@ public class DevotionItemModel extends GeoModel { float PosX = (float)player.getPersistentData().getDouble("gun_move_posX"); float PosY = (float)player.getPersistentData().getDouble("gun_move_posY"); - double y = player.getPersistentData().getDouble("y"); - double x = player.getPersistentData().getDouble("x"); - + double swayX = ClientEventHandler.getSwayX(); + double swayY = ClientEventHandler.getSwayY(); root.setPosX(PosX); - - root.setPosY((float) y + PosY); - - root.setRotX((float) x); + root.setPosY((float) swayY + PosY); + root.setRotX((float) swayX); float RotZ = (float) player.getPersistentData().getDouble("gun_move_rotZ"); diff --git a/src/main/java/net/mcreator/superbwarfare/client/model/item/Glock17ItemModel.java b/src/main/java/net/mcreator/superbwarfare/client/model/item/Glock17ItemModel.java index d896996fc..549a458b3 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/model/item/Glock17ItemModel.java +++ b/src/main/java/net/mcreator/superbwarfare/client/model/item/Glock17ItemModel.java @@ -92,14 +92,11 @@ public class Glock17ItemModel extends GeoModel { float PosX = (float) player.getPersistentData().getDouble("gun_move_posX"); float PosY = (float) player.getPersistentData().getDouble("gun_move_posY"); - double y = player.getPersistentData().getDouble("y"); - double x = player.getPersistentData().getDouble("x"); - + double swayX = ClientEventHandler.getSwayX(); + double swayY = ClientEventHandler.getSwayY(); root.setPosX(PosX); - - root.setPosY((float) y + PosY); - - root.setRotX((float) x); + root.setPosY((float) swayY + PosY); + root.setRotX((float) swayX); float RotZ = (float) player.getPersistentData().getDouble("gun_move_rotZ"); diff --git a/src/main/java/net/mcreator/superbwarfare/client/model/item/Glock18ItemModel.java b/src/main/java/net/mcreator/superbwarfare/client/model/item/Glock18ItemModel.java index 3581b26bb..3e50852ef 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/model/item/Glock18ItemModel.java +++ b/src/main/java/net/mcreator/superbwarfare/client/model/item/Glock18ItemModel.java @@ -100,14 +100,11 @@ public class Glock18ItemModel extends GeoModel { float PosX = (float) player.getPersistentData().getDouble("gun_move_posX"); float PosY = (float) player.getPersistentData().getDouble("gun_move_posY"); - double y = player.getPersistentData().getDouble("y"); - double x = player.getPersistentData().getDouble("x"); - + double swayX = ClientEventHandler.getSwayX(); + double swayY = ClientEventHandler.getSwayY(); root.setPosX(PosX); - - root.setPosY((float) y + PosY); - - root.setRotX((float) x); + root.setPosY((float) swayY + PosY); + root.setRotX((float) swayX); float RotZ = (float) player.getPersistentData().getDouble("gun_move_rotZ"); 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 b30cb44e7..2bc76b588 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 @@ -76,12 +76,11 @@ public class Hk416ItemModel extends GeoModel { float PosX = (float) player.getPersistentData().getDouble("gun_move_posX"); float PosY = (float) player.getPersistentData().getDouble("gun_move_posY"); - double y = player.getPersistentData().getDouble("y"); - double x = player.getPersistentData().getDouble("x"); - + double swayX = ClientEventHandler.getSwayX(); + double swayY = ClientEventHandler.getSwayY(); root.setPosX(PosX); - root.setPosY((float) y + PosY); - root.setRotX((float) x); + root.setPosY((float) swayY + PosY); + root.setRotX((float) swayX); float RotZ = (float) player.getPersistentData().getDouble("gun_move_rotZ"); diff --git a/src/main/java/net/mcreator/superbwarfare/client/model/item/HuntingRifleItemModel.java b/src/main/java/net/mcreator/superbwarfare/client/model/item/HuntingRifleItemModel.java index 55dba1cbc..e29113d46 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/model/item/HuntingRifleItemModel.java +++ b/src/main/java/net/mcreator/superbwarfare/client/model/item/HuntingRifleItemModel.java @@ -79,14 +79,11 @@ public class HuntingRifleItemModel extends GeoModel { float PosX = (float)player.getPersistentData().getDouble("gun_move_posX"); float PosY = (float)player.getPersistentData().getDouble("gun_move_posY"); - double y = player.getPersistentData().getDouble("y"); - double x = player.getPersistentData().getDouble("x"); - + double swayX = ClientEventHandler.getSwayX(); + double swayY = ClientEventHandler.getSwayY(); root.setPosX(PosX); - - root.setPosY((float) y + PosY); - - root.setRotX((float) x); + root.setPosY((float) swayY + PosY); + root.setRotX((float) swayX); float RotZ = (float) player.getPersistentData().getDouble("gun_move_rotZ"); diff --git a/src/main/java/net/mcreator/superbwarfare/client/model/item/JavelinItemModel.java b/src/main/java/net/mcreator/superbwarfare/client/model/item/JavelinItemModel.java index 90eae0ac5..5ea3da0e3 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/model/item/JavelinItemModel.java +++ b/src/main/java/net/mcreator/superbwarfare/client/model/item/JavelinItemModel.java @@ -68,12 +68,11 @@ public class JavelinItemModel extends GeoModel { float PosX = (float) player.getPersistentData().getDouble("gun_move_posX"); float PosY = (float) player.getPersistentData().getDouble("gun_move_posY"); - double y = player.getPersistentData().getDouble("y"); - double x = player.getPersistentData().getDouble("x"); - + double swayX = ClientEventHandler.getSwayX(); + double swayY = ClientEventHandler.getSwayY(); root.setPosX(PosX); - root.setPosY((float) y + PosY); - root.setRotX((float) x); + root.setPosY((float) swayY + PosY); + root.setRotX((float) swayX); float RotZ = (float) player.getPersistentData().getDouble("gun_move_rotZ"); diff --git a/src/main/java/net/mcreator/superbwarfare/client/model/item/K98ItemModel.java b/src/main/java/net/mcreator/superbwarfare/client/model/item/K98ItemModel.java index 7f1ceee7e..704e7e2e4 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/model/item/K98ItemModel.java +++ b/src/main/java/net/mcreator/superbwarfare/client/model/item/K98ItemModel.java @@ -85,12 +85,11 @@ public class K98ItemModel extends GeoModel { float PosX = (float) player.getPersistentData().getDouble("gun_move_posX"); float PosY = (float) player.getPersistentData().getDouble("gun_move_posY"); - double y = player.getPersistentData().getDouble("y"); - double x = player.getPersistentData().getDouble("x"); - + double swayX = ClientEventHandler.getSwayX(); + double swayY = ClientEventHandler.getSwayY(); root.setPosX(PosX); - root.setPosY((float) y + PosY); - root.setRotX((float) x); + root.setPosY((float) swayY + PosY); + root.setRotX((float) swayX); float RotZ = (float) player.getPersistentData().getDouble("gun_move_rotZ"); diff --git a/src/main/java/net/mcreator/superbwarfare/client/model/item/M1911ItemModel.java b/src/main/java/net/mcreator/superbwarfare/client/model/item/M1911ItemModel.java index 372b68e0c..6265e107b 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/model/item/M1911ItemModel.java +++ b/src/main/java/net/mcreator/superbwarfare/client/model/item/M1911ItemModel.java @@ -90,14 +90,11 @@ public class M1911ItemModel extends GeoModel { float PosX = (float) player.getPersistentData().getDouble("gun_move_posX"); float PosY = (float) player.getPersistentData().getDouble("gun_move_posY"); - double y = player.getPersistentData().getDouble("y"); - double x = player.getPersistentData().getDouble("x"); - + double swayX = ClientEventHandler.getSwayX(); + double swayY = ClientEventHandler.getSwayY(); root.setPosX(PosX); - - root.setPosY((float) y + PosY); - - root.setRotX((float) x); + root.setPosY((float) swayY + PosY); + root.setRotX((float) swayX); float RotZ = (float) player.getPersistentData().getDouble("gun_move_rotZ"); 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 fe58e6de1..114c175cd 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 @@ -76,14 +76,11 @@ public class M4ItemModel extends GeoModel { float PosX = (float)player.getPersistentData().getDouble("gun_move_posX"); float PosY = (float)player.getPersistentData().getDouble("gun_move_posY"); - double y = player.getPersistentData().getDouble("y"); - double x = player.getPersistentData().getDouble("x"); - + double swayX = ClientEventHandler.getSwayX(); + double swayY = ClientEventHandler.getSwayY(); root.setPosX(PosX); - - root.setPosY((float) y + PosY); - - root.setRotX((float) x); + root.setPosY((float) swayY + PosY); + root.setRotX((float) swayX); float RotZ = (float) player.getPersistentData().getDouble("gun_move_rotZ"); 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 6ba300c2a..d7a3b441e 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 @@ -118,14 +118,12 @@ public class M60ItemModel extends GeoModel { float PosX = (float)player.getPersistentData().getDouble("gun_move_posX"); float PosY = (float)player.getPersistentData().getDouble("gun_move_posY"); - double y = player.getPersistentData().getDouble("y"); - double x = player.getPersistentData().getDouble("x"); + double swayX = ClientEventHandler.getSwayX(); + double swayY = ClientEventHandler.getSwayY(); root.setPosX(PosX); - - root.setPosY((float) y + PosY); - - root.setRotX((float) x); + root.setPosY((float) swayY + PosY); + root.setRotX((float) swayX); float RotZ = (float) player.getPersistentData().getDouble("gun_move_rotZ"); diff --git a/src/main/java/net/mcreator/superbwarfare/client/model/item/M79ItemModel.java b/src/main/java/net/mcreator/superbwarfare/client/model/item/M79ItemModel.java index aab55c07d..58455be86 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/model/item/M79ItemModel.java +++ b/src/main/java/net/mcreator/superbwarfare/client/model/item/M79ItemModel.java @@ -74,14 +74,11 @@ public class M79ItemModel extends GeoModel { float PosX = (float)player.getPersistentData().getDouble("gun_move_posX"); float PosY = (float)player.getPersistentData().getDouble("gun_move_posY"); - double y = player.getPersistentData().getDouble("y"); - double x = player.getPersistentData().getDouble("x"); - + double swayX = ClientEventHandler.getSwayX(); + double swayY = ClientEventHandler.getSwayY(); root.setPosX(PosX); - - root.setPosY((float) y + PosY); - - root.setRotX((float) x); + root.setPosY((float) swayY + PosY); + root.setRotX((float) swayX); float RotZ = (float) player.getPersistentData().getDouble("gun_move_rotZ"); diff --git a/src/main/java/net/mcreator/superbwarfare/client/model/item/M870ItemModel.java b/src/main/java/net/mcreator/superbwarfare/client/model/item/M870ItemModel.java index 19f1578c0..cbb3e63d8 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/model/item/M870ItemModel.java +++ b/src/main/java/net/mcreator/superbwarfare/client/model/item/M870ItemModel.java @@ -77,14 +77,11 @@ public class M870ItemModel extends GeoModel { float PosX = (float) player.getPersistentData().getDouble("gun_move_posX"); float PosY = (float) player.getPersistentData().getDouble("gun_move_posY"); - double y = player.getPersistentData().getDouble("y"); - double x = player.getPersistentData().getDouble("x"); - + double swayX = ClientEventHandler.getSwayX(); + double swayY = ClientEventHandler.getSwayY(); root.setPosX(PosX); - - root.setPosY((float) y + PosY); - - root.setRotX((float) x); + root.setPosY((float) swayY + PosY); + root.setRotX((float) swayX); float RotZ = (float) player.getPersistentData().getDouble("gun_move_rotZ"); diff --git a/src/main/java/net/mcreator/superbwarfare/client/model/item/M98bItemModel.java b/src/main/java/net/mcreator/superbwarfare/client/model/item/M98bItemModel.java index 84dbd0990..5f607a38d 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/model/item/M98bItemModel.java +++ b/src/main/java/net/mcreator/superbwarfare/client/model/item/M98bItemModel.java @@ -75,14 +75,11 @@ public class M98bItemModel extends GeoModel { float PosX = (float)player.getPersistentData().getDouble("gun_move_posX"); float PosY = (float)player.getPersistentData().getDouble("gun_move_posY"); - double y = player.getPersistentData().getDouble("y"); - double x = player.getPersistentData().getDouble("x"); - + double swayX = ClientEventHandler.getSwayX(); + double swayY = ClientEventHandler.getSwayY(); root.setPosX(PosX); - - root.setPosY((float) y + PosY); - - root.setRotX((float) x); + root.setPosY((float) swayY + PosY); + root.setRotX((float) swayX); float RotZ = (float) player.getPersistentData().getDouble("gun_move_rotZ"); diff --git a/src/main/java/net/mcreator/superbwarfare/client/model/item/MarlinItemModel.java b/src/main/java/net/mcreator/superbwarfare/client/model/item/MarlinItemModel.java index 65296f585..4c9a0dd65 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/model/item/MarlinItemModel.java +++ b/src/main/java/net/mcreator/superbwarfare/client/model/item/MarlinItemModel.java @@ -74,14 +74,11 @@ public class MarlinItemModel extends GeoModel { float PosX = (float)player.getPersistentData().getDouble("gun_move_posX"); float PosY = (float)player.getPersistentData().getDouble("gun_move_posY"); - double y = player.getPersistentData().getDouble("y"); - double x = player.getPersistentData().getDouble("x"); - + double swayX = ClientEventHandler.getSwayX(); + double swayY = ClientEventHandler.getSwayY(); root.setPosX(PosX); - - root.setPosY((float) y + PosY); - - root.setRotX((float) x); + root.setPosY((float) swayY + PosY); + root.setRotX((float) swayX); float RotZ = (float) player.getPersistentData().getDouble("gun_move_rotZ"); diff --git a/src/main/java/net/mcreator/superbwarfare/client/model/item/MinigunItemModel.java b/src/main/java/net/mcreator/superbwarfare/client/model/item/MinigunItemModel.java index 4ad37403a..d5562eb1a 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/model/item/MinigunItemModel.java +++ b/src/main/java/net/mcreator/superbwarfare/client/model/item/MinigunItemModel.java @@ -1,6 +1,7 @@ package net.mcreator.superbwarfare.client.model.item; import net.mcreator.superbwarfare.ModUtils; +import net.mcreator.superbwarfare.event.ClientEventHandler; import net.mcreator.superbwarfare.init.ModTags; import net.mcreator.superbwarfare.item.gun.machinegun.MinigunItem; import net.mcreator.superbwarfare.network.ModVariables; @@ -66,14 +67,12 @@ public class MinigunItemModel extends GeoModel { float PosX = (float) player.getPersistentData().getDouble("gun_move_posX"); float PosY = (float) player.getPersistentData().getDouble("gun_move_posY"); - double y = player.getPersistentData().getDouble("y"); - double x = player.getPersistentData().getDouble("x"); + double swayX = ClientEventHandler.getSwayX(); + double swayY = ClientEventHandler.getSwayY(); root.setPosX(PosX); - - root.setPosY((float) y + PosY); - - root.setRotX((float) x); + root.setPosY((float) swayY + PosY); + root.setRotX((float) swayX); float RotZ = (float) player.getPersistentData().getDouble("gun_move_rotZ"); 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 409dc5412..92dcf07da 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 @@ -107,14 +107,11 @@ public class Mk14ItemModel extends GeoModel { float PosX = (float)player.getPersistentData().getDouble("gun_move_posX"); float PosY = (float)player.getPersistentData().getDouble("gun_move_posY"); - double y = player.getPersistentData().getDouble("y"); - double x = player.getPersistentData().getDouble("x"); - + double swayX = ClientEventHandler.getSwayX(); + double swayY = ClientEventHandler.getSwayY(); root.setPosX(PosX); - - root.setPosY((float) y + 1.2f * PosY); - - root.setRotX((float) x); + root.setPosY((float) swayY + PosY); + root.setRotX((float) swayX); float RotZ = (float) player.getPersistentData().getDouble("gun_move_rotZ"); diff --git a/src/main/java/net/mcreator/superbwarfare/client/model/item/MosinNagantItemModel.java b/src/main/java/net/mcreator/superbwarfare/client/model/item/MosinNagantItemModel.java index 9d2ecfe27..a2accf5f8 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/model/item/MosinNagantItemModel.java +++ b/src/main/java/net/mcreator/superbwarfare/client/model/item/MosinNagantItemModel.java @@ -97,12 +97,11 @@ public class MosinNagantItemModel extends GeoModel { float PosX = (float) player.getPersistentData().getDouble("gun_move_posX"); float PosY = (float) player.getPersistentData().getDouble("gun_move_posY"); - double y = player.getPersistentData().getDouble("y"); - double x = player.getPersistentData().getDouble("x"); - + double swayX = ClientEventHandler.getSwayX(); + double swayY = ClientEventHandler.getSwayY(); root.setPosX(PosX); - root.setPosY((float) y + PosY); - root.setRotX((float) x); + root.setPosY((float) swayY + PosY); + root.setRotX((float) swayX); float RotZ = (float) player.getPersistentData().getDouble("gun_move_rotZ"); diff --git a/src/main/java/net/mcreator/superbwarfare/client/model/item/Ntw20Model.java b/src/main/java/net/mcreator/superbwarfare/client/model/item/Ntw20Model.java index 9d001eb2b..2ed552081 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/model/item/Ntw20Model.java +++ b/src/main/java/net/mcreator/superbwarfare/client/model/item/Ntw20Model.java @@ -89,14 +89,11 @@ public class Ntw20Model extends GeoModel { float PosX = (float)player.getPersistentData().getDouble("gun_move_posX"); float PosY = (float)player.getPersistentData().getDouble("gun_move_posY"); - double y = player.getPersistentData().getDouble("y"); - double x = player.getPersistentData().getDouble("x"); - + double swayX = ClientEventHandler.getSwayX(); + double swayY = ClientEventHandler.getSwayY(); root.setPosX(PosX); - - root.setPosY((float) y + PosY); - - root.setRotX((float) x); + root.setPosY((float) swayY + PosY); + root.setRotX((float) swayX); float RotZ = (float) player.getPersistentData().getDouble("gun_move_rotZ"); 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 368260a58..3046be368 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 @@ -81,12 +81,11 @@ public class Qbz95ItemModel extends GeoModel { float PosX = (float) player.getPersistentData().getDouble("gun_move_posX"); float PosY = (float) player.getPersistentData().getDouble("gun_move_posY"); - double y = player.getPersistentData().getDouble("y"); - double x = player.getPersistentData().getDouble("x"); - + double swayX = ClientEventHandler.getSwayX(); + double swayY = ClientEventHandler.getSwayY(); root.setPosX(PosX); - root.setPosY((float) y + PosY); - root.setRotX((float) x); + root.setPosY((float) swayY + PosY); + root.setRotX((float) swayX); float RotZ = (float) player.getPersistentData().getDouble("gun_move_rotZ"); diff --git a/src/main/java/net/mcreator/superbwarfare/client/model/item/RpgItemModel.java b/src/main/java/net/mcreator/superbwarfare/client/model/item/RpgItemModel.java index b16114405..1df56d877 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/model/item/RpgItemModel.java +++ b/src/main/java/net/mcreator/superbwarfare/client/model/item/RpgItemModel.java @@ -77,14 +77,11 @@ public class RpgItemModel extends GeoModel { float PosX = (float)player.getPersistentData().getDouble("gun_move_posX"); float PosY = (float)player.getPersistentData().getDouble("gun_move_posY"); - double y = player.getPersistentData().getDouble("y"); - double x = player.getPersistentData().getDouble("x"); - + double swayX = ClientEventHandler.getSwayX(); + double swayY = ClientEventHandler.getSwayY(); root.setPosX(PosX); - - root.setPosY((float) y + PosY); - - root.setRotX((float) x); + root.setPosY((float) swayY + PosY); + root.setRotX((float) swayX); float RotZ = (float) player.getPersistentData().getDouble("gun_move_rotZ"); 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 7788253c8..bd1200705 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 @@ -92,14 +92,12 @@ public class RpkItemModel extends GeoModel { float PosX = (float)player.getPersistentData().getDouble("gun_move_posX"); float PosY = (float)player.getPersistentData().getDouble("gun_move_posY"); - double y = player.getPersistentData().getDouble("y"); - double x = player.getPersistentData().getDouble("x"); + double swayX = ClientEventHandler.getSwayX(); + double swayY = ClientEventHandler.getSwayY(); root.setPosX(PosX); - - root.setPosY((float) y + PosY); - - root.setRotX((float) x); + root.setPosY((float) swayY + PosY); + root.setRotX((float) swayX); float RotZ = (float) player.getPersistentData().getDouble("gun_move_rotZ"); diff --git a/src/main/java/net/mcreator/superbwarfare/client/model/item/SentinelItemModel.java b/src/main/java/net/mcreator/superbwarfare/client/model/item/SentinelItemModel.java index ef2701d61..bc2ceb17f 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/model/item/SentinelItemModel.java +++ b/src/main/java/net/mcreator/superbwarfare/client/model/item/SentinelItemModel.java @@ -96,14 +96,11 @@ public class SentinelItemModel extends GeoModel { float PosX = (float) player.getPersistentData().getDouble("gun_move_posX"); float PosY = (float) player.getPersistentData().getDouble("gun_move_posY"); - double y = player.getPersistentData().getDouble("y"); - double x = player.getPersistentData().getDouble("x"); - + double swayX = ClientEventHandler.getSwayX(); + double swayY = ClientEventHandler.getSwayY(); root.setPosX(PosX); - - root.setPosY((float) y + PosY); - - root.setRotX((float) x); + root.setPosY((float) swayY + PosY); + root.setRotX((float) swayX); float RotZ = (float) player.getPersistentData().getDouble("gun_move_rotZ"); 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 b012aae3e..8d05dcc7e 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 @@ -87,14 +87,12 @@ public class SksItemModel extends GeoModel { float PosX = (float)player.getPersistentData().getDouble("gun_move_posX"); float PosY = (float)player.getPersistentData().getDouble("gun_move_posY"); - double y = player.getPersistentData().getDouble("y"); - double x = player.getPersistentData().getDouble("x"); + double swayX = ClientEventHandler.getSwayX(); + double swayY = ClientEventHandler.getSwayY(); root.setPosX(PosX); - - root.setPosY((float) y + PosY); - - root.setRotX((float) x); + root.setPosY((float) swayY + PosY); + root.setRotX((float) swayX); float RotZ = (float) player.getPersistentData().getDouble("gun_move_rotZ"); diff --git a/src/main/java/net/mcreator/superbwarfare/client/model/item/SvdItemModel.java b/src/main/java/net/mcreator/superbwarfare/client/model/item/SvdItemModel.java index 8c131102f..dc3ca76f2 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/model/item/SvdItemModel.java +++ b/src/main/java/net/mcreator/superbwarfare/client/model/item/SvdItemModel.java @@ -101,14 +101,12 @@ public class SvdItemModel extends GeoModel { float PosX = (float)player.getPersistentData().getDouble("gun_move_posX"); float PosY = (float)player.getPersistentData().getDouble("gun_move_posY"); - double y = player.getPersistentData().getDouble("y"); - double x = player.getPersistentData().getDouble("x"); + double swayX = ClientEventHandler.getSwayX(); + double swayY = ClientEventHandler.getSwayY(); root.setPosX(PosX); - - root.setPosY((float) y + PosY); - - root.setRotX((float) x); + root.setPosY((float) swayY + PosY); + root.setRotX((float) swayX); float RotZ = (float) player.getPersistentData().getDouble("gun_move_rotZ"); @@ -140,7 +138,7 @@ public class SvdItemModel extends GeoModel { glass.setPosX(0.25f * -PosX); - glass.setPosY(0.2f * (float) fp + 0.5f * (float) vy + (float) y + PosY); + glass.setPosY(0.2f * (float) fp + 0.5f * (float) vy + (float) swayY + PosY); CoreGeoBone camera = getAnimationProcessor().getBone("camera"); CoreGeoBone main = getAnimationProcessor().getBone("0"); diff --git a/src/main/java/net/mcreator/superbwarfare/client/model/item/TaserItemModel.java b/src/main/java/net/mcreator/superbwarfare/client/model/item/TaserItemModel.java index d1d81d0b2..c5ec287c0 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/model/item/TaserItemModel.java +++ b/src/main/java/net/mcreator/superbwarfare/client/model/item/TaserItemModel.java @@ -99,17 +99,13 @@ public class TaserItemModel extends GeoModel { float PosX = (float) player.getPersistentData().getDouble("gun_move_posX"); float PosY = (float) player.getPersistentData().getDouble("gun_move_posY"); - - double y = player.getPersistentData().getDouble("y"); - double x = player.getPersistentData().getDouble("x"); - float RotZ = (float) player.getPersistentData().getDouble("gun_move_rotZ"); + double swayX = ClientEventHandler.getSwayX(); + double swayY = ClientEventHandler.getSwayY(); root.setPosX(PosX); - - root.setPosY((float) y + PosY); - - root.setRotX((float) x); + root.setPosY((float) swayY + PosY); + root.setRotX((float) swayX); root.setRotY(0.2f * PosX); diff --git a/src/main/java/net/mcreator/superbwarfare/client/model/item/TracheliumItemModel.java b/src/main/java/net/mcreator/superbwarfare/client/model/item/TracheliumItemModel.java index 6bbe33986..264790d14 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/model/item/TracheliumItemModel.java +++ b/src/main/java/net/mcreator/superbwarfare/client/model/item/TracheliumItemModel.java @@ -68,14 +68,11 @@ public class TracheliumItemModel extends GeoModel { float PosX = (float)player.getPersistentData().getDouble("gun_move_posX"); float PosY = (float)player.getPersistentData().getDouble("gun_move_posY"); - double y = player.getPersistentData().getDouble("y"); - double x = player.getPersistentData().getDouble("x"); - + double swayX = ClientEventHandler.getSwayX(); + double swayY = ClientEventHandler.getSwayY(); root.setPosX(PosX); - - root.setPosY((float) y + PosY); - - root.setRotX((float) x); + root.setPosY((float) swayY + PosY); + root.setRotX((float) swayX); float RotZ = (float) player.getPersistentData().getDouble("gun_move_rotZ"); diff --git a/src/main/java/net/mcreator/superbwarfare/client/model/item/VectorItemModel.java b/src/main/java/net/mcreator/superbwarfare/client/model/item/VectorItemModel.java index 07beb1d1d..67fef0553 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/model/item/VectorItemModel.java +++ b/src/main/java/net/mcreator/superbwarfare/client/model/item/VectorItemModel.java @@ -92,14 +92,11 @@ public class VectorItemModel extends GeoModel { float PosX = (float) player.getPersistentData().getDouble("gun_move_posX"); float PosY = (float) player.getPersistentData().getDouble("gun_move_posY"); - double y = player.getPersistentData().getDouble("y"); - double x = player.getPersistentData().getDouble("x"); - + double swayX = ClientEventHandler.getSwayX(); + double swayY = ClientEventHandler.getSwayY(); root.setPosX(PosX); - - root.setPosY((float) y + PosY); - - root.setRotX((float) x); + root.setPosY((float) swayY + PosY); + root.setRotX((float) swayX); float RotZ = (float) player.getPersistentData().getDouble("gun_move_rotZ"); diff --git a/src/main/java/net/mcreator/superbwarfare/entity/projectile/JavelinMissileEntity.java b/src/main/java/net/mcreator/superbwarfare/entity/projectile/JavelinMissileEntity.java index 46edf6032..38142b887 100644 --- a/src/main/java/net/mcreator/superbwarfare/entity/projectile/JavelinMissileEntity.java +++ b/src/main/java/net/mcreator/superbwarfare/entity/projectile/JavelinMissileEntity.java @@ -119,14 +119,14 @@ public class JavelinMissileEntity extends ThrowableItemProjectile implements Geo } if (entity instanceof Monster monster) { - monster.hurt(ModDamageTypes.causeCannonFireDamage(this.level().registryAccess(), this, this.getOwner()), 2 * this.damage * damageMultiplier); + monster.hurt(ModDamageTypes.causeCannonFireDamage(this.level().registryAccess(), this, this.getOwner()), this.damage * damageMultiplier); } else { - entity.hurt(ModDamageTypes.causeCannonFireDamage(this.level().registryAccess(), this, this.getOwner()), 2 * this.damage); + entity.hurt(ModDamageTypes.causeCannonFireDamage(this.level().registryAccess(), this, this.getOwner()), this.damage); } if (this.tickCount > 1) { if (this.level() instanceof ServerLevel) { - ProjectileTool.causeCustomExplode(this, entity, 1.25f *this.damage, 8.0f, this.monsterMultiplier); + ProjectileTool.causeCustomExplode(this, entity, this.damage, 8.0f, this.monsterMultiplier); } } diff --git a/src/main/java/net/mcreator/superbwarfare/event/ClientEventHandler.java b/src/main/java/net/mcreator/superbwarfare/event/ClientEventHandler.java index 06e7a91dc..0cff1c019 100644 --- a/src/main/java/net/mcreator/superbwarfare/event/ClientEventHandler.java +++ b/src/main/java/net/mcreator/superbwarfare/event/ClientEventHandler.java @@ -37,6 +37,22 @@ public class ClientEventHandler { protected static double zoomTime = 0; protected static double zoomPos = 0; protected static double zoomPosZ = 0; + private static double swayTime = 0; + + protected static double swayX = 0; + + protected static double swayY = 0; + + private static double moveXTime = 0; + private static double moveYTime = 0; + protected static double movePosX = 0; + protected static double movePosY = 0; + protected static double moveRotZ = 0; + protected static double movePosHorizon = 0; + protected static double velocityY = 0; + protected static double turnRotX = 0; + protected static double turnRotY = 0; + protected static double turnRotZ = 0; @SubscribeEvent public static void handleWeaponTurn(RenderHandEvent event) { @@ -49,14 +65,26 @@ public class ClientEventHandler { float yRotOffset = Mth.lerp(event.getPartialTick(), player.yBobO, player.yBob); float xRot = player.getViewXRot(event.getPartialTick()) - xRotOffset; float yRot = player.getViewYRot(event.getPartialTick()) - yRotOffset; - data.putDouble("xRot", Mth.clamp(0.05 * xRot, -5, 5) * (1 - 0.75 * zoomTime)); - data.putDouble("yRot", Mth.clamp(0.05 * yRot, -10, 10) * (1 - 0.75 * zoomTime)); - data.putDouble("zRot", Mth.clamp(0.1 * yRot, -10, 10) * (1 - zoomTime)); + turnRotX = Mth.clamp(0.05 * xRot, -5, 5) * (1 - 0.75 * zoomTime); + turnRotY = Mth.clamp(0.05 * yRot, -10, 10) * (1 - 0.75 * zoomTime); + turnRotZ = Mth.clamp(0.1 * yRot, -10, 10) * (1 - zoomTime); data.putDouble("droneCameraRotX", Mth.clamp(0.25f * xRot, -10, 10)); data.putDouble("droneCameraRotY", Mth.clamp(0.25f * yRot, -20, 10)); } + public static double getTurnRotX() { + return turnRotX; + } + + public static double getTurnRotY() { + return turnRotY; + } + + public static double getTurnRotZ() { + return turnRotZ; + } + @SubscribeEvent public static void computeCameraAngles(ViewportEvent.ComputeCameraAngles event) { ClientLevel level = Minecraft.getInstance().level; @@ -188,12 +216,20 @@ public class ClientEventHandler { pose = 1; } - data.putDouble("sway_time", data.getDouble("sway_time") + 0.05 * times); - data.putDouble("x", (pose * -0.008 * Math.sin(data.getDouble("sway_time")) * (1 - 0.95 * zoomTime))); - data.putDouble("y", (pose * 0.125 * Math.sin(data.getDouble("sway_time") - 1.585) * (1 - 0.95 * zoomTime)) - 3 * data.getDouble("gun_move_rotZ")); + swayTime += 0.05 * times; + swayX = pose * -0.008 * Math.sin(swayTime) * (1 - 0.95 * zoomTime); + swayY = pose * 0.125 * Math.sin(swayTime - 1.585) * (1 - 0.95 * zoomTime) - 3 * moveRotZ; } } + public static double getSwayX() { + return swayX; + } + + public static double getSwayY() { + return swayY; + } + private static void handleWeaponMove(LivingEntity entity) { if (entity.getMainHandItem().is(ModTags.Items.GUN)) { float times = 4.5f * Minecraft.getInstance().getDeltaFrameTime(); @@ -211,15 +247,9 @@ public class ClientEventHandler { } if (Minecraft.getInstance().options.keyUp.isDown() && data.getDouble("firetime") == 0 && zoomTime == 0) { - if (data.getDouble("gun_move_rotZ") < 0.14) { - data.putDouble("gun_move_rotZ", data.getDouble("gun_move_rotZ") + 0.007 * times); - } + moveRotZ = Mth.clamp(moveRotZ + 0.007 * times,0,0.14); } else { - if (data.getDouble("gun_move_rotZ") > 0) { - data.putDouble("gun_move_rotZ", data.getDouble("gun_move_rotZ") - 0.007 * times); - } else { - data.putDouble("gun_move_rotZ", 0); - } + moveRotZ = Mth.clamp(moveRotZ - 0.007 * times,0,0.14); } if ((Minecraft.getInstance().options.keyLeft.isDown() @@ -227,78 +257,90 @@ public class ClientEventHandler { || Minecraft.getInstance().options.keyUp.isDown() || Minecraft.getInstance().options.keyDown.isDown()) && data.getDouble("firetime") == 0) { - if (data.getDouble("gun_moveY_time") < 1.25) { - data.putDouble("gun_moveY_time", data.getDouble("gun_moveY_time") + 1.2 * on_ground * times * move_speed); + if (moveYTime < 1.25) { + moveYTime += 1.2 * on_ground * times * move_speed; } else { - data.putDouble("gun_moveY_time", 0.25); + moveYTime = 0.25; } - if (data.getDouble("gun_moveX_time") < 2) { - data.putDouble("gun_moveX_time", data.getDouble("gun_moveX_time") + 1.2 * on_ground * times * move_speed); + if (moveXTime < 2) { + moveXTime += 1.2 * on_ground * times * move_speed; } else { - data.putDouble("gun_moveX_time", 0); + moveXTime = 0; } - data.putDouble("gun_move_posY", -0.135 * Math.sin(2 * Math.PI * (data.getDouble("gun_moveY_time") - 0.25)) * (1 - 0.95 * zoomTime)); - - data.putDouble("gun_move_posX", 0.2 * Math.sin(1 * Math.PI * data.getDouble("gun_moveX_time")) * (1 - 0.95 * zoomTime)); + movePosX= 0.2 * Math.sin(1 * Math.PI * moveXTime) * (1 - 0.95 * zoomTime); + movePosY = -0.135 * Math.sin(2 * Math.PI * (moveYTime - 0.25)) * (1 - 0.95 * zoomTime); } else { - if (data.getDouble("gun_moveY_time") > 0.25) { - data.putDouble("gun_moveY_time", data.getDouble("gun_moveY_time") - 0.5 * times); + if (moveYTime > 0.25) { + moveYTime -= 0.5 * times; } else { - data.putDouble("gun_moveY_time", 0.25); + moveYTime = 0.25; } - if (data.getDouble("gun_moveX_time") > 0) { - data.putDouble("gun_moveX_time", data.getDouble("gun_moveX_time") - 0.5 * times); + if (moveXTime > 0) { + moveXTime -= 0.5 * times; } else { - data.putDouble("gun_moveX_time", 0); + moveXTime = 0; } - if (data.getDouble("gun_move_posX") > 0) { - data.putDouble("gun_move_posX", data.getDouble("gun_move_posX") - 1.5 * (Math.pow(data.getDouble("gun_move_posX"), 2) * times) * (1 - 0.75 * zoomTime)); + if (movePosX > 0) { + movePosX -= 1.5 * (Math.pow(movePosX, 2) * times) * (1 - 0.75 * zoomTime); } else { - data.putDouble("gun_move_posX", data.getDouble("gun_move_posX") + 1.5 * (Math.pow(data.getDouble("gun_move_posX"), 2) * times) * (1 - 0.75 * zoomTime)); + movePosX += 1.5 * (Math.pow(movePosX, 2) * times) * (1 - 0.75 * zoomTime); } - if (data.getDouble("gun_move_posY") > 0) { - data.putDouble("gun_move_posY", data.getDouble("gun_move_posY") - 1.5 * (Math.pow(data.getDouble("gun_move_posY"), 2) * times) * (1 - 0.75 * zoomTime)); + if (movePosY > 0) { + movePosY -= 1.5 * (Math.pow(movePosY, 2) * times) * (1 - 0.75 * zoomTime); } else { - data.putDouble("gun_move_posY", data.getDouble("gun_move_posY") + 1.5 * (Math.pow(data.getDouble("gun_move_posY"), 2) * times) * (1 - 0.75 * zoomTime)); + movePosY += 1.5 * (Math.pow(movePosY, 2) * times) * (1 - 0.75 * zoomTime); } - } - if (data.getDouble("move") < 0) { - data.putDouble("move", ((data.getDouble("move") + 1 * times * Math.pow(data.getDouble("move"), 2) * (1 - 0.6 * zoomTime)) - * (1 - 1 * zoomTime))); + if (movePosHorizon < 0) { + movePosHorizon += 2 * times * Math.pow(movePosHorizon, 2); } else { - data.putDouble("move", ((data.getDouble("move") - 1 * times * Math.pow(data.getDouble("move"), 2) * (1 - 0.6 * zoomTime)) - * (1 - 1 * zoomTime))); + movePosHorizon -= 2 * times * Math.pow(movePosHorizon, 2); } if (Minecraft.getInstance().options.keyRight.isDown()) { - data.putDouble("move", - ((data.getDouble("move") + Math.pow(Math.abs(data.getDouble("move")) + 0.05, 2) * 0.2 * times * (1 - 0.1 * zoomTime)) - * (1 - 0.1 * zoomTime))); + movePosHorizon = Mth.clamp(movePosHorizon + Math.pow(Math.abs(movePosHorizon) + 0.05, 2) * 0.2 * times, -0.5,0.5) * (1 - zoomTime); } else if (Minecraft.getInstance().options.keyLeft.isDown()) { - data.putDouble("move", - ((data.getDouble("move") - Math.pow(Math.abs(data.getDouble("move")) + 0.05, 2) * 0.2 * times * (1 - 0.1 * zoomTime)) - * (1 - 0.1 * zoomTime))); + movePosHorizon = Mth.clamp(movePosHorizon - Math.pow(Math.abs(movePosHorizon) + 0.05, 2) * 0.2 * times, -0.5,0.5) * (1 - zoomTime); } double velocity = entity.getDeltaMovement().y(); if (-0.8 < velocity + 0.078 && velocity + 0.078 < 0.8) { - if (data.getDouble("vy") < entity.getDeltaMovement().y() + 0.078) { - data.putDouble("vy", Mth.clamp(((data.getDouble("vy") + 0.35 * Math.pow((velocity + 0.078) - data.getDouble("vy"), 2)) * (1 - 0.8 * zoomTime)), -0.8, 0.8)); + if (velocityY < entity.getDeltaMovement().y() + 0.078) { + velocityY = Mth.clamp((velocityY + 0.55 * Math.pow((velocity + 0.078) - velocityY , 2)), -0.8, 0.8) * (1 - 0.8 * zoomTime); } else { - data.putDouble("vy", Mth.clamp(((data.getDouble("vy") - 0.35 * Math.pow((velocity + 0.078) - data.getDouble("vy"), 2)) * (1 - 0.8 * zoomTime)), -0.8, 0.8)); + velocityY = Mth.clamp((velocityY - 0.55 * Math.pow((velocity + 0.078) - velocityY , 2)), -0.8, 0.8) * (1 - 0.8 * zoomTime); } } } } + public static double getMoveRotZ() { + return moveRotZ; + } + + public static double getMovePosX() { + return movePosX; + } + + public static double getMovePosY() { + return movePosY; + } + + public static double getMovePosHorizon() { + return movePosHorizon; + } + + public static double getVelocityY() { + return velocityY; + } + private static void handleWeaponZoom() { float times = 5 * Minecraft.getInstance().getDeltaFrameTime(); if (GLFW.glfwGetMouseButton(Minecraft.getInstance().getWindow().getWindow(), GLFW.GLFW_MOUSE_BUTTON_RIGHT) == GLFW.GLFW_PRESS) { diff --git a/src/main/resources/assets/superbwarfare/lang/zh_cn.json b/src/main/resources/assets/superbwarfare/lang/zh_cn.json index 804a8b735..d040fbf71 100644 --- a/src/main/resources/assets/superbwarfare/lang/zh_cn.json +++ b/src/main/resources/assets/superbwarfare/lang/zh_cn.json @@ -183,6 +183,7 @@ "block.superbwarfare.tungsten_block": "钨块", "block.superbwarfare.silver_block": "银块", "block.superbwarfare.cemented_carbide_block": "硬质合金块", + "block.superbwarfare.steel_block": "钢块", "item.superbwarfare.high_energy_explosives": "高能炸药", "item.superbwarfare.grain": "推进药柱",