WIP use method. Fixed remaining methods.
This commit is contained in:
@ -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);
|
||||||
|
|||||||
Reference in New Issue
Block a user