diff --git a/src/main/java/dev/micle/totemofreviving/item/totem/TotemItem.java b/src/main/java/dev/micle/totemofreviving/item/totem/TotemItem.java index 8d6386b..c468756 100644 --- a/src/main/java/dev/micle/totemofreviving/item/totem/TotemItem.java +++ b/src/main/java/dev/micle/totemofreviving/item/totem/TotemItem.java @@ -1,10 +1,6 @@ package dev.micle.totemofreviving.item.totem; import dev.micle.totemofreviving.component.TotemData; -import dev.micle.totemofreviving.network.NetworkManager; -import dev.micle.totemofreviving.network.client.ChangeTargetPacket; -import dev.micle.totemofreviving.network.client.ChargeTotemPacket; -import dev.micle.totemofreviving.network.client.ReviveTargetPacket; import dev.micle.totemofreviving.setup.Config; import dev.micle.totemofreviving.setup.ModDataComponents; import dev.micle.totemofreviving.setup.ModKeyMappings; @@ -25,8 +21,8 @@ import net.minecraft.world.item.TooltipFlag; import net.minecraft.world.level.Level; import net.neoforged.api.distmarker.Dist; import net.neoforged.api.distmarker.OnlyIn; +import org.jetbrains.annotations.NotNull; -import javax.annotation.Nullable; import javax.annotation.ParametersAreNonnullByDefault; import java.io.IOException; import java.util.List; @@ -214,40 +210,41 @@ public abstract class TotemItem extends Item { super.appendHoverText(stack, context, tooltipComponents, tooltipFlag); } - + @Override - @OnlyIn(Dist.CLIENT) @ParametersAreNonnullByDefault - public InteractionResultHolder use(Level world, Player player, InteractionHand hand) { - if (!world.isClientSide) { - return super.use(world, player, hand); - } - - ItemStack chargeItem = (hand.equals(InteractionHand.MAIN_HAND)) ? player.getOffhandItem() : player.getMainHandItem(); - + public @NotNull InteractionResultHolder use(Level level, Player player, InteractionHand usedHand) { + if (!level.isClientSide) return super.use(level, player, usedHand); + + ItemStack chargeStack = (usedHand.equals(InteractionHand.MAIN_HAND)) ? player.getOffhandItem() : player.getMainHandItem(); + if (player.isCrouching()) { - NetworkManager.getChannel().sendToServer(new ChangeTargetPacket(hand)); + // Change Target Packet } else { - if (isCharge(chargeItem)) { - NetworkManager.getChannel().sendToServer(new ChargeTotemPacket(hand)); + if (isCharge(chargeStack)) { + // Charge Totem Packet } else { - NetworkManager.getChannel().sendToServer(new ReviveTargetPacket(hand)); + // Revive Target Packet } } - return super.use(world, player, hand); + + return super.use(level, player, usedHand); } - + @Override + @ParametersAreNonnullByDefault public int getMaxDamage(ItemStack stack) { - return getConfig(stack).getDurability(); + return getConfig().getDurability(); } - + @Override + @ParametersAreNonnullByDefault public boolean isDamageable(ItemStack stack) { - return (getConfig(stack).getDurability() != 0); + return getConfig().getDurability() != 0; } @Override + @ParametersAreNonnullByDefault public int getDamage(ItemStack stack) { if (isDamageable(stack) && super.getDamage(stack) >= getMaxDamage(stack)) { stack.setCount(0);