From e6b6559be7b0fcc97c58e18e409247ec9d4cf7ba Mon Sep 17 00:00:00 2001 From: 17146 <1714673995@qq.com> Date: Sun, 11 May 2025 13:17:40 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=8F=AF=E7=94=A8FireMode?= =?UTF-8?q?=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/atsuishio/superbwarfare/item/gun/GunItem.java | 7 ------- .../superbwarfare/item/gun/data/DefaultGunData.java | 3 +++ .../com/atsuishio/superbwarfare/item/gun/data/GunData.java | 4 ++++ .../superbwarfare/item/gun/handgun/Glock17Item.java | 5 ----- .../superbwarfare/item/gun/handgun/Glock18Item.java | 5 ----- .../superbwarfare/item/gun/handgun/M1911Item.java | 5 ----- .../superbwarfare/item/gun/handgun/Mp443Item.java | 5 ----- .../superbwarfare/item/gun/handgun/Trachelium.java | 5 ----- .../atsuishio/superbwarfare/item/gun/heavy/Ntw20Item.java | 5 ----- .../item/gun/launcher/SecondaryCataclysm.java | 5 ----- .../superbwarfare/item/gun/machinegun/DevotionItem.java | 5 ----- .../superbwarfare/item/gun/machinegun/M60Item.java | 5 ----- .../superbwarfare/item/gun/machinegun/RpkItem.java | 5 ----- .../atsuishio/superbwarfare/item/gun/rifle/AK12Item.java | 5 ----- .../atsuishio/superbwarfare/item/gun/rifle/AK47Item.java | 5 ----- .../atsuishio/superbwarfare/item/gun/rifle/Hk416Item.java | 5 ----- .../superbwarfare/item/gun/rifle/InsidiousItem.java | 5 ----- .../com/atsuishio/superbwarfare/item/gun/rifle/M4Item.java | 5 ----- .../atsuishio/superbwarfare/item/gun/rifle/MarlinItem.java | 5 ----- .../atsuishio/superbwarfare/item/gun/rifle/Mk14Item.java | 5 ----- .../atsuishio/superbwarfare/item/gun/rifle/Qbz95Item.java | 5 ----- .../atsuishio/superbwarfare/item/gun/rifle/SksItem.java | 5 ----- .../atsuishio/superbwarfare/item/gun/shotgun/Aa12Item.java | 5 ----- .../item/gun/shotgun/HomemadeShotgunItem.java | 7 +------ .../atsuishio/superbwarfare/item/gun/shotgun/M870Item.java | 5 ----- .../atsuishio/superbwarfare/item/gun/smg/VectorItem.java | 5 ----- .../superbwarfare/item/gun/sniper/HuntingRifleItem.java | 5 ----- .../atsuishio/superbwarfare/item/gun/sniper/K98Item.java | 5 ----- .../atsuishio/superbwarfare/item/gun/sniper/M98bItem.java | 5 ----- .../superbwarfare/item/gun/sniper/MosinNagantItem.java | 5 ----- .../superbwarfare/item/gun/sniper/SentinelItem.java | 5 ----- .../atsuishio/superbwarfare/item/gun/sniper/SvdItem.java | 5 ----- .../network/message/send/FireModeMessage.java | 4 ++-- src/main/resources/data/superbwarfare/guns/aa_12.json | 1 + src/main/resources/data/superbwarfare/guns/ak_12.json | 1 + src/main/resources/data/superbwarfare/guns/ak_47.json | 1 + src/main/resources/data/superbwarfare/guns/devotion.json | 1 + src/main/resources/data/superbwarfare/guns/glock_18.json | 1 + src/main/resources/data/superbwarfare/guns/hk_416.json | 1 + src/main/resources/data/superbwarfare/guns/insidious.json | 1 + src/main/resources/data/superbwarfare/guns/m_4.json | 1 + src/main/resources/data/superbwarfare/guns/m_60.json | 1 + src/main/resources/data/superbwarfare/guns/mk_14.json | 1 + src/main/resources/data/superbwarfare/guns/qbz_95.json | 1 + src/main/resources/data/superbwarfare/guns/rpk.json | 1 + src/main/resources/data/superbwarfare/guns/vector.json | 1 + 46 files changed, 23 insertions(+), 155 deletions(-) diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/GunItem.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/GunItem.java index a91ab6ce9..b96e3c608 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/GunItem.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/GunItem.java @@ -332,13 +332,6 @@ public abstract class GunItem extends Item implements CustomRendererItem { return false; } - /** - * 获取武器可用的开火模式 - */ - public int getAvailableFireModes() { - return 0; - } - /** * 获取额外伤害加成 */ 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 ba7390849..a7a8d6026 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 @@ -87,4 +87,7 @@ public class DefaultGunData { "!superbwarfare:longer_wire", "!superbwarfare:cupid_arrow" ); + + @SerializedName("AvailableFireModes") + public int availableFireModes = 1; } 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 5c81c85dd..cff1bf96e 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 @@ -501,6 +501,10 @@ public class GunData { return availablePerks().contains(perk); } + public int getAvailableFireModes() { + return defaultGunData().availableFireModes; + } + // 可持久化属性开始 public final IntValue ammo; public final IntValue fireMode; diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/handgun/Glock17Item.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/handgun/Glock17Item.java index aaf86208d..b84b5c631 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/handgun/Glock17Item.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/handgun/Glock17Item.java @@ -128,11 +128,6 @@ public class Glock17Item extends GunItem implements GeoItem { return true; } - @Override - public int getAvailableFireModes() { - return FireMode.SEMI.flag; - } - @Override public void addReloadTimeBehavior(Map> behaviors) { super.addReloadTimeBehavior(behaviors); diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/handgun/Glock18Item.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/handgun/Glock18Item.java index a4892448c..d1d6db281 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/handgun/Glock18Item.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/handgun/Glock18Item.java @@ -135,11 +135,6 @@ public class Glock18Item extends GunItem implements GeoItem { return true; } - @Override - public int getAvailableFireModes() { - return FireMode.SEMI.flag + FireMode.AUTO.flag; - } - @Override public void addReloadTimeBehavior(Map> behaviors) { super.addReloadTimeBehavior(behaviors); diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/handgun/M1911Item.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/handgun/M1911Item.java index 15e6acf25..28c1b1b1c 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/handgun/M1911Item.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/handgun/M1911Item.java @@ -130,11 +130,6 @@ public class M1911Item extends GunItem implements GeoItem { return true; } - @Override - public int getAvailableFireModes() { - return FireMode.SEMI.flag; - } - @Override public void addReloadTimeBehavior(Map> behaviors) { super.addReloadTimeBehavior(behaviors); diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/handgun/Mp443Item.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/handgun/Mp443Item.java index d045b10e5..770cb6582 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/handgun/Mp443Item.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/handgun/Mp443Item.java @@ -127,11 +127,6 @@ public class Mp443Item extends GunItem implements GeoItem { return true; } - @Override - public int getAvailableFireModes() { - return FireMode.SEMI.flag; - } - @Override public void addReloadTimeBehavior(Map> behaviors) { super.addReloadTimeBehavior(behaviors); diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/handgun/Trachelium.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/handgun/Trachelium.java index c323fd5e8..2483b878f 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/handgun/Trachelium.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/handgun/Trachelium.java @@ -323,9 +323,4 @@ public class Trachelium extends GunItem implements GeoItem { public boolean hasCustomStock(ItemStack stack) { return true; } - - @Override - public int getAvailableFireModes() { - return FireMode.SEMI.flag; - } } \ No newline at end of file diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/heavy/Ntw20Item.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/heavy/Ntw20Item.java index ac982d274..4303fa2c8 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/heavy/Ntw20Item.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/heavy/Ntw20Item.java @@ -189,9 +189,4 @@ public class Ntw20Item extends GunItem implements GeoItem { public boolean hasBipod(ItemStack stack) { return true; } - - @Override - public int getAvailableFireModes() { - return FireMode.SEMI.flag; - } } \ No newline at end of file diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/launcher/SecondaryCataclysm.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/launcher/SecondaryCataclysm.java index 309d67989..aaf54c631 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/launcher/SecondaryCataclysm.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/launcher/SecondaryCataclysm.java @@ -215,11 +215,6 @@ public class SecondaryCataclysm extends GunItem implements GeoItem, EnergyStorag return true; } - @Override - public int getAvailableFireModes() { - return FireMode.SEMI.flag; - } - @Override public String getAmmoDisplayName(GunData data) { return "40mm Grenade"; diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/machinegun/DevotionItem.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/machinegun/DevotionItem.java index cef2a0304..8d20867d8 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/machinegun/DevotionItem.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/machinegun/DevotionItem.java @@ -116,9 +116,4 @@ public class DevotionItem extends GunItem implements GeoItem { public boolean canEjectShell(ItemStack stack) { return true; } - - @Override - public int getAvailableFireModes() { - return FireMode.AUTO.flag; - } } \ No newline at end of file diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/machinegun/M60Item.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/machinegun/M60Item.java index 6eb9995ec..dc03d8f91 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/machinegun/M60Item.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/machinegun/M60Item.java @@ -148,11 +148,6 @@ public class M60Item extends GunItem implements GeoItem { return true; } - @Override - public int getAvailableFireModes() { - return FireMode.AUTO.flag; - } - @Override public void beforeShoot(GunData data, Player player, double spread, boolean zoom) { super.beforeShoot(data, player, spread, zoom); diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/machinegun/RpkItem.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/machinegun/RpkItem.java index f0a17a59a..1ee5bc441 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/machinegun/RpkItem.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/machinegun/RpkItem.java @@ -253,9 +253,4 @@ public class RpkItem extends GunItem implements GeoItem { public boolean hasBipod(ItemStack stack) { return true; } - - @Override - public int getAvailableFireModes() { - return FireMode.SEMI.flag + FireMode.AUTO.flag; - } } \ No newline at end of file diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/AK12Item.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/AK12Item.java index 8c79197a9..7c2d448a7 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/AK12Item.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/AK12Item.java @@ -218,9 +218,4 @@ public class AK12Item extends GunItem implements GeoItem { public boolean canEjectShell(ItemStack stack) { return true; } - - @Override - public int getAvailableFireModes() { - return FireMode.SEMI.flag + FireMode.AUTO.flag; - } } \ No newline at end of file diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/AK47Item.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/AK47Item.java index 604233121..0267cb8ec 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/AK47Item.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/AK47Item.java @@ -226,9 +226,4 @@ public class AK47Item extends GunItem implements GeoItem { public boolean canEjectShell(ItemStack stack) { return true; } - - @Override - public int getAvailableFireModes() { - return FireMode.SEMI.flag + FireMode.AUTO.flag; - } } \ No newline at end of file diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/Hk416Item.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/Hk416Item.java index 5dbc7691b..ba3dab020 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/Hk416Item.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/Hk416Item.java @@ -226,9 +226,4 @@ public class Hk416Item extends GunItem implements GeoItem { public boolean canEjectShell(ItemStack stack) { return true; } - - @Override - public int getAvailableFireModes() { - return FireMode.SEMI.flag + FireMode.AUTO.flag; - } } \ No newline at end of file diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/InsidiousItem.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/InsidiousItem.java index e35c9eda1..dd4eadf29 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/InsidiousItem.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/InsidiousItem.java @@ -92,9 +92,4 @@ public class InsidiousItem extends GunItem implements GeoItem { public boolean isMagazineReload(ItemStack stack) { return true; } - - @Override - public int getAvailableFireModes() { - return FireMode.BURST.flag; - } } \ No newline at end of file diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/M4Item.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/M4Item.java index 53d6c86ff..748efaae4 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/M4Item.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/M4Item.java @@ -232,9 +232,4 @@ public class M4Item extends GunItem implements GeoItem { public boolean canEjectShell(ItemStack stack) { return true; } - - @Override - public int getAvailableFireModes() { - return FireMode.SEMI.flag + FireMode.AUTO.flag; - } } \ No newline at end of file diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/MarlinItem.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/MarlinItem.java index 09af13633..e7e164f37 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/MarlinItem.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/MarlinItem.java @@ -132,9 +132,4 @@ public class MarlinItem extends GunItem implements GeoItem { public boolean isIterativeReload(ItemStack stack) { return true; } - - @Override - public int getAvailableFireModes() { - return FireMode.SEMI.flag; - } } \ No newline at end of file diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/Mk14Item.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/Mk14Item.java index 958a7b2d5..7c49a4ca0 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/Mk14Item.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/Mk14Item.java @@ -229,11 +229,6 @@ public class Mk14Item extends GunItem implements GeoItem { return true; } - @Override - public int getAvailableFireModes() { - return FireMode.SEMI.flag + FireMode.AUTO.flag; - } - @Override public void addReloadTimeBehavior(Map> behaviors) { super.addReloadTimeBehavior(behaviors); diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/Qbz95Item.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/Qbz95Item.java index e4e820c8e..bc5c07c86 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/Qbz95Item.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/Qbz95Item.java @@ -237,11 +237,6 @@ public class Qbz95Item extends GunItem implements GeoItem { return true; } - @Override - public int getAvailableFireModes() { - return FireMode.SEMI.flag + FireMode.AUTO.flag; - } - @Override public void addReloadTimeBehavior(Map> behaviors) { super.addReloadTimeBehavior(behaviors); diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/SksItem.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/SksItem.java index e75370d54..8dc124817 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/SksItem.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/SksItem.java @@ -132,11 +132,6 @@ public class SksItem extends GunItem implements GeoItem { return true; } - @Override - public int getAvailableFireModes() { - return FireMode.SEMI.flag; - } - @Override public void addReloadTimeBehavior(Map> behaviors) { super.addReloadTimeBehavior(behaviors); diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/shotgun/Aa12Item.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/shotgun/Aa12Item.java index 9e783d839..903e7079a 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/shotgun/Aa12Item.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/shotgun/Aa12Item.java @@ -146,9 +146,4 @@ public class Aa12Item extends GunItem implements GeoItem { public boolean canEjectShell(ItemStack stack) { return true; } - - @Override - public int getAvailableFireModes() { - return FireMode.SEMI.flag + FireMode.AUTO.flag; - } } \ No newline at end of file diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/shotgun/HomemadeShotgunItem.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/shotgun/HomemadeShotgunItem.java index 2c5be9328..a9e661494 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/shotgun/HomemadeShotgunItem.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/shotgun/HomemadeShotgunItem.java @@ -53,7 +53,7 @@ public class HomemadeShotgunItem extends GunItem implements GeoItem { } @Override - public int getBarWidth(ItemStack stack) { + public int getBarWidth(@NotNull ItemStack stack) { return Math.round(13.0F - (float) stack.getDamageValue() * 13.0F / (float) this.getMaxDamage(stack)); } @@ -152,9 +152,4 @@ public class HomemadeShotgunItem extends GunItem implements GeoItem { stack.hurtAndBreak(1, (ServerLevel) player.level(), player, p -> { }); } - - @Override - public int getAvailableFireModes() { - return FireMode.SEMI.flag; - } } diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/shotgun/M870Item.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/shotgun/M870Item.java index d85188293..65ca3d596 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/shotgun/M870Item.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/shotgun/M870Item.java @@ -142,9 +142,4 @@ public class M870Item extends GunItem implements GeoItem { public boolean isIterativeReload(ItemStack stack) { return true; } - - @Override - public int getAvailableFireModes() { - return FireMode.SEMI.flag; - } } \ No newline at end of file diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/smg/VectorItem.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/smg/VectorItem.java index e1675fe0b..45529f02e 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/smg/VectorItem.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/smg/VectorItem.java @@ -209,9 +209,4 @@ public class VectorItem extends GunItem implements GeoItem { public boolean canEjectShell(ItemStack stack) { return true; } - - @Override - public int getAvailableFireModes() { - return FireMode.SEMI.flag + FireMode.BURST.flag + FireMode.AUTO.flag; - } } \ No newline at end of file diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/sniper/HuntingRifleItem.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/sniper/HuntingRifleItem.java index ffe267ec4..36e032fe8 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/sniper/HuntingRifleItem.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/sniper/HuntingRifleItem.java @@ -91,9 +91,4 @@ public class HuntingRifleItem extends GunItem implements GeoItem { public boolean isMagazineReload(ItemStack stack) { return true; } - - @Override - public int getAvailableFireModes() { - return FireMode.SEMI.flag; - } } \ No newline at end of file diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/sniper/K98Item.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/sniper/K98Item.java index 20688579f..0f00a27c5 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/sniper/K98Item.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/sniper/K98Item.java @@ -146,9 +146,4 @@ public class K98Item extends GunItem implements GeoItem { public boolean isIterativeReload(ItemStack stack) { return true; } - - @Override - public int getAvailableFireModes() { - return FireMode.SEMI.flag; - } } \ No newline at end of file diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/sniper/M98bItem.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/sniper/M98bItem.java index 2c19f69ce..5921bba43 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/sniper/M98bItem.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/sniper/M98bItem.java @@ -125,9 +125,4 @@ public class M98bItem extends GunItem implements GeoItem { public boolean hasBulletInBarrel(ItemStack stack) { return true; } - - @Override - public int getAvailableFireModes() { - return FireMode.SEMI.flag; - } } \ No newline at end of file diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/sniper/MosinNagantItem.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/sniper/MosinNagantItem.java index 266fb7d95..de8a39dda 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/sniper/MosinNagantItem.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/sniper/MosinNagantItem.java @@ -139,9 +139,4 @@ public class MosinNagantItem extends GunItem implements GeoItem { public boolean isIterativeReload(ItemStack stack) { return true; } - - @Override - public int getAvailableFireModes() { - return FireMode.SEMI.flag; - } } \ No newline at end of file diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/sniper/SentinelItem.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/sniper/SentinelItem.java index a1edd501b..794e63a26 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/sniper/SentinelItem.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/sniper/SentinelItem.java @@ -189,11 +189,6 @@ public class SentinelItem extends GunItem implements GeoItem, EnergyStorageItem return true; } - @Override - public int getAvailableFireModes() { - return FireMode.SEMI.flag; - } - @Override public void afterShoot(GunData data, Player player) { super.afterShoot(data, player); diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/sniper/SvdItem.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/sniper/SvdItem.java index d18f9e66f..5a36e85f4 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/sniper/SvdItem.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/sniper/SvdItem.java @@ -183,11 +183,6 @@ public class SvdItem extends GunItem implements GeoItem { return true; } - @Override - public int getAvailableFireModes() { - return FireMode.SEMI.flag; - } - @Override public void addReloadTimeBehavior(Map> behaviors) { super.addReloadTimeBehavior(behaviors); diff --git a/src/main/java/com/atsuishio/superbwarfare/network/message/send/FireModeMessage.java b/src/main/java/com/atsuishio/superbwarfare/network/message/send/FireModeMessage.java index 51c1bb04e..6060ee4f5 100644 --- a/src/main/java/com/atsuishio/superbwarfare/network/message/send/FireModeMessage.java +++ b/src/main/java/com/atsuishio/superbwarfare/network/message/send/FireModeMessage.java @@ -32,12 +32,12 @@ public record FireModeMessage(int msgType) implements CustomPacketPayload { public static void changeFireMode(Player player) { ItemStack stack = player.getMainHandItem(); - if (stack.getItem() instanceof GunItem gunItem) { + if (stack.getItem() instanceof GunItem) { var data = GunData.from(stack); var tag = data.tag(); int fireMode = data.fireMode.get(); - int mode = gunItem.getAvailableFireModes(); + int mode = data.getAvailableFireModes(); mode &= 0b111; if (fireMode == 0) { diff --git a/src/main/resources/data/superbwarfare/guns/aa_12.json b/src/main/resources/data/superbwarfare/guns/aa_12.json index 1ecdeca1e..b17bae060 100644 --- a/src/main/resources/data/superbwarfare/guns/aa_12.json +++ b/src/main/resources/data/superbwarfare/guns/aa_12.json @@ -14,6 +14,7 @@ "BypassesArmor": 0.05, "SoundRadius": 18, "RPM": 360, + "AvailableFireModes": 5, "AmmoType": "@ShotgunAmmo", "AvailablePerks": [ "@Ammo", diff --git a/src/main/resources/data/superbwarfare/guns/ak_12.json b/src/main/resources/data/superbwarfare/guns/ak_12.json index f6abf9e87..fceb4d5a9 100644 --- a/src/main/resources/data/superbwarfare/guns/ak_12.json +++ b/src/main/resources/data/superbwarfare/guns/ak_12.json @@ -15,6 +15,7 @@ "BypassesArmor": 0.23, "SoundRadius": 12, "RPM": 700, + "AvailableFireModes": 5, "AmmoType": "@RifleAmmo", "AvailablePerks": [ "@Ammo", diff --git a/src/main/resources/data/superbwarfare/guns/ak_47.json b/src/main/resources/data/superbwarfare/guns/ak_47.json index 7a2ebaadf..ed1215d87 100644 --- a/src/main/resources/data/superbwarfare/guns/ak_47.json +++ b/src/main/resources/data/superbwarfare/guns/ak_47.json @@ -15,6 +15,7 @@ "BypassesArmor": 0.2, "SoundRadius": 14, "RPM": 600, + "AvailableFireModes": 5, "AmmoType": "@RifleAmmo", "AvailablePerks": [ "@Ammo", diff --git a/src/main/resources/data/superbwarfare/guns/devotion.json b/src/main/resources/data/superbwarfare/guns/devotion.json index 4af8a46a4..d0285d83a 100644 --- a/src/main/resources/data/superbwarfare/guns/devotion.json +++ b/src/main/resources/data/superbwarfare/guns/devotion.json @@ -14,6 +14,7 @@ "BypassesArmor": 0.25, "SoundRadius": 13, "RPM": 400, + "AvailableFireModes": 4, "AmmoType": "@RifleAmmo", "AvailablePerks": [ "@Ammo", diff --git a/src/main/resources/data/superbwarfare/guns/glock_18.json b/src/main/resources/data/superbwarfare/guns/glock_18.json index a9ed84040..67b9f4b79 100644 --- a/src/main/resources/data/superbwarfare/guns/glock_18.json +++ b/src/main/resources/data/superbwarfare/guns/glock_18.json @@ -13,6 +13,7 @@ "BypassesArmor": 0.15, "SoundRadius": 8, "RPM": 1300, + "AvailableFireModes": 5, "AmmoType": "@HandgunAmmo", "AvailablePerks": [ "@Ammo", diff --git a/src/main/resources/data/superbwarfare/guns/hk_416.json b/src/main/resources/data/superbwarfare/guns/hk_416.json index abd54818b..39fe9a19f 100644 --- a/src/main/resources/data/superbwarfare/guns/hk_416.json +++ b/src/main/resources/data/superbwarfare/guns/hk_416.json @@ -15,6 +15,7 @@ "BypassesArmor": 0.25, "SoundRadius": 14, "RPM": 900, + "AvailableFireModes": 5, "AmmoType": "@RifleAmmo", "AvailablePerks": [ "@Ammo", diff --git a/src/main/resources/data/superbwarfare/guns/insidious.json b/src/main/resources/data/superbwarfare/guns/insidious.json index f04c20aff..557dd63e2 100644 --- a/src/main/resources/data/superbwarfare/guns/insidious.json +++ b/src/main/resources/data/superbwarfare/guns/insidious.json @@ -13,6 +13,7 @@ "BypassesArmor": 0.4, "SoundRadius": 12, "RPM": 900, + "AvailableFireModes": 2, "AmmoType": "@RifleAmmo", "AvailablePerks": [ "@Ammo", diff --git a/src/main/resources/data/superbwarfare/guns/m_4.json b/src/main/resources/data/superbwarfare/guns/m_4.json index aa0a2079d..519c4b3ed 100644 --- a/src/main/resources/data/superbwarfare/guns/m_4.json +++ b/src/main/resources/data/superbwarfare/guns/m_4.json @@ -15,6 +15,7 @@ "BypassesArmor": 0.25, "SoundRadius": 14, "RPM": 850, + "AvailableFireModes": 5, "AmmoType": "@RifleAmmo", "AvailablePerks": [ "@Ammo", diff --git a/src/main/resources/data/superbwarfare/guns/m_60.json b/src/main/resources/data/superbwarfare/guns/m_60.json index 9c4ced001..892f6743f 100644 --- a/src/main/resources/data/superbwarfare/guns/m_60.json +++ b/src/main/resources/data/superbwarfare/guns/m_60.json @@ -13,6 +13,7 @@ "BypassesArmor": 0.25, "SoundRadius": 15, "RPM": 600, + "AvailableFireModes": 4, "AmmoType": "@RifleAmmo", "AvailablePerks": [ "@Ammo", diff --git a/src/main/resources/data/superbwarfare/guns/mk_14.json b/src/main/resources/data/superbwarfare/guns/mk_14.json index a50b8ed00..3c9cea373 100644 --- a/src/main/resources/data/superbwarfare/guns/mk_14.json +++ b/src/main/resources/data/superbwarfare/guns/mk_14.json @@ -15,6 +15,7 @@ "BypassesArmor": 0.4, "SoundRadius": 16, "RPM": 700, + "AvailableFireModes": 5, "AmmoType": "@RifleAmmo", "AvailablePerks": [ "@Ammo", diff --git a/src/main/resources/data/superbwarfare/guns/qbz_95.json b/src/main/resources/data/superbwarfare/guns/qbz_95.json index bdca8a0ce..edb5289f5 100644 --- a/src/main/resources/data/superbwarfare/guns/qbz_95.json +++ b/src/main/resources/data/superbwarfare/guns/qbz_95.json @@ -15,6 +15,7 @@ "BypassesArmor": 0.28, "SoundRadius": 13, "RPM": 650, + "AvailableFireModes": 5, "AmmoType": "@RifleAmmo", "AvailablePerks": [ "@Ammo", diff --git a/src/main/resources/data/superbwarfare/guns/rpk.json b/src/main/resources/data/superbwarfare/guns/rpk.json index 39e5bc02a..0c11e0974 100644 --- a/src/main/resources/data/superbwarfare/guns/rpk.json +++ b/src/main/resources/data/superbwarfare/guns/rpk.json @@ -15,6 +15,7 @@ "BypassesArmor": 0.23, "SoundRadius": 14, "RPM": 600, + "AvailableFireModes": 5, "AmmoType": "@RifleAmmo", "AvailablePerks": [ "@Ammo", diff --git a/src/main/resources/data/superbwarfare/guns/vector.json b/src/main/resources/data/superbwarfare/guns/vector.json index 0e31be308..d7a038c54 100644 --- a/src/main/resources/data/superbwarfare/guns/vector.json +++ b/src/main/resources/data/superbwarfare/guns/vector.json @@ -14,6 +14,7 @@ "BypassesArmor": 0.15, "SoundRadius": 11, "RPM": 1200, + "AvailableFireModes": 7, "AmmoType": "@HandgunAmmo", "AvailablePerks": [ "@Ammo",