package joshie.progression.api; import joshie.progression.api.criteria.ICriteria; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.nbt.NBTTagCompound; import java.util.Set; import java.util.UUID; public interface IPlayerData { /** Returns the tag compound with this string id **/ public NBTTagCompound getCustomData(EntityPlayer player, String string); /** Returns the tag compound with this string id **/ public NBTTagCompound getCustomData(UUID uuid, String string, boolean isClient); /** Returns a stored doubled with this name **/ public double getDouble(UUID uuid, String name, boolean isClient); /** Get a boolean **/ public boolean getBoolean(UUID uuid, String name, boolean isClient); /** Only call any of these setters serverside, client side will break **/ public void setCustomData(UUID uuid, String string, NBTTagCompound tag); public void setCustomData(EntityPlayer player, String string, NBTTagCompound tag); /** Set a boolean **/ public void setBoolean(EntityPlayerMP player, String name, boolean value); /** Add to the the internal double stored with this name **/ public void addDouble(EntityPlayerMP player, String name, double value); /** Returns a list of all the completed criteria for this player **/ public Set<ICriteria> getCompletedCriteriaList(UUID uuid, boolean isClient); }