From 19bc16cb52078ed2deecf26693259988afdbf8d7 Mon Sep 17 00:00:00 2001 From: 17146 <1714673995@qq.com> Date: Tue, 24 Dec 2024 14:17:58 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96NBT#BurstSize?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../superbwarfare/client/ClickHandler.java | 2 +- .../atsuishio/superbwarfare/tools/GunsTool.java | 17 +++++++++++++++-- .../data/superbwarfare/guns/aa_12.json | 1 - .../data/superbwarfare/guns/abekiri.json | 1 - .../data/superbwarfare/guns/ak_12.json | 1 - .../data/superbwarfare/guns/ak_47.json | 1 - .../data/superbwarfare/guns/devotion.json | 1 - .../data/superbwarfare/guns/glock_17.json | 1 - .../data/superbwarfare/guns/glock_18.json | 1 - .../data/superbwarfare/guns/hk_416.json | 1 - .../data/superbwarfare/guns/hunting_rifle.json | 1 - .../resources/data/superbwarfare/guns/k_98.json | 1 - .../data/superbwarfare/guns/m_1911.json | 1 - .../resources/data/superbwarfare/guns/m_4.json | 1 - .../resources/data/superbwarfare/guns/m_60.json | 1 - .../data/superbwarfare/guns/m_870.json | 1 - .../data/superbwarfare/guns/m_98b.json | 1 - .../data/superbwarfare/guns/marlin.json | 1 - .../data/superbwarfare/guns/mk_14.json | 1 - .../data/superbwarfare/guns/mosin_nagant.json | 1 - .../data/superbwarfare/guns/ntw_20.json | 1 - .../data/superbwarfare/guns/qbz_95.json | 1 - .../resources/data/superbwarfare/guns/rpk.json | 1 - .../data/superbwarfare/guns/sentinel.json | 1 - .../resources/data/superbwarfare/guns/sks.json | 1 - .../resources/data/superbwarfare/guns/svd.json | 1 - .../data/superbwarfare/guns/trachelium.json | 1 - .../data/superbwarfare/guns/vector.json | 2 +- 28 files changed, 17 insertions(+), 29 deletions(-) diff --git a/src/main/java/com/atsuishio/superbwarfare/client/ClickHandler.java b/src/main/java/com/atsuishio/superbwarfare/client/ClickHandler.java index 5f691f708..35df72b1f 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/ClickHandler.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/ClickHandler.java @@ -328,7 +328,7 @@ public class ClickHandler { ClientEventHandler.holdFire = true; } if (GunsTool.getGunIntTag(stack, "FireMode") == 1 && ClientEventHandler.burstFireSize == 0) { - ClientEventHandler.burstFireSize = (int) stack.getOrCreateTag().getDouble("burst_size"); + ClientEventHandler.burstFireSize = GunsTool.getGunIntTag(stack, "BurstSize", 1); } } } diff --git a/src/main/java/com/atsuishio/superbwarfare/tools/GunsTool.java b/src/main/java/com/atsuishio/superbwarfare/tools/GunsTool.java index 305b68aee..9d12df377 100644 --- a/src/main/java/com/atsuishio/superbwarfare/tools/GunsTool.java +++ b/src/main/java/com/atsuishio/superbwarfare/tools/GunsTool.java @@ -55,7 +55,7 @@ public class GunsTool { public static void initGun(Level level, ItemStack stack, String location) { if (level.getServer() == null) return; gunsData.get(location).forEach((k, v) -> { - if (k.equals("EmptyReloadTime") || k.equals("FireMode") || k.equals("Weight") || k.equals("SoundRadius")) { + if (k.equals("EmptyReloadTime") || k.equals("FireMode") || k.equals("Weight") || k.equals("SoundRadius") || k.equals("BurstSize")) { CompoundTag tag = stack.getOrCreateTag(); CompoundTag data = tag.getCompound("GunData"); data.putDouble(k, v); @@ -69,7 +69,7 @@ public class GunsTool { public static void initCreativeGun(ItemStack stack, String location) { if (gunsData != null && gunsData.get(location) != null) { gunsData.get(location).forEach((k, v) -> { - if (k.equals("EmptyReloadTime") || k.equals("FireMode") || k.equals("Weight") || k.equals("SoundRadius")) { + if (k.equals("EmptyReloadTime") || k.equals("FireMode") || k.equals("Weight") || k.equals("SoundRadius") || k.equals("BurstSize")) { CompoundTag tag = stack.getOrCreateTag(); CompoundTag data = tag.getCompound("GunData"); data.putDouble(k, v); @@ -141,6 +141,7 @@ public class GunsTool { tag.putBoolean("is_empty_reloading", false); } + /* PerkData */ public static void setPerkIntTag(ItemStack stack, String name, int num) { CompoundTag tag = stack.getOrCreateTag().getCompound("PerkData"); tag.putInt(name, num); @@ -174,6 +175,7 @@ public class GunsTool { return tag.getBoolean(name); } + /* Attachments */ public static int getAttachmentType(ItemStack stack, AttachmentType type) { CompoundTag tag = stack.getOrCreateTag().getCompound("Attachments"); return tag.getInt(type.getName()); @@ -197,6 +199,7 @@ public class GunsTool { } } + /* GunData */ public static void setGunIntTag(ItemStack stack, String name, int num) { CompoundTag tag = stack.getOrCreateTag(); var data = tag.getCompound("GunData"); @@ -205,8 +208,13 @@ public class GunsTool { } public static int getGunIntTag(ItemStack stack, String name) { + return getGunIntTag(stack, name, 0); + } + + public static int getGunIntTag(ItemStack stack, String name, int defaultValue) { CompoundTag tag = stack.getOrCreateTag(); var data = tag.getCompound("GunData"); + if (!data.contains(name)) return defaultValue; return data.getInt(name); } @@ -218,8 +226,13 @@ public class GunsTool { } public static double getGunDoubleTag(ItemStack stack, String name) { + return getGunDoubleTag(stack, name, 0); + } + + public static double getGunDoubleTag(ItemStack stack, String name, double defaultValue) { CompoundTag tag = stack.getOrCreateTag(); var data = tag.getCompound("GunData"); + if (!data.contains(name)) return defaultValue; return data.getDouble(name); } } diff --git a/src/main/resources/data/superbwarfare/guns/aa_12.json b/src/main/resources/data/superbwarfare/guns/aa_12.json index aaeaa47f2..2ce889973 100644 --- a/src/main/resources/data/superbwarfare/guns/aa_12.json +++ b/src/main/resources/data/superbwarfare/guns/aa_12.json @@ -12,7 +12,6 @@ "semi": 1, "burst": 0, "auto": 1, - "burst_size": 1, "normal_reload_time": 64, "EmptyReloadTime": 85, "BypassesArmor": 0.05, diff --git a/src/main/resources/data/superbwarfare/guns/abekiri.json b/src/main/resources/data/superbwarfare/guns/abekiri.json index 1b6dde601..d0ddfc7f5 100644 --- a/src/main/resources/data/superbwarfare/guns/abekiri.json +++ b/src/main/resources/data/superbwarfare/guns/abekiri.json @@ -12,7 +12,6 @@ "semi": 1, "burst": 0, "auto": 0, - "burst_size": 1, "normal_reload_time": 66, "EmptyReloadTime": 83, "BypassesArmor": 0.01, diff --git a/src/main/resources/data/superbwarfare/guns/ak_12.json b/src/main/resources/data/superbwarfare/guns/ak_12.json index b09cac1b3..2aaff6355 100644 --- a/src/main/resources/data/superbwarfare/guns/ak_12.json +++ b/src/main/resources/data/superbwarfare/guns/ak_12.json @@ -14,7 +14,6 @@ "semi": 1, "burst": 0, "auto": 1, - "burst_size": 1, "normal_reload_time": 52, "EmptyReloadTime": 58, "BypassesArmor": 0.23, diff --git a/src/main/resources/data/superbwarfare/guns/ak_47.json b/src/main/resources/data/superbwarfare/guns/ak_47.json index e185efa06..3d854291f 100644 --- a/src/main/resources/data/superbwarfare/guns/ak_47.json +++ b/src/main/resources/data/superbwarfare/guns/ak_47.json @@ -14,7 +14,6 @@ "semi": 1, "burst": 0, "auto": 1, - "burst_size": 1, "normal_reload_time": 52, "EmptyReloadTime": 65, "BypassesArmor": 0.2, diff --git a/src/main/resources/data/superbwarfare/guns/devotion.json b/src/main/resources/data/superbwarfare/guns/devotion.json index e16a3c2e3..3afe5c40e 100644 --- a/src/main/resources/data/superbwarfare/guns/devotion.json +++ b/src/main/resources/data/superbwarfare/guns/devotion.json @@ -13,7 +13,6 @@ "semi": 0, "burst": 0, "auto": 1, - "burst_size": 1, "normal_reload_time": 73, "EmptyReloadTime": 95, "BypassesArmor": 0.25, diff --git a/src/main/resources/data/superbwarfare/guns/glock_17.json b/src/main/resources/data/superbwarfare/guns/glock_17.json index c815d7d35..ed533c971 100644 --- a/src/main/resources/data/superbwarfare/guns/glock_17.json +++ b/src/main/resources/data/superbwarfare/guns/glock_17.json @@ -12,7 +12,6 @@ "semi": 1, "burst": 0, "auto": 0, - "burst_size": 1, "normal_reload_time": 30, "EmptyReloadTime": 35, "BypassesArmor": 0.15, diff --git a/src/main/resources/data/superbwarfare/guns/glock_18.json b/src/main/resources/data/superbwarfare/guns/glock_18.json index 5628c8eb8..d29f465dd 100644 --- a/src/main/resources/data/superbwarfare/guns/glock_18.json +++ b/src/main/resources/data/superbwarfare/guns/glock_18.json @@ -12,7 +12,6 @@ "semi": 1, "burst": 0, "auto": 1, - "burst_size": 1, "normal_reload_time": 30, "EmptyReloadTime": 35, "BypassesArmor": 0.15, diff --git a/src/main/resources/data/superbwarfare/guns/hk_416.json b/src/main/resources/data/superbwarfare/guns/hk_416.json index 64b966702..044f837d1 100644 --- a/src/main/resources/data/superbwarfare/guns/hk_416.json +++ b/src/main/resources/data/superbwarfare/guns/hk_416.json @@ -14,7 +14,6 @@ "semi": 1, "burst": 0, "auto": 1, - "burst_size": 1, "normal_reload_time": 56, "EmptyReloadTime": 64, "BypassesArmor": 0.25, diff --git a/src/main/resources/data/superbwarfare/guns/hunting_rifle.json b/src/main/resources/data/superbwarfare/guns/hunting_rifle.json index 1848c2ed1..8f211a5d8 100644 --- a/src/main/resources/data/superbwarfare/guns/hunting_rifle.json +++ b/src/main/resources/data/superbwarfare/guns/hunting_rifle.json @@ -12,7 +12,6 @@ "semi": 1, "burst": 0, "auto": 0, - "burst_size": 1, "EmptyReloadTime": 64, "BypassesArmor": 0.7, "SoundRadius": 20 diff --git a/src/main/resources/data/superbwarfare/guns/k_98.json b/src/main/resources/data/superbwarfare/guns/k_98.json index c9fc25cf5..dcd0a2013 100644 --- a/src/main/resources/data/superbwarfare/guns/k_98.json +++ b/src/main/resources/data/superbwarfare/guns/k_98.json @@ -13,7 +13,6 @@ "semi": 1, "burst": 0, "auto": 0, - "burst_size": 1, "EmptyReloadTime": 59, "clipLoad": 1, "prepare_time": 29, diff --git a/src/main/resources/data/superbwarfare/guns/m_1911.json b/src/main/resources/data/superbwarfare/guns/m_1911.json index ba13a2cc0..314250735 100644 --- a/src/main/resources/data/superbwarfare/guns/m_1911.json +++ b/src/main/resources/data/superbwarfare/guns/m_1911.json @@ -12,7 +12,6 @@ "semi": 1, "burst": 0, "auto": 0, - "burst_size": 1, "normal_reload_time": 30, "EmptyReloadTime": 35, "BypassesArmor": 0.2, diff --git a/src/main/resources/data/superbwarfare/guns/m_4.json b/src/main/resources/data/superbwarfare/guns/m_4.json index 6e8be5f43..339a9f472 100644 --- a/src/main/resources/data/superbwarfare/guns/m_4.json +++ b/src/main/resources/data/superbwarfare/guns/m_4.json @@ -14,7 +14,6 @@ "semi": 1, "burst": 0, "auto": 1, - "burst_size": 1, "normal_reload_time": 56, "EmptyReloadTime": 64, "BypassesArmor": 0.25, diff --git a/src/main/resources/data/superbwarfare/guns/m_60.json b/src/main/resources/data/superbwarfare/guns/m_60.json index d10fab5be..a47b398c3 100644 --- a/src/main/resources/data/superbwarfare/guns/m_60.json +++ b/src/main/resources/data/superbwarfare/guns/m_60.json @@ -12,7 +12,6 @@ "semi": 0, "burst": 0, "auto": 1, - "burst_size": 1, "normal_reload_time": 114, "EmptyReloadTime": 133, "BypassesArmor": 0.25, diff --git a/src/main/resources/data/superbwarfare/guns/m_870.json b/src/main/resources/data/superbwarfare/guns/m_870.json index 1c19a2017..61fb6f40c 100644 --- a/src/main/resources/data/superbwarfare/guns/m_870.json +++ b/src/main/resources/data/superbwarfare/guns/m_870.json @@ -13,7 +13,6 @@ "semi": 1, "burst": 0, "auto": 0, - "burst_size": 1, "prepare_time": 7, "prepare_load_time": 36, "iterative_time": 16, diff --git a/src/main/resources/data/superbwarfare/guns/m_98b.json b/src/main/resources/data/superbwarfare/guns/m_98b.json index 7b18c2f9c..bd237cfe3 100644 --- a/src/main/resources/data/superbwarfare/guns/m_98b.json +++ b/src/main/resources/data/superbwarfare/guns/m_98b.json @@ -16,7 +16,6 @@ "semi": 1, "burst": 0, "auto": 0, - "burst_size": 1, "normal_reload_time": 60, "EmptyReloadTime": 78, "BypassesArmor": 0.6, diff --git a/src/main/resources/data/superbwarfare/guns/marlin.json b/src/main/resources/data/superbwarfare/guns/marlin.json index 99bc78be0..60cedb3d4 100644 --- a/src/main/resources/data/superbwarfare/guns/marlin.json +++ b/src/main/resources/data/superbwarfare/guns/marlin.json @@ -13,7 +13,6 @@ "semi": 1, "burst": 0, "auto": 0, - "burst_size": 1, "prepare_time": 7, "iterative_time": 16, "finish_time": 19, diff --git a/src/main/resources/data/superbwarfare/guns/mk_14.json b/src/main/resources/data/superbwarfare/guns/mk_14.json index 358bf6354..328c06d60 100644 --- a/src/main/resources/data/superbwarfare/guns/mk_14.json +++ b/src/main/resources/data/superbwarfare/guns/mk_14.json @@ -14,7 +14,6 @@ "semi": 1, "burst": 0, "auto": 1, - "burst_size": 1, "normal_reload_time": 54, "EmptyReloadTime": 71, "BypassesArmor": 0.4, diff --git a/src/main/resources/data/superbwarfare/guns/mosin_nagant.json b/src/main/resources/data/superbwarfare/guns/mosin_nagant.json index 0a808555f..583a8ba7f 100644 --- a/src/main/resources/data/superbwarfare/guns/mosin_nagant.json +++ b/src/main/resources/data/superbwarfare/guns/mosin_nagant.json @@ -14,7 +14,6 @@ "semi": 1, "burst": 0, "auto": 0, - "burst_size": 1, "prepare_time": 29, "prepare_empty": 16, "iterative_time": 11, diff --git a/src/main/resources/data/superbwarfare/guns/ntw_20.json b/src/main/resources/data/superbwarfare/guns/ntw_20.json index 035e3f73d..8f9f9e7f8 100644 --- a/src/main/resources/data/superbwarfare/guns/ntw_20.json +++ b/src/main/resources/data/superbwarfare/guns/ntw_20.json @@ -14,7 +14,6 @@ "semi": 1, "burst": 0, "auto": 0, - "burst_size": 1, "normal_reload_time": 63, "EmptyReloadTime": 92, "BypassesArmor": 1, diff --git a/src/main/resources/data/superbwarfare/guns/qbz_95.json b/src/main/resources/data/superbwarfare/guns/qbz_95.json index 309b12a12..f34a27750 100644 --- a/src/main/resources/data/superbwarfare/guns/qbz_95.json +++ b/src/main/resources/data/superbwarfare/guns/qbz_95.json @@ -14,7 +14,6 @@ "semi": 1, "burst": 0, "auto": 1, - "burst_size": 1, "normal_reload_time": 60, "EmptyReloadTime": 74, "BypassesArmor": 0.28, diff --git a/src/main/resources/data/superbwarfare/guns/rpk.json b/src/main/resources/data/superbwarfare/guns/rpk.json index 4c71d8cfd..a5a824b5e 100644 --- a/src/main/resources/data/superbwarfare/guns/rpk.json +++ b/src/main/resources/data/superbwarfare/guns/rpk.json @@ -12,7 +12,6 @@ "semi": 1, "burst": 0, "auto": 1, - "burst_size": 1, "normal_reload_time": 73, "EmptyReloadTime": 95, "BypassesArmor": 0.23, diff --git a/src/main/resources/data/superbwarfare/guns/sentinel.json b/src/main/resources/data/superbwarfare/guns/sentinel.json index 4c5b6897f..ce89d78da 100644 --- a/src/main/resources/data/superbwarfare/guns/sentinel.json +++ b/src/main/resources/data/superbwarfare/guns/sentinel.json @@ -14,7 +14,6 @@ "semi": 1, "burst": 0, "auto": 0, - "burst_size": 1, "normal_reload_time": 59, "EmptyReloadTime": 89, "BypassesArmor": 0.8, diff --git a/src/main/resources/data/superbwarfare/guns/sks.json b/src/main/resources/data/superbwarfare/guns/sks.json index f55b00901..92e0dcc85 100644 --- a/src/main/resources/data/superbwarfare/guns/sks.json +++ b/src/main/resources/data/superbwarfare/guns/sks.json @@ -12,7 +12,6 @@ "semi": 1, "burst": 0, "auto": 0, - "burst_size": 1, "normal_reload_time": 54, "EmptyReloadTime": 75, "BypassesArmor": 0.23, diff --git a/src/main/resources/data/superbwarfare/guns/svd.json b/src/main/resources/data/superbwarfare/guns/svd.json index d40c622fc..d8e1660cb 100644 --- a/src/main/resources/data/superbwarfare/guns/svd.json +++ b/src/main/resources/data/superbwarfare/guns/svd.json @@ -13,7 +13,6 @@ "semi": 1, "burst": 0, "auto": 0, - "burst_size": 1, "normal_reload_time": 56, "EmptyReloadTime": 70, "BypassesArmor": 0.45, diff --git a/src/main/resources/data/superbwarfare/guns/trachelium.json b/src/main/resources/data/superbwarfare/guns/trachelium.json index 453bc13e5..cf868fd55 100644 --- a/src/main/resources/data/superbwarfare/guns/trachelium.json +++ b/src/main/resources/data/superbwarfare/guns/trachelium.json @@ -12,7 +12,6 @@ "semi": 1, "burst": 0, "auto": 0, - "burst_size": 1, "EmptyReloadTime": 65, "BypassesArmor": 0.3, "SoundRadius": 10, diff --git a/src/main/resources/data/superbwarfare/guns/vector.json b/src/main/resources/data/superbwarfare/guns/vector.json index 3bc47d2a4..b984f0845 100644 --- a/src/main/resources/data/superbwarfare/guns/vector.json +++ b/src/main/resources/data/superbwarfare/guns/vector.json @@ -12,7 +12,7 @@ "semi": 1, "burst": 1, "auto": 1, - "burst_size": 3, + "BurstSize": 3, "normal_reload_time": 46, "EmptyReloadTime": 64, "BypassesArmor": 0.15,