From 412522dbc0cbeab594087e6bc726142d3a7d2cdd Mon Sep 17 00:00:00 2001 From: 17146 <1714673995@qq.com> Date: Sun, 9 Mar 2025 03:17:43 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E7=BB=B4=E6=8C=81=E7=94=9F?= =?UTF-8?q?=E8=AE=A1=E5=AF=B9=E5=88=9B=E9=80=A0=E5=BC=B9=E8=8D=AF=E4=B8=8D?= =?UTF-8?q?=E8=B5=B7=E4=BD=9C=E7=94=A8=E7=9A=84=E6=95=88=E6=9E=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../superbwarfare/event/LivingEventHandler.java | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/atsuishio/superbwarfare/event/LivingEventHandler.java b/src/main/java/com/atsuishio/superbwarfare/event/LivingEventHandler.java index 5459bbe13..86824ac07 100644 --- a/src/main/java/com/atsuishio/superbwarfare/event/LivingEventHandler.java +++ b/src/main/java/com/atsuishio/superbwarfare/event/LivingEventHandler.java @@ -643,13 +643,23 @@ public class LivingEventHandler { int ammoReload = (int) Math.min(mag, mag * rate); int ammoNeed = Math.min(mag - ammo, ammoReload); + boolean flag = player.getInventory().hasAnyMatching(s -> s.is(ModItems.CREATIVE_AMMO_BOX.get())); + if (stack.is(ModTags.Items.USE_RIFLE_AMMO)) { int ammoFinal = Math.min(capability.rifleAmmo, ammoNeed); - capability.rifleAmmo -= ammoFinal; + if (flag) { + ammoFinal = ammoNeed; + } else { + capability.rifleAmmo -= ammoFinal; + } GunsTool.setGunIntTag(stack, "Ammo", Math.min(mag, ammo + ammoFinal)); } else if (stack.is(ModTags.Items.USE_HANDGUN_AMMO)) { int ammoFinal = Math.min(capability.handgunAmmo, ammoNeed); - capability.handgunAmmo -= ammoFinal; + if (flag) { + ammoFinal = ammoNeed; + } else { + capability.handgunAmmo -= ammoFinal; + } GunsTool.setGunIntTag(stack, "Ammo", Math.min(mag, ammo + ammoFinal)); } capability.syncPlayerVariables(player);