Rewrote handle method to use new totem item class.
This commit is contained in:
@ -1,6 +1,6 @@
|
||||
package dev.micle.totemofreviving.network;
|
||||
|
||||
import dev.micle.totemofreviving.item.StrawTotemItem;
|
||||
import dev.micle.totemofreviving.item.TotemItem;
|
||||
import net.minecraft.entity.player.ServerPlayerEntity;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.network.PacketBuffer;
|
||||
@ -9,8 +9,6 @@ import net.minecraftforge.fml.network.NetworkEvent;
|
||||
|
||||
import java.util.function.Supplier;
|
||||
|
||||
import static dev.micle.totemofreviving.item.StrawTotemItem.TAG_CHARGE;
|
||||
|
||||
public class ChargeTotemPacket {
|
||||
private final Hand hand;
|
||||
|
||||
@ -33,21 +31,17 @@ public class ChargeTotemPacket {
|
||||
context.enqueueWork(() -> {
|
||||
ServerPlayerEntity sender = context.getSender();
|
||||
if (sender == null) { return; }
|
||||
ItemStack totem = sender.getMainHandItem();
|
||||
ItemStack charge = sender.getOffhandItem();
|
||||
if (!packet.hand.equals(Hand.MAIN_HAND)) {
|
||||
totem = sender.getOffhandItem();
|
||||
charge = sender.getMainHandItem();
|
||||
}
|
||||
|
||||
if (totem.getItem() instanceof StrawTotemItem) {
|
||||
if (totem.getOrCreateTag().getInt(TAG_CHARGE) >= StrawTotemItem.getMaxCharge()) {
|
||||
ItemStack totemStack = (packet.hand.equals(Hand.MAIN_HAND)) ? sender.getMainHandItem() : sender.getOffhandItem();
|
||||
ItemStack chargeStack = (packet.hand.equals(Hand.MAIN_HAND)) ? sender.getOffhandItem() : sender.getMainHandItem();
|
||||
int charge = TotemItem.getCharge(totemStack);
|
||||
|
||||
if (charge >= TotemItem.getMaxCharge(totemStack)) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
totem.getOrCreateTag().putInt(TAG_CHARGE, totem.getOrCreateTag().getInt(TAG_CHARGE) + 1);
|
||||
charge.setCount(charge.getCount() - 1);
|
||||
TotemItem.setCharge(totemStack, charge + 1);
|
||||
chargeStack.setCount(chargeStack.getCount() - 1);
|
||||
});
|
||||
context.setPacketHandled(true);
|
||||
}
|
||||
|
Reference in New Issue
Block a user