From 27f8ab92307ae0762de052d899a46b9ee2ca1665 Mon Sep 17 00:00:00 2001 From: 17146 <1714673995@qq.com> Date: Tue, 24 Dec 2024 16:54:38 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96NBT#IterativeTime?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/atsuishio/superbwarfare/event/GunEventHandler.java | 5 +++-- .../atsuishio/superbwarfare/event/LivingEventHandler.java | 4 ++-- .../superbwarfare/network/message/ReloadMessage.java | 2 +- .../java/com/atsuishio/superbwarfare/tools/GunsTool.java | 2 +- src/main/resources/data/superbwarfare/guns/k_98.json | 2 +- src/main/resources/data/superbwarfare/guns/m_870.json | 2 +- src/main/resources/data/superbwarfare/guns/marlin.json | 2 +- src/main/resources/data/superbwarfare/guns/mosin_nagant.json | 2 +- 8 files changed, 11 insertions(+), 10 deletions(-) diff --git a/src/main/java/com/atsuishio/superbwarfare/event/GunEventHandler.java b/src/main/java/com/atsuishio/superbwarfare/event/GunEventHandler.java index b70a26a17..669de4646 100644 --- a/src/main/java/com/atsuishio/superbwarfare/event/GunEventHandler.java +++ b/src/main/java/com/atsuishio/superbwarfare/event/GunEventHandler.java @@ -614,8 +614,9 @@ public class GunEventHandler { && tag.getInt("ammo") < GunsTool.getGunIntTag(stack, "Magazine", 0) + tag.getInt("customMag")) { playGunLoopReloadSounds(player); - tag.putDouble("iterative", (int) tag.getDouble("iterative_time")); - player.getCooldowns().addCooldown(stack.getItem(), (int) tag.getDouble("iterative_time")); + int iterativeTime = GunsTool.getGunIntTag(stack, "IterativeTime", 0); + tag.putDouble("iterative", iterativeTime); + player.getCooldowns().addCooldown(stack.getItem(), iterativeTime); // 动画播放nbt if (tag.getDouble("load_index") == 1) { tag.putDouble("load_index", 0); diff --git a/src/main/java/com/atsuishio/superbwarfare/event/LivingEventHandler.java b/src/main/java/com/atsuishio/superbwarfare/event/LivingEventHandler.java index 5cf358270..c9f6ec0de 100644 --- a/src/main/java/com/atsuishio/superbwarfare/event/LivingEventHandler.java +++ b/src/main/java/com/atsuishio/superbwarfare/event/LivingEventHandler.java @@ -341,7 +341,7 @@ public class LivingEventHandler { oldTags.putBoolean("is_normal_reloading", false); oldTags.putBoolean("is_empty_reloading", false); - if (oldTags.getDouble("iterative_time") != 0) { + if (GunsTool.getGunIntTag(oldStack, "IterativeTime", 0) != 0) { oldTags.putBoolean("force_stop", false); oldTags.putBoolean("stop", false); oldTags.putInt("reload_stage", 0); @@ -376,7 +376,7 @@ public class LivingEventHandler { data.putInt("ReloadTime", 0); newStack.addTagElement("GunData", data); - if (newStack.getOrCreateTag().getDouble("iterative_time") != 0) { + if (GunsTool.getGunIntTag(newStack, "IterativeTime", 0) != 0) { newStack.getOrCreateTag().putBoolean("force_stop", false); newStack.getOrCreateTag().putBoolean("stop", false); newStack.getOrCreateTag().putInt("reload_stage", 0); diff --git a/src/main/java/com/atsuishio/superbwarfare/network/message/ReloadMessage.java b/src/main/java/com/atsuishio/superbwarfare/network/message/ReloadMessage.java index 122bf4ad9..6e8ea2254 100644 --- a/src/main/java/com/atsuishio/superbwarfare/network/message/ReloadMessage.java +++ b/src/main/java/com/atsuishio/superbwarfare/network/message/ReloadMessage.java @@ -63,7 +63,7 @@ public class ReloadMessage { ) { CompoundTag tag = stack.getOrCreateTag(); - boolean canSingleReload = tag.getDouble("iterative_time") != 0; + boolean canSingleReload = GunsTool.getGunIntTag(stack, "IterativeTime", 0) != 0; boolean canReload = (GunsTool.getGunIntTag(stack, "NormalReloadTime") != 0 || GunsTool.getGunIntTag(stack, "EmptyReloadTime") != 0) && GunsTool.getGunIntTag(stack, "ClipLoad", 0) != 1; boolean clipLoad = tag.getInt("ammo") == 0 && GunsTool.getGunIntTag(stack, "ClipLoad", 0) == 1; diff --git a/src/main/java/com/atsuishio/superbwarfare/tools/GunsTool.java b/src/main/java/com/atsuishio/superbwarfare/tools/GunsTool.java index dff060cba..21a982f68 100644 --- a/src/main/java/com/atsuishio/superbwarfare/tools/GunsTool.java +++ b/src/main/java/com/atsuishio/superbwarfare/tools/GunsTool.java @@ -57,7 +57,7 @@ public class GunsTool { private static final Set STRING_SET = Set.of("EmptyReloadTime", "FireMode", "Weight", "SoundRadius", "BurstSize", "ProjectileAmount", "Spread", "NormalReloadTime", "Headshot", "Semi", "Burst", "Auto", "RecoilX", "RecoilY", "Velocity", "Damage", "BypassesArmor", "RPM", "Magazine", "MinZoom", "MaxZoom", "CustomZoom", "ExplosionDamage", "ExplosionRadius", "BoltActionTime", "ClipLoad", - "PrepareTime"); + "PrepareTime", "IterativeTime"); public static void initGun(Level level, ItemStack stack, String location) { if (level.getServer() == null) return; diff --git a/src/main/resources/data/superbwarfare/guns/k_98.json b/src/main/resources/data/superbwarfare/guns/k_98.json index 4cb6ddeb1..1427dab1f 100644 --- a/src/main/resources/data/superbwarfare/guns/k_98.json +++ b/src/main/resources/data/superbwarfare/guns/k_98.json @@ -13,7 +13,7 @@ "EmptyReloadTime": 59, "ClipLoad": 1, "PrepareTime": 29, - "iterative_time": 11, + "IterativeTime": 11, "finish_time": 18, "BypassesArmor": 0.5, "SoundRadius": 18 diff --git a/src/main/resources/data/superbwarfare/guns/m_870.json b/src/main/resources/data/superbwarfare/guns/m_870.json index aeac2c962..b96521841 100644 --- a/src/main/resources/data/superbwarfare/guns/m_870.json +++ b/src/main/resources/data/superbwarfare/guns/m_870.json @@ -13,7 +13,7 @@ "Semi": 1, "PrepareTime": 7, "prepare_load_time": 36, - "iterative_time": 16, + "IterativeTime": 16, "finish_time": 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 df14a4231..4a9644369 100644 --- a/src/main/resources/data/superbwarfare/guns/marlin.json +++ b/src/main/resources/data/superbwarfare/guns/marlin.json @@ -11,7 +11,7 @@ "FireMode": 0, "Semi": 1, "PrepareTime": 7, - "iterative_time": 16, + "IterativeTime": 16, "finish_time": 19, "BypassesArmor": 0.3, "SoundRadius": 15, diff --git a/src/main/resources/data/superbwarfare/guns/mosin_nagant.json b/src/main/resources/data/superbwarfare/guns/mosin_nagant.json index 15a6aa1e0..d6a4eec2f 100644 --- a/src/main/resources/data/superbwarfare/guns/mosin_nagant.json +++ b/src/main/resources/data/superbwarfare/guns/mosin_nagant.json @@ -13,7 +13,7 @@ "Semi": 1, "PrepareTime": 29, "prepare_empty": 16, - "iterative_time": 11, + "IterativeTime": 11, "finish_time": 18, "BypassesArmor": 0.54, "SoundRadius": 18