aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/shedaniel/rei/plugin/DefaultSmokingDisplay.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/me/shedaniel/rei/plugin/DefaultSmokingDisplay.java')
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/DefaultSmokingDisplay.java63
1 files changed, 63 insertions, 0 deletions
diff --git a/src/main/java/me/shedaniel/rei/plugin/DefaultSmokingDisplay.java b/src/main/java/me/shedaniel/rei/plugin/DefaultSmokingDisplay.java
new file mode 100644
index 000000000..0961cb0ad
--- /dev/null
+++ b/src/main/java/me/shedaniel/rei/plugin/DefaultSmokingDisplay.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.smelting.SmeltingRecipe;
+import net.minecraft.recipe.smelting.SmokingRecipe;
+import net.minecraft.util.Identifier;
+
+import java.util.Arrays;
+import java.util.List;
+import java.util.stream.Collectors;
+
+public class DefaultSmokingDisplay implements IRecipeDisplay<SmokingRecipe> {
+
+ private SmokingRecipe display;
+ private List<List<ItemStack>> input;
+ private List<ItemStack> output;
+
+ public DefaultSmokingDisplay(SmokingRecipe recipe) {
+ this.display = recipe;
+ List<ItemStack> 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()));
+ });
+ input.add(fuel);
+ this.output = Arrays.asList(recipe.getOutput());
+ }
+
+ @Override
+ public SmokingRecipe getRecipe() {
+ return display;
+ }
+
+ @Override
+ public List<List<ItemStack>> getInput() {
+ return input;
+ }
+
+ public List<ItemStack> getFuel() {
+ return input.get(1);
+ }
+
+ @Override
+ public List<ItemStack> getOutput() {
+ return output;
+ }
+
+ @Override
+ public Identifier getRecipeCategory() {
+ return DefaultPlugin.SMOKING;
+ }
+
+ @Override
+ public List<List<ItemStack>> getRequiredItems() {
+ return input;
+ }
+
+}