package joshie.harvest.player.packet;
import io.netty.buffer.ByteBuf;
import joshie.harvest.core.HFTrackers;
import joshie.harvest.core.helpers.NBTHelper;
import joshie.harvest.core.network.Packet;
import joshie.harvest.core.network.PenguinPacket;
import joshie.harvest.core.util.holders.ItemStackHolder;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraftforge.fml.common.network.ByteBufUtils;
import java.util.Set;
@Packet(Packet.Side.CLIENT)
public class PacketSyncObtainedSet extends PenguinPacket {
private Set<ItemStackHolder> set;
public PacketSyncObtainedSet() { }
public PacketSyncObtainedSet(Set<ItemStackHolder> set) {
this.set = set;
}
@Override
public void toBytes(ByteBuf buf) {
NBTTagCompound tag = new NBTTagCompound();
tag.setTag("Obtained", NBTHelper.writeCollection(set));
ByteBufUtils.writeTag(buf, tag);
}
@Override
public void fromBytes(ByteBuf buf) {
NBTTagCompound tag = ByteBufUtils.readTag(buf);
set = NBTHelper.readHashSet(ItemStackHolder.class, tag.getTagList("Obtained", 10));
}
@Override
public void handlePacket(EntityPlayer player) {
HFTrackers.getClientPlayerTracker().getTracking().setObtained(set);
}
}