package me.shedaniel.plugin.crafting; import net.minecraft.item.ItemStack; import net.minecraft.recipe.Ingredient; import net.minecraft.recipe.crafting.ShapelessRecipe; import java.util.LinkedList; import java.util.List; public class VanillaShapelessCraftingRecipe extends VanillaCraftingRecipe { private final ShapelessRecipe recipe; public VanillaShapelessCraftingRecipe(ShapelessRecipe recipe) { this.recipe = recipe; } @Override public String getId() { return "vanilla"; } @Override public List getOutput() { List output = new LinkedList<>(); output.add(recipe.getOutput()); return output; } @Override public List> getInput() { List> input = new LinkedList<>(); for(Ingredient ingredient : recipe.getPreviewInputs()) { List ingList = new LinkedList<>(); for(ItemStack matchingStack : ingredient.getStackArray()) { ingList.add(matchingStack); } input.add(ingList); } return input; } @Override public int getWidth() { if (recipe.getPreviewInputs().size() > 4) return 3; return 2; } @Override public int getHeight() { if (recipe.getPreviewInputs().size() > 4) return 3; return 2; } }