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 RecipeHelper { static RecipeHelper getInstance() { return RoughlyEnoughItemsCore.getRecipeHelper(); } int getRecipeCount(); List findCraftableByItems(List inventoryItems); void registerCategory(IRecipeCategory category); void registerDisplay(Identifier categoryIdentifier, IRecipeDisplay display); Map> getRecipesFor(ItemStack stack); RecipeManager getRecipeManager(); List getAllCategories(); Map> getUsagesFor(ItemStack stack); Optional getSpeedCraftButtonArea(IRecipeCategory category); void registerSpeedCraftButtonArea(Identifier category, SpeedCraftAreaSupplier rectangle); List getSpeedCraftFunctional(IRecipeCategory category); void registerSpeedCraftFunctional(Identifier category, SpeedCraftFunctional functional); Map> getAllRecipes(); }