DefaultCampfireDisplay.java 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. package me.shedaniel.rei.plugin;
  2. import com.google.common.collect.Lists;
  3. import me.shedaniel.rei.api.IRecipeDisplay;
  4. import net.minecraft.item.ItemStack;
  5. import net.minecraft.recipe.Ingredient;
  6. import net.minecraft.recipe.Recipe;
  7. import net.minecraft.recipe.cooking.CampfireCookingRecipe;
  8. import net.minecraft.util.DefaultedList;
  9. import net.minecraft.util.Identifier;
  10. import java.util.Arrays;
  11. import java.util.Collections;
  12. import java.util.List;
  13. public class DefaultCampfireDisplay implements IRecipeDisplay {
  14. private List<ItemStack> inputs, output;
  15. private int cookTime;
  16. public DefaultCampfireDisplay(CampfireCookingRecipe recipe) {
  17. this(recipe.getPreviewInputs(), recipe.getOutput(), recipe.getCookTime());
  18. }
  19. public DefaultCampfireDisplay(DefaultedList<Ingredient> ingredients, ItemStack output, int cookTime) {
  20. this.inputs = Lists.newArrayList();
  21. ingredients.stream().map(ingredient -> ingredient.getStackArray()).forEach(itemStacks -> Collections.addAll(inputs, itemStacks));
  22. this.output = Arrays.asList(output);
  23. this.cookTime = cookTime;
  24. }
  25. public int getCookTime() {
  26. return cookTime;
  27. }
  28. @Override
  29. public Recipe getRecipe() {
  30. return null;
  31. }
  32. @Override
  33. public List<List<ItemStack>> getInput() {
  34. return Arrays.asList(inputs);
  35. }
  36. @Override
  37. public List<ItemStack> getOutput() {
  38. return this.output;
  39. }
  40. @Override
  41. public Identifier getRecipeCategory() {
  42. return DefaultPlugin.CAMPFIRE;
  43. }
  44. @Override
  45. public List<List<ItemStack>> getRequiredItems() {
  46. return getInput();
  47. }
  48. }