package joshie.harvest.quests.packet;
import io.netty.buffer.ByteBuf;
import joshie.harvest.api.quests.Quest;
import joshie.harvest.core.network.Packet;
import joshie.harvest.core.network.Packet.Side;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.fml.common.network.ByteBufUtils;
@Packet(Side.CLIENT)
public class PacketQuestCompleted extends PacketSharedSync {
private Quest quest;
private boolean rewards;
@SuppressWarnings("unused")
public PacketQuestCompleted() {}
public PacketQuestCompleted(Quest quest, boolean rewards) {
this.quest = quest;
this.rewards = rewards;
}
@Override
public void toBytes(ByteBuf buf) {
super.toBytes(buf);
ByteBufUtils.writeUTF8String(buf, quest.getRegistryName().toString());
buf.writeBoolean(rewards);
}
@Override
public void fromBytes(ByteBuf buf) {
super.fromBytes(buf);
quest = Quest.REGISTRY.getValue(new ResourceLocation(ByteBufUtils.readUTF8String(buf)));
rewards = buf.readBoolean();
}
@Override
public void handlePacket(EntityPlayer player) {
getQuestDataFromPlayer(player).markCompleted(player.worldObj, player, quest, rewards);
}
}