From 32efb2cf6b962795133d6bf63009b8ef73f5d653 Mon Sep 17 00:00:00 2001 From: Atsuihsio <842960157@qq.com> Date: Fri, 11 Oct 2024 20:32:08 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=88=87=E6=8D=A2=E6=AD=A6?= =?UTF-8?q?=E5=99=A8=E6=BC=8F=E5=BC=B9=E5=A3=B3=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../event/ClientEventHandler.java | 22 +++++++++++++------ 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/src/main/java/net/mcreator/superbwarfare/event/ClientEventHandler.java b/src/main/java/net/mcreator/superbwarfare/event/ClientEventHandler.java index d0b92b8da..70fb3b775 100644 --- a/src/main/java/net/mcreator/superbwarfare/event/ClientEventHandler.java +++ b/src/main/java/net/mcreator/superbwarfare/event/ClientEventHandler.java @@ -507,11 +507,11 @@ public class ClientEventHandler { fireRecoilTime = time; shellIndex++; - shellIndexTime[shellIndex] = 0; + shellIndexTime[shellIndex] = 0.001; - randomShell[0] = (1 + 2 * Math.random()); - randomShell[1] = (1 + 2 * Math.random()); - randomShell[2] = (1 + 2 * Math.random()); + randomShell[0] = (1 + 2.5 * Math.random()); + randomShell[1] = (0.2 * Math.random()); + randomShell[2] = (0.7 * Math.random()); } } @@ -576,10 +576,15 @@ public class ClientEventHandler { float times = Minecraft.getInstance().getDeltaFrameTime(); - shellIndex %= 5; + if (shellIndex >= 5) { + shellIndex = 0; + shellIndexTime[0] = 0.001; + } for (int i = 0; i < 5; i++) { - shellIndexTime[i] = Math.min(shellIndexTime[i] + 6 * times * ((50 - shellIndexTime[i]) / 50), 50); + if (shellIndexTime[i] > 0) { + shellIndexTime[i] = Math.min(shellIndexTime[i] + 6 * times * ((50 - shellIndexTime[i]) / 50), 50); + } } } @@ -825,6 +830,9 @@ public class ClientEventHandler { ) { if (newStack.getItem() instanceof GunItem) { drawTime = 1; + for (int i = 0; i < 5; i++) { + shellIndexTime[i] = 0; + } } } } @@ -852,7 +860,7 @@ public class ClientEventHandler { if (i >= 5) break; shells[i].setPosX((float) (-x * shellIndexTime[i])); - shells[i].setPosY((float) (randomShell[0] * y * Math.sin(0.15 * shellIndexTime[i]))); + shells[i].setPosY((float) (randomShell[0] * y * Math.sin(0.18 * shellIndexTime[i]))); shells[i].setRotX((float) (randomShell[1] * shellIndexTime[i])); shells[i].setRotY((float) (randomShell[2] * shellIndexTime[i])); }