aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/shedaniel/rei/api/IRecipeHelper.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/me/shedaniel/rei/api/IRecipeHelper.java')
-rw-r--r--src/main/java/me/shedaniel/rei/api/IRecipeHelper.java44
1 files changed, 44 insertions, 0 deletions
diff --git a/src/main/java/me/shedaniel/rei/api/IRecipeHelper.java b/src/main/java/me/shedaniel/rei/api/IRecipeHelper.java
new file mode 100644
index 000000000..8d9651f32
--- /dev/null
+++ b/src/main/java/me/shedaniel/rei/api/IRecipeHelper.java
@@ -0,0 +1,44 @@
+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<ItemStack> findCraftableByItems(List<ItemStack> inventoryItems);
+
+ public void registerCategory(IRecipeCategory category);
+
+ public void registerDisplay(Identifier categoryIdentifier, IRecipeDisplay display);
+
+ public Map<IRecipeCategory, List<IRecipeDisplay>> getRecipesFor(ItemStack stack);
+
+ public RecipeManager getRecipeManager();
+
+ public List<IRecipeCategory> getAllCategories();
+
+ public Map<IRecipeCategory, List<IRecipeDisplay>> getUsagesFor(ItemStack stack);
+
+ public Optional<SpeedCraftAreaSupplier> getSpeedCraftButtonArea(IRecipeCategory category);
+
+ public void registerSpeedCraftButtonArea(Identifier category, SpeedCraftAreaSupplier rectangle);
+
+ public List<SpeedCraftFunctional> getSpeedCraftFunctional(IRecipeCategory category);
+
+ public void registerSpeedCraftFunctional(Identifier category, SpeedCraftFunctional functional);
+
+ Map<IRecipeCategory, List<IRecipeDisplay>> getAllRecipes();
+
+}