IRecipeHelper.java 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. package me.shedaniel.rei.api;
  2. import me.shedaniel.rei.RoughlyEnoughItemsCore;
  3. import net.minecraft.item.ItemStack;
  4. import net.minecraft.recipe.RecipeManager;
  5. import net.minecraft.util.Identifier;
  6. import java.util.List;
  7. import java.util.Map;
  8. import java.util.Optional;
  9. public interface IRecipeHelper {
  10. public static IRecipeHelper getInstance() {
  11. return RoughlyEnoughItemsCore.getRecipeHelper();
  12. }
  13. public int getRecipeCount();
  14. public List<ItemStack> findCraftableByItems(List<ItemStack> inventoryItems);
  15. public void registerCategory(IRecipeCategory category);
  16. public void registerDisplay(Identifier categoryIdentifier, IRecipeDisplay display);
  17. public Map<IRecipeCategory, List<IRecipeDisplay>> getRecipesFor(ItemStack stack);
  18. public RecipeManager getRecipeManager();
  19. public List<IRecipeCategory> getAllCategories();
  20. public Map<IRecipeCategory, List<IRecipeDisplay>> getUsagesFor(ItemStack stack);
  21. public Optional<SpeedCraftAreaSupplier> getSpeedCraftButtonArea(IRecipeCategory category);
  22. public void registerSpeedCraftButtonArea(Identifier category, SpeedCraftAreaSupplier rectangle);
  23. public List<SpeedCraftFunctional> getSpeedCraftFunctional(IRecipeCategory category);
  24. public void registerSpeedCraftFunctional(Identifier category, SpeedCraftFunctional functional);
  25. Map<IRecipeCategory, List<IRecipeDisplay>> getAllRecipes();
  26. }