package joshie.progression.api.criteria;
import com.google.gson.JsonObject;
import net.minecraft.item.ItemStack;
import java.util.List;
/** This is a reward provider, for storing information about rewards,
* that are unrelated to rewards themselves.
*/
public interface IRewardProvider extends IRuleProvider<IReward> {
/** Return the criteria this reward is attached to **/
public ICriteria getCriteria();
/** Returns the icon for this reward **/
public ItemStack getIcon();
/** Returns the localised name **/
public String getLocalisedName();
/** Adds a tooltip **/
public void addTooltip(List list);
/** Set the icon **/
public IRewardProvider setIcon(ItemStack stack);
/** Returns true if only one of these rewards can be claimed per team **/
public boolean isOnePerTeam();
/** Returns whether this reward must be claimed **/
public boolean mustClaim();
/** Reads neccessary data about this provider from the json **/
public void readFromJSON(JsonObject data);
/** Writes neccessary data about this provider to the json **/
public void writeToJSON(JsonObject data);
}