package me.shedaniel.rei.plugin; import com.google.common.collect.Lists; import net.minecraft.item.ItemStack; import net.minecraft.recipe.crafting.ShapelessRecipe; import java.util.Arrays; import java.util.List; public class DefaultShapelessDisplay implements DefaultCraftingDisplay { private ShapelessRecipe display; private List> input; private List output; public DefaultShapelessDisplay(ShapelessRecipe recipe) { this.display = recipe; this.input = Lists.newArrayList(); recipe.getPreviewInputs().forEach(ingredient -> { input.add(Arrays.asList(ingredient.getStackArray())); }); this.output = Arrays.asList(recipe.getOutput()); } @Override public ShapelessRecipe getRecipe() { return display; } @Override public List> getInput() { return input; } @Override public List getOutput() { return output; } @Override public List> getRequiredItems() { return input; } @Override public int getWidth() { if (display.getPreviewInputs().size() > 4) return 3; return 2; } @Override public int getHeight() { if (display.getPreviewInputs().size() > 4) return 3; return 2; } }