WIP use method. Fixed remaining methods.

This commit is contained in:
2026-01-11 00:00:30 +01:00
parent 4c6d9b4b14
commit 0f35787a53

View File

@ -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<ItemStack> 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<ItemStack> 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);