/* * Roughly Enough Items by Danielshe. * Licensed under the MIT License. */ package me.shedaniel.rei.plugin.brewing; import com.google.common.collect.Lists; import me.shedaniel.rei.api.RecipeDisplay; import me.shedaniel.rei.plugin.DefaultPlugin; import net.minecraft.block.Blocks; import net.minecraft.item.ItemStack; import net.minecraft.recipe.Ingredient; import net.minecraft.util.Identifier; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.List; public class DefaultBrewingDisplay implements RecipeDisplay { private ItemStack input, output; private Ingredient reactant; public DefaultBrewingDisplay(ItemStack input, Ingredient reactant, ItemStack output) { this.input = input; this.reactant = reactant; this.output = output; } @Override public List> getInput() { return Lists.newArrayList(Collections.singletonList(input), Arrays.asList(reactant.getStackArray())); } @Override public List getOutput() { return Collections.singletonList(output); } @Override public Identifier getRecipeCategory() { return DefaultPlugin.BREWING; } public List getOutput(int slot) { List stack = new ArrayList<>(); for(int i = 0; i < slot * 2; i++) stack.add(new ItemStack(Blocks.AIR)); for(int i = 0; i < 6 - slot * 2; i++) stack.addAll(getOutput()); return stack; } @Override public List> getRequiredItems() { return Collections.singletonList(Collections.singletonList(ItemStack.EMPTY)); } }