package me.shedaniel.rei.plugin; import com.google.common.collect.Lists; import me.shedaniel.rei.api.IRecipeDisplay; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.item.crafting.FurnaceRecipe; import net.minecraft.tileentity.TileEntityFurnace; import net.minecraft.util.ResourceLocation; import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; public class DefaultSmeltingDisplay implements IRecipeDisplay { private FurnaceRecipe display; private List> input; private List output; public DefaultSmeltingDisplay(FurnaceRecipe recipe) { this.display = recipe; List fuel = Lists.newArrayList(); this.input = Lists.newArrayList(); fuel.addAll(TileEntityFurnace.getBurnTimes().keySet().stream().map(Item::getDefaultInstance).collect(Collectors.toList())); recipe.getIngredients().forEach(ingredient -> { input.add(Arrays.asList(ingredient.getMatchingStacks())); }); input.add(fuel); this.output = Arrays.asList(recipe.getRecipeOutput()); } @Override public FurnaceRecipe getRecipe() { return display; } @Override public List> getInput() { return input; } public List getFuel() { return input.get(1); } @Override public List getOutput() { return output; } @Override public ResourceLocation getRecipeCategory() { return DefaultPlugin.SMELTING; } @Override public List> getRequiredItems() { return input; } }