From b1acd37a59c9b5536a41a91b06948004cea9cc53 Mon Sep 17 00:00:00 2001 From: 17146 <1714673995@qq.com> Date: Sun, 20 Oct 2024 00:15:04 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E8=87=AA=E5=8A=A8=E6=8F=92?= =?UTF-8?q?=E6=9D=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../superbwarfare/event/PlayerEventHandler.java | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/main/java/net/mcreator/superbwarfare/event/PlayerEventHandler.java b/src/main/java/net/mcreator/superbwarfare/event/PlayerEventHandler.java index 9b06dc177..d0361ac0b 100644 --- a/src/main/java/net/mcreator/superbwarfare/event/PlayerEventHandler.java +++ b/src/main/java/net/mcreator/superbwarfare/event/PlayerEventHandler.java @@ -14,6 +14,7 @@ import net.minecraft.core.BlockPos; import net.minecraft.nbt.CompoundTag; import net.minecraft.server.level.ServerLevel; import net.minecraft.server.level.ServerPlayer; +import net.minecraft.sounds.SoundEvents; import net.minecraft.sounds.SoundSource; import net.minecraft.util.Mth; import net.minecraft.world.effect.MobEffectInstance; @@ -358,8 +359,16 @@ public class PlayerEventHandler { if (armorPlate < armorLevel * 30) { for (var stack : player.getInventory().items) { if (stack.is(ModItems.ARMOR_PLATE.get())) { - for (int index0 = 0; index0 < Math.ceil(((armorLevel * 30) - armorPlate) / 30); index0++) { - stack.finishUsingItem(player.level(), player); + if (stack.getTag() != null && stack.getTag().getBoolean("Infinite")) { + armor.getOrCreateTag().putDouble("ArmorPlate", armorLevel * 30); + + if (player instanceof ServerPlayer serverPlayer) { + serverPlayer.level().playSound(null, serverPlayer.getOnPos(), SoundEvents.ARMOR_EQUIP_IRON, SoundSource.PLAYERS, 0.5f, 1); + } + } else { + for (int index0 = 0; index0 < Math.ceil(((armorLevel * 30) - armorPlate) / 30); index0++) { + stack.finishUsingItem(player.level(), player); + } } } }