From 77ff77003ff31dabda47388ca2d9727a185b90f8 Mon Sep 17 00:00:00 2001 From: Unknown Date: Fri, 11 Jan 2019 17:16:53 +0800 Subject: Crafting Display --- .../rei/plugin/DefaultSmeltingDisplay.java | 63 ++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 src/main/java/me/shedaniel/rei/plugin/DefaultSmeltingDisplay.java (limited to 'src/main/java/me/shedaniel/rei/plugin/DefaultSmeltingDisplay.java') diff --git a/src/main/java/me/shedaniel/rei/plugin/DefaultSmeltingDisplay.java b/src/main/java/me/shedaniel/rei/plugin/DefaultSmeltingDisplay.java new file mode 100644 index 000000000..417bed72f --- /dev/null +++ b/src/main/java/me/shedaniel/rei/plugin/DefaultSmeltingDisplay.java @@ -0,0 +1,63 @@ +package me.shedaniel.rei.plugin; + +import com.google.common.collect.Lists; +import me.shedaniel.rei.api.IRecipeDisplay; +import net.minecraft.block.entity.FurnaceBlockEntity; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.recipe.Recipe; +import net.minecraft.recipe.crafting.ShapelessRecipe; +import net.minecraft.recipe.smelting.SmeltingRecipe; +import net.minecraft.util.Identifier; + +import java.util.Arrays; +import java.util.List; +import java.util.stream.Collectors; + +public class DefaultSmeltingDisplay implements IRecipeDisplay { + + private SmeltingRecipe display; + private List> input; + private List fuel, output; + + public DefaultSmeltingDisplay(SmeltingRecipe recipe) { + this.display = recipe; + this.fuel = Lists.newArrayList(); + this.input = Lists.newArrayList(); + fuel.addAll(FurnaceBlockEntity.createBurnableMap().keySet().stream().map(Item::getDefaultStack).collect(Collectors.toList())); + recipe.getPreviewInputs().forEach(ingredient -> { + input.add(Arrays.asList(ingredient.getStackArray())); + }); + this.output = Arrays.asList(recipe.getOutput()); + } + + @Override + public SmeltingRecipe getRecipe() { + return display; + } + + @Override + public List> getInput() { + return input; + } + + public List getFuel() { + return fuel; + } + + @Override + public List getOutput() { + return output; + } + + @Override + public Identifier getRecipeCategory() { + return DefaultPlugin.SMELTING; + } + + @Override + public List> getRequiredItems() { + return input; + } + +} -- cgit