package forestry.api.storage; import java.util.Collection; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; public interface IBackpackDefinition { /** * @return A unique string identifier */ String getKey(); /** * @return Human-readable name of the backpack. */ String getName(); /** * @return Primary colour for the backpack icon. */ int getPrimaryColour(); /** * @return Secondary colour for backpack icon. */ int getSecondaryColour(); /** * Adds an item as valid for this backpack. * * @param validItem */ void addValidItem(ItemStack validItem); /** * Returns an arraylist of all items valid for this backpack type. * * @param player * @return Collection of itemstack which are valid items for this backpack type. May be empty or null and does not necessarily include all valid items. */ Collection getValidItems(EntityPlayer player); /** * Returns true if the itemstack is a valid item for this backpack type. * * @param player * @param itemstack * @return true if the given itemstack is valid for this backpack, false otherwise. */ boolean isValidItem(EntityPlayer player, ItemStack itemstack); }