From 5784128a5709af507add4b23fa3f8d0a5140584f Mon Sep 17 00:00:00 2001 From: Light_Quanta Date: Sun, 11 May 2025 23:33:16 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E5=8F=96IterativeAmmoLoadTime?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../superbwarfare/event/GunEventHandler.java | 17 ++--------------- .../item/gun/data/DefaultGunData.java | 2 ++ .../superbwarfare/item/gun/data/GunData.java | 4 ++++ .../data/superbwarfare/guns/m_870.json | 1 + .../data/superbwarfare/guns/marlin.json | 1 + 5 files changed, 10 insertions(+), 15 deletions(-) diff --git a/src/main/java/com/atsuishio/superbwarfare/event/GunEventHandler.java b/src/main/java/com/atsuishio/superbwarfare/event/GunEventHandler.java index 91d37f652..08807fd38 100644 --- a/src/main/java/com/atsuishio/superbwarfare/event/GunEventHandler.java +++ b/src/main/java/com/atsuishio/superbwarfare/event/GunEventHandler.java @@ -294,24 +294,11 @@ public class GunEventHandler { } // 装填 - if ((stack.getItem() == ModItems.M_870.get() - || stack.getItem() == ModItems.MARLIN.get()) - && reload.iterativeLoadTimer.get() == 3 - ) { + if (data.iterativeAmmoLoadTime() == reload.iterativeLoadTimer.get()) { singleLoad(player, data); } - if (stack.getItem() == ModItems.SECONDARY_CATACLYSM.get() && reload.iterativeLoadTimer.get() == 1) { - singleLoad(player, data); - } - - if ((stack.getItem() == ModItems.K_98.get() || stack.getItem() == ModItems.MOSIN_NAGANT.get()) - && reload.iterativeLoadTimer.get() == 1 - ) { - singleLoad(player, data); - } - - // 二阶段结束 + // 二阶段打断 if (reload.iterativeLoadTimer.get() == 1) { // 装满或备弹耗尽结束 if (!data.hasBackupAmmo(player) || data.ammo.get() >= data.magazine()) { diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/data/DefaultGunData.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/data/DefaultGunData.java index 7dbfc990e..609c87296 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/data/DefaultGunData.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/data/DefaultGunData.java @@ -64,6 +64,8 @@ public class DefaultGunData { public int prepareEmptyTime; @SerializedName("IterativeTime") public int iterativeTime; + @SerializedName("IterativeAmmoLoadTime") + public int iterativeAmmoLoadTime = 1; @SerializedName("FinishTime") public int finishTime; diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/data/GunData.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/data/GunData.java index b85c64ecf..9147809f0 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/data/GunData.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/data/GunData.java @@ -211,6 +211,10 @@ public class GunData { return defaultGunData().iterativeTime; } + public int iterativeAmmoLoadTime() { + return defaultGunData().iterativeAmmoLoadTime; + } + public int defaultPrepareTime() { return defaultGunData().prepareTime; } diff --git a/src/main/resources/data/superbwarfare/guns/m_870.json b/src/main/resources/data/superbwarfare/guns/m_870.json index 042903b9c..b5e810601 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, "IterativeTime": 16, + "IterativeAmmoLoadTime": 3, "FinishTime": 12, "BypassesArmor": 0.05, "SoundRadius": 16, diff --git a/src/main/resources/data/superbwarfare/guns/marlin.json b/src/main/resources/data/superbwarfare/guns/marlin.json index a831632af..8a87f7e7a 100644 --- a/src/main/resources/data/superbwarfare/guns/marlin.json +++ b/src/main/resources/data/superbwarfare/guns/marlin.json @@ -12,6 +12,7 @@ ], "PrepareTime": 7, "IterativeTime": 16, + "IterativeAmmoLoadTime": 3, "FinishTime": 19, "BypassesArmor": 0.3, "SoundRadius": 15,