package mezz.jei.api.recipe; import javax.annotation.Nonnull; import javax.annotation.Nullable; import java.util.List; import net.minecraft.item.ItemStack; /** * Helps get ItemStacks from common formats used in recipes. */ public interface IStackHelper { /** * Returns all the subtypes of itemStack if it has a wildcard meta value. */ @Nonnull List<ItemStack> getSubtypes(@Nonnull ItemStack itemStack); /** * Expands an Iterable, which may contain ItemStacks or more Iterables, and * returns all the subtypes of itemStacks if they have wildcard meta value. */ @Nonnull List<ItemStack> getAllSubtypes(@Nonnull Iterable stacks); /** * Flattens ItemStacks, OreDict Strings, and Iterables into a list of ItemStacks. */ @Nonnull List<ItemStack> toItemStackList(@Nullable Object stacks); }