From 28adfa726bcdb27eea4ffa39962c881d5c3d929b Mon Sep 17 00:00:00 2001 From: Unknown Date: Sat, 8 Jun 2019 00:20:05 +0800 Subject: Adds Composting Recipes --- .../rei/plugin/DefaultCompostingDisplay.java | 74 ++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 src/main/java/me/shedaniel/rei/plugin/DefaultCompostingDisplay.java (limited to 'src/main/java/me/shedaniel/rei/plugin/DefaultCompostingDisplay.java') diff --git a/src/main/java/me/shedaniel/rei/plugin/DefaultCompostingDisplay.java b/src/main/java/me/shedaniel/rei/plugin/DefaultCompostingDisplay.java new file mode 100644 index 000000000..235bbcd06 --- /dev/null +++ b/src/main/java/me/shedaniel/rei/plugin/DefaultCompostingDisplay.java @@ -0,0 +1,74 @@ +/* + * Roughly Enough Items by Danielshe. + * Licensed under the MIT License. + */ + +package me.shedaniel.rei.plugin; + +import me.shedaniel.rei.api.RecipeDisplay; +import net.minecraft.item.Item; +import net.minecraft.item.ItemConvertible; +import net.minecraft.item.ItemStack; +import net.minecraft.recipe.Recipe; +import net.minecraft.util.Identifier; + +import java.util.*; +import java.util.stream.Collectors; + +public class DefaultCompostingDisplay implements RecipeDisplay { + + private List order, allItems; + private Map inputMap; + private ItemStack[] output; + private int page; + + public DefaultCompostingDisplay(int page, List order, Map inputMap, List allItems, ItemStack[] output) { + this.page = page; + this.order = order; + this.inputMap = inputMap; + this.output = output; + this.allItems = allItems; + } + + public int getPage() { + return page; + } + + @Override + public Optional getRecipe() { + return Optional.empty(); + } + + @Override + public List> getInput() { + List> lists = new ArrayList<>(); + allItems.stream().forEachOrdered(itemProvider -> { + lists.add(Arrays.asList(itemProvider.asItem().getDefaultStack())); + }); + return lists; + } + + public Map getInputMap() { + return inputMap; + } + + @Override + public List getOutput() { + return Arrays.asList(output); + } + + @Override + public Identifier getRecipeCategory() { + return DefaultPlugin.COMPOSTING; + } + + @Override + public List> getRequiredItems() { + return Arrays.asList(new LinkedList<>(allItems.stream().map(ItemConvertible::asItem).map(Item::getDefaultStack).collect(Collectors.toList()))); + } + + public List getItemsByOrder() { + return order; + } + +} -- cgit