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; package dev.micle.totemofreviving.item.totem;
import dev.micle.totemofreviving.component.TotemData; 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.Config;
import dev.micle.totemofreviving.setup.ModDataComponents; import dev.micle.totemofreviving.setup.ModDataComponents;
import dev.micle.totemofreviving.setup.ModKeyMappings; import dev.micle.totemofreviving.setup.ModKeyMappings;
@ -25,8 +21,8 @@ import net.minecraft.world.item.TooltipFlag;
import net.minecraft.world.level.Level; import net.minecraft.world.level.Level;
import net.neoforged.api.distmarker.Dist; import net.neoforged.api.distmarker.Dist;
import net.neoforged.api.distmarker.OnlyIn; import net.neoforged.api.distmarker.OnlyIn;
import org.jetbrains.annotations.NotNull;
import javax.annotation.Nullable;
import javax.annotation.ParametersAreNonnullByDefault; import javax.annotation.ParametersAreNonnullByDefault;
import java.io.IOException; import java.io.IOException;
import java.util.List; import java.util.List;
@ -216,38 +212,39 @@ public abstract class TotemItem extends Item {
} }
@Override @Override
@OnlyIn(Dist.CLIENT)
@ParametersAreNonnullByDefault @ParametersAreNonnullByDefault
public InteractionResultHolder<ItemStack> use(Level world, Player player, InteractionHand hand) { public @NotNull InteractionResultHolder<ItemStack> use(Level level, Player player, InteractionHand usedHand) {
if (!world.isClientSide) { if (!level.isClientSide) return super.use(level, player, usedHand);
return super.use(world, player, hand);
}
ItemStack chargeItem = (hand.equals(InteractionHand.MAIN_HAND)) ? player.getOffhandItem() : player.getMainHandItem(); ItemStack chargeStack = (usedHand.equals(InteractionHand.MAIN_HAND)) ? player.getOffhandItem() : player.getMainHandItem();
if (player.isCrouching()) { if (player.isCrouching()) {
NetworkManager.getChannel().sendToServer(new ChangeTargetPacket(hand)); // Change Target Packet
} else { } else {
if (isCharge(chargeItem)) { if (isCharge(chargeStack)) {
NetworkManager.getChannel().sendToServer(new ChargeTotemPacket(hand)); // Charge Totem Packet
} else { } else {
NetworkManager.getChannel().sendToServer(new ReviveTargetPacket(hand)); // Revive Target Packet
} }
} }
return super.use(world, player, hand);
return super.use(level, player, usedHand);
} }
@Override @Override
@ParametersAreNonnullByDefault
public int getMaxDamage(ItemStack stack) { public int getMaxDamage(ItemStack stack) {
return getConfig(stack).getDurability(); return getConfig().getDurability();
} }
@Override @Override
@ParametersAreNonnullByDefault
public boolean isDamageable(ItemStack stack) { public boolean isDamageable(ItemStack stack) {
return (getConfig(stack).getDurability() != 0); return getConfig().getDurability() != 0;
} }
@Override @Override
@ParametersAreNonnullByDefault
public int getDamage(ItemStack stack) { public int getDamage(ItemStack stack) {
if (isDamageable(stack) && super.getDamage(stack) >= getMaxDamage(stack)) { if (isDamageable(stack) && super.getDamage(stack) >= getMaxDamage(stack)) {
stack.setCount(0); stack.setCount(0);