DefaultBrewingDisplay.java 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. package me.shedaniel.rei.plugin;
  2. import me.shedaniel.rei.api.IRecipeDisplay;
  3. import net.minecraft.block.Blocks;
  4. import net.minecraft.item.ItemStack;
  5. import net.minecraft.item.Items;
  6. import net.minecraft.recipe.Ingredient;
  7. import net.minecraft.recipe.Recipe;
  8. import net.minecraft.util.Identifier;
  9. import java.util.ArrayList;
  10. import java.util.Arrays;
  11. import java.util.List;
  12. public class DefaultBrewingDisplay implements IRecipeDisplay {
  13. private ItemStack input, output;
  14. private Ingredient reactant;
  15. public DefaultBrewingDisplay(ItemStack input, Ingredient reactant, ItemStack output) {
  16. this.input = input;
  17. this.reactant = reactant;
  18. this.output = output;
  19. }
  20. @Override
  21. public Recipe getRecipe() {
  22. return null;
  23. }
  24. @Override
  25. public List<List<ItemStack>> getInput() {
  26. return Arrays.asList(Arrays.asList(input), Arrays.asList(reactant.getStackArray()));
  27. }
  28. @Override
  29. public List<ItemStack> getOutput() {
  30. return Arrays.asList(output);
  31. }
  32. @Override
  33. public Identifier getRecipeCategory() {
  34. return DefaultPlugin.BREWING;
  35. }
  36. public List<ItemStack> getOutput(int slot) {
  37. List<ItemStack> stack = new ArrayList<>();
  38. for(int i = 0; i < slot * 2; i++)
  39. stack.add(new ItemStack(Blocks.AIR));
  40. for(int i = 0; i < 6 - slot * 2; i++)
  41. stack.addAll(getOutput());
  42. return stack;
  43. }
  44. @Override
  45. public List<List<ItemStack>> getRequiredItems() {
  46. return Arrays.asList(Arrays.asList(new ItemStack(Items.AIR)));
  47. }
  48. }