diff --git a/src/main/java/com/atsuishio/superbwarfare/item/common/ammo/AmmoBox.java b/src/main/java/com/atsuishio/superbwarfare/item/common/ammo/AmmoBox.java index d9adbcc82..d9e7675e4 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/common/ammo/AmmoBox.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/common/ammo/AmmoBox.java @@ -30,8 +30,10 @@ public class AmmoBox extends Item { @Override public InteractionResultHolder use(Level level, Player player, InteractionHand hand) { ItemStack stack = player.getItemInHand(hand); - CompoundTag tag = stack.getOrCreateTag(); + if (hand == InteractionHand.OFF_HAND) return InteractionResultHolder.fail(stack); + + CompoundTag tag = stack.getOrCreateTag(); player.getCooldowns().addCooldown(this, 10); int type = stack.getOrCreateTag().getInt("Type"); @@ -162,5 +164,4 @@ public class AmmoBox extends Item { .append(Component.literal("").withStyle(ChatFormatting.RESET)) .append(Component.literal(FormatTool.format0D(ItemNBTTool.getInt(stack, "HeavyAmmo", 0)) + ((type == 0 || type == 5) ? " ←-" : " ")).withStyle(ChatFormatting.BOLD))); } - } diff --git a/src/main/java/com/atsuishio/superbwarfare/item/common/ammo/AmmoSupplierItem.java b/src/main/java/com/atsuishio/superbwarfare/item/common/ammo/AmmoSupplierItem.java index 8454b9425..51f8c31a9 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/common/ammo/AmmoSupplierItem.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/common/ammo/AmmoSupplierItem.java @@ -31,26 +31,26 @@ public class AmmoSupplierItem extends Item { player.getCooldowns().addCooldown(this, 10); stack.shrink(count); - ItemStack ammobox = player.getOffhandItem(); + ItemStack offhandItem = player.getOffhandItem(); - if (ammobox.is(ModItems.AMMO_BOX.get())) { - var newAmmoCount = switch (this.type) { - case HANDGUN -> ammobox.getOrCreateTag().getInt("HandgunAmmo"); - case RIFLE -> ammobox.getOrCreateTag().getInt("RifleAmmo"); - case SHOTGUN -> ammobox.getOrCreateTag().getInt("ShotgunAmmo"); - case SNIPER -> ammobox.getOrCreateTag().getInt("SniperAmmo"); - case HEAVY -> ammobox.getOrCreateTag().getInt("HeavyAmmo"); + if (offhandItem.is(ModItems.AMMO_BOX.get())) { + int newAmmoCount = switch (this.type) { + case HANDGUN -> offhandItem.getOrCreateTag().getInt("HandgunAmmo"); + case RIFLE -> offhandItem.getOrCreateTag().getInt("RifleAmmo"); + case SHOTGUN -> offhandItem.getOrCreateTag().getInt("ShotgunAmmo"); + case SNIPER -> offhandItem.getOrCreateTag().getInt("SniperAmmo"); + case HEAVY -> offhandItem.getOrCreateTag().getInt("HeavyAmmo"); } + ammoToAdd * count; switch (this.type) { - case HANDGUN -> ammobox.getOrCreateTag().putInt("HandgunAmmo", newAmmoCount); - case RIFLE -> ammobox.getOrCreateTag().putInt("RifleAmmo", newAmmoCount); - case SHOTGUN -> ammobox.getOrCreateTag().putInt("ShotgunAmmo", newAmmoCount); - case SNIPER -> ammobox.getOrCreateTag().putInt("SniperAmmo", newAmmoCount); - case HEAVY -> ammobox.getOrCreateTag().putInt("HeavyAmmo", newAmmoCount); + case HANDGUN -> offhandItem.getOrCreateTag().putInt("HandgunAmmo", newAmmoCount); + case RIFLE -> offhandItem.getOrCreateTag().putInt("RifleAmmo", newAmmoCount); + case SHOTGUN -> offhandItem.getOrCreateTag().putInt("ShotgunAmmo", newAmmoCount); + case SNIPER -> offhandItem.getOrCreateTag().putInt("SniperAmmo", newAmmoCount); + case HEAVY -> offhandItem.getOrCreateTag().putInt("HeavyAmmo", newAmmoCount); } } else { player.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).ifPresent(capability -> { - var newAmmoCount = switch (this.type) { + int newAmmoCount = switch (this.type) { case HANDGUN -> capability.handgunAmmo; case RIFLE -> capability.rifleAmmo; case SHOTGUN -> capability.shotgunAmmo;