package me.shedaniel.rei.api; import me.shedaniel.rei.RoughlyEnoughItemsCore; import net.minecraft.item.ItemStack; import net.minecraft.recipe.RecipeManager; import net.minecraft.util.Identifier; import java.util.List; import java.util.Map; import java.util.Optional; public interface IRecipeHelper { public static IRecipeHelper getInstance() { return RoughlyEnoughItemsCore.getRecipeHelper(); } public int getRecipeCount(); public List findCraftableByItems(List inventoryItems); public void registerCategory(IRecipeCategory category); public void registerDisplay(Identifier categoryIdentifier, IRecipeDisplay display); public Map> getRecipesFor(ItemStack stack); public RecipeManager getRecipeManager(); public List getAllCategories(); public Map> getUsagesFor(ItemStack stack); public Optional getSpeedCraftButtonArea(IRecipeCategory category); public void registerSpeedCraftButtonArea(Identifier category, SpeedCraftAreaSupplier rectangle); public List getSpeedCraftFunctional(IRecipeCategory category); public void registerSpeedCraftFunctional(Identifier category, SpeedCraftFunctional functional); Map> getAllRecipes(); }