RecipeDisplay.java 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. /*
  2. * Roughly Enough Items by Danielshe.
  3. * Licensed under the MIT License.
  4. */
  5. package me.shedaniel.rei.api;
  6. import net.minecraft.util.Identifier;
  7. import java.util.Collections;
  8. import java.util.List;
  9. import java.util.Optional;
  10. public interface RecipeDisplay {
  11. /**
  12. * @return a list of inputs
  13. */
  14. List<List<EntryStack>> getInputEntries();
  15. /**
  16. * @return a list of outputs
  17. */
  18. List<EntryStack> getOutputEntries();
  19. /**
  20. * Gets the required items used in craftable filters
  21. *
  22. * @return the list of required items
  23. */
  24. default List<List<EntryStack>> getRequiredEntries() {
  25. return Collections.emptyList();
  26. }
  27. /**
  28. * Gets the recipe display category identifier
  29. *
  30. * @return the identifier of the category
  31. */
  32. Identifier getRecipeCategory();
  33. /**
  34. * Gets the recipe location from datapack
  35. *
  36. * @return the recipe location
  37. */
  38. default Optional<Identifier> getRecipeLocation() {
  39. return Optional.empty();
  40. }
  41. }