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); }