From 0edc1749ae1ffc3d7bcbc5ce1e79804cda3abd71 Mon Sep 17 00:00:00 2001 From: Atsuishio <842960157@qq.com> Date: Wed, 28 May 2025 23:53:51 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=8D=95=E5=8F=91=E4=B8=8A?= =?UTF-8?q?=E5=BC=B9=EF=BC=8C=E5=87=86=E5=A4=87=E9=98=B6=E6=AE=B5=E9=9C=80?= =?UTF-8?q?=E8=A6=81=E4=B8=8A=E5=BC=B9=E6=97=B6=E7=9A=84=E4=B8=8A=E5=BC=B9?= =?UTF-8?q?=E6=97=B6=E9=97=B4=E8=8A=82=E7=82=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../atsuishio/superbwarfare/data/gun/DefaultGunData.java | 4 ++++ .../com/atsuishio/superbwarfare/data/gun/GunData.java | 5 +++++ .../atsuishio/superbwarfare/event/GunEventHandler.java | 8 ++------ src/main/resources/data/superbwarfare/guns/m_870.json | 1 + .../data/superbwarfare/guns/secondary_cataclysm.json | 3 ++- 5 files changed, 14 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/atsuishio/superbwarfare/data/gun/DefaultGunData.java b/src/main/java/com/atsuishio/superbwarfare/data/gun/DefaultGunData.java index 6d71a86f5..60bd99d21 100644 --- a/src/main/java/com/atsuishio/superbwarfare/data/gun/DefaultGunData.java +++ b/src/main/java/com/atsuishio/superbwarfare/data/gun/DefaultGunData.java @@ -73,6 +73,10 @@ public class DefaultGunData { public int prepareTime; @SerializedName("PrepareLoadTime") public int prepareLoadTime; + + // 单发装填时的上弹时间 + @SerializedName("PrepareAmmoLoadTime") + public int prepareAmmoLoadTime = 1; @SerializedName("PrepareEmptyTime") public int prepareEmptyTime; diff --git a/src/main/java/com/atsuishio/superbwarfare/data/gun/GunData.java b/src/main/java/com/atsuishio/superbwarfare/data/gun/GunData.java index af0f6e0e1..831f8a264 100644 --- a/src/main/java/com/atsuishio/superbwarfare/data/gun/GunData.java +++ b/src/main/java/com/atsuishio/superbwarfare/data/gun/GunData.java @@ -269,6 +269,11 @@ public class GunData { return defaultGunData().prepareLoadTime; } + public int prepareAmmoLoadTime() { + return defaultGunData().prepareAmmoLoadTime; + } + + public int defaultPrepareEmptyTime() { return defaultGunData().prepareEmptyTime; } diff --git a/src/main/java/com/atsuishio/superbwarfare/event/GunEventHandler.java b/src/main/java/com/atsuishio/superbwarfare/event/GunEventHandler.java index a12c8da5c..ab366f9fd 100644 --- a/src/main/java/com/atsuishio/superbwarfare/event/GunEventHandler.java +++ b/src/main/java/com/atsuishio/superbwarfare/event/GunEventHandler.java @@ -229,7 +229,7 @@ public class GunEventHandler { if (reload.singleReloadStarter.start()) { NeoForge.EVENT_BUS.post(new ReloadEvent.Pre(player, data)); - if ((data.defaultPrepareLoadTime() != 0 && data.ammo.get() == 0) || stack.is(ModItems.SECONDARY_CATACLYSM.get())) { + if (data.defaultPrepareLoadTime() != 0 && data.ammo.get() == 0) { // 此处判断空仓换弹的时候,是否在准备阶段就需要装填一发,如M870 playGunPrepareLoadReloadSounds(player); int prepareLoadTime = data.defaultPrepareLoadTime(); @@ -254,11 +254,7 @@ public class GunEventHandler { reload.setState(ReloadState.NORMAL_RELOADING); } - if (stack.getItem() == ModItems.M_870.get() && reload.prepareLoadTimer.get() == 10) { - iterativeLoad(player, data); - } - - if (stack.getItem() == ModItems.SECONDARY_CATACLYSM.get() && reload.prepareLoadTimer.get() == 3) { + if (reload.prepareLoadTimer.get() == data.prepareAmmoLoadTime()) { iterativeLoad(player, data); } diff --git a/src/main/resources/data/superbwarfare/guns/m_870.json b/src/main/resources/data/superbwarfare/guns/m_870.json index a39ca9bab..08ad79591 100644 --- a/src/main/resources/data/superbwarfare/guns/m_870.json +++ b/src/main/resources/data/superbwarfare/guns/m_870.json @@ -14,6 +14,7 @@ ], "PrepareTime": 7, "PrepareLoadTime": 36, + "PrepareAmmoLoadTime": 10, "IterativeTime": 16, "IterativeAmmoLoadTime": 3, "FinishTime": 12, diff --git a/src/main/resources/data/superbwarfare/guns/secondary_cataclysm.json b/src/main/resources/data/superbwarfare/guns/secondary_cataclysm.json index 32f5af6f7..5a6a9b23a 100644 --- a/src/main/resources/data/superbwarfare/guns/secondary_cataclysm.json +++ b/src/main/resources/data/superbwarfare/guns/secondary_cataclysm.json @@ -14,8 +14,9 @@ "Iterative" ], "PrepareLoadTime": 31, + "PrepareAmmoLoadTime": 3, "IterativeTime": 20, - "FinishTime": 19, + "FinishTime": 22, "SoundRadius": 8, "RPM": 300, "AmmoType": "superbwarfare:grenade_40mm",