package blusunrize.immersiveengineering.common.util.compat.jei; import blusunrize.immersiveengineering.api.crafting.MultiblockRecipe; import mezz.jei.api.ingredients.IIngredients; import mezz.jei.api.recipe.BlankRecipeWrapper; import net.minecraft.item.ItemStack; import net.minecraftforge.fluids.FluidStack; import java.util.List; public class MultiblockRecipeWrapper extends BlankRecipeWrapper { public List<ItemStack>[] recipeInputs; protected List<ItemStack> inputs; public List<ItemStack>[] recipeOutputs; protected List<ItemStack> outputs; protected List<FluidStack> fluidInputs; protected List<FluidStack> fluidOutputs; public MultiblockRecipeWrapper(MultiblockRecipe recipe) { recipe.setupJEI(); this.inputs = recipe.getJEITotalItemInputs(); this.recipeInputs = recipe.jeiItemInputList; this.outputs = recipe.getJEITotalItemOutputs(); this.recipeOutputs = recipe.jeiItemOutputList; this.fluidInputs = recipe.getJEITotalFluidInputs(); this.fluidOutputs = recipe.getJEITotalFluidOutputs(); } @Override public void getIngredients(IIngredients ingredients) { if(!inputs.isEmpty()) ingredients.setInputs(ItemStack.class, inputs); if(!outputs.isEmpty()) ingredients.setOutputs(ItemStack.class, outputs); if(!fluidInputs.isEmpty()) ingredients.setInputs(FluidStack.class, fluidInputs); if(!fluidOutputs.isEmpty()) ingredients.setOutputs(FluidStack.class, fluidOutputs); } public List<ItemStack> getItemIn() { return inputs; } public List<ItemStack> getItemOut() { return outputs; } public List<FluidStack> getFluidIn() { return fluidInputs; } public List<FluidStack> getFluidOut() { return fluidOutputs; } }