From edd15e6a1d1c1818c7b50d7b5f03ca82406ebc16 Mon Sep 17 00:00:00 2001 From: 17146 <1714673995@qq.com> Date: Tue, 14 Jan 2025 18:58:04 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=B8=80=E5=A4=84=E5=8F=AF?= =?UTF-8?q?=E8=83=BD=E5=AF=BC=E8=87=B4=E7=A9=BAtag=E7=9A=84=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../superbwarfare/network/message/FireMessage.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/atsuishio/superbwarfare/network/message/FireMessage.java b/src/main/java/com/atsuishio/superbwarfare/network/message/FireMessage.java index f070c4906..59982ad42 100644 --- a/src/main/java/com/atsuishio/superbwarfare/network/message/FireMessage.java +++ b/src/main/java/com/atsuishio/superbwarfare/network/message/FireMessage.java @@ -64,7 +64,10 @@ public class FireMessage { } public static void pressAction(Player player, int type) { - handleGunBolt(player, player.getMainHandItem()); + ItemStack stack = player.getMainHandItem(); + if (!stack.is(ModTags.Items.GUN)) return; + + handleGunBolt(player, stack); if (type == 0) { handlePlayerShoot(player); @@ -102,9 +105,7 @@ public class FireMessage { private static void handlePlayerShoot(Player player) { var stack = player.getMainHandItem(); - if (!stack.is(ModTags.Items.GUN)) { - return; - } + if (!stack.is(ModTags.Items.GUN)) return; var tag = stack.getOrCreateTag(); @@ -147,6 +148,8 @@ public class FireMessage { } private static void handleGunBolt(Player player, ItemStack stack) { + if (!stack.is(ModTags.Items.GUN)) return; + if (GunsTool.getGunIntTag(stack, "BoltActionTime", 0) > 0 && GunsTool.getGunIntTag(stack, "Ammo", 0) > (stack.is(ModTags.Items.REVOLVER) ? -1 : 0) && GunsTool.getGunIntTag(stack, "BoltActionTick") == 0 && !(stack.getOrCreateTag().getBoolean("is_normal_reloading") || stack.getOrCreateTag().getBoolean("is_empty_reloading"))