package com.yolp900.itsjustacharm.api.affinities;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
import javax.annotation.Nonnull;
import java.util.List;
public interface IAffinityHolderItem {
int getMaxAmountOfStoredAffinities(@Nonnull ItemStack stack, EntityPlayer player, World world);
int getCurrentAffinityIndex(@Nonnull ItemStack stack, EntityPlayer player, World world);
void setCurrentAffinityIndex(@Nonnull ItemStack stack, int index, EntityPlayer player, World world);
List<IAffinity> getStoredAffinities(@Nonnull ItemStack stack, EntityPlayer player, World world);
IAffinity getStoredAffinity(@Nonnull ItemStack stack, int index, EntityPlayer player, World world);
boolean storeAffinity(@Nonnull ItemStack stack, @Nonnull IAffinity affinity, EntityPlayer player, World world);
boolean removeAffinity(@Nonnull ItemStack stack, int index, EntityPlayer player, World world);
}