/******************************************************************************* * AbyssalCraft * Copyright (c) 2012 - 2017 Shinoow. * All rights reserved. This program and the accompanying materials * are made available under the terms of the GNU Lesser Public License v3 * which accompanies this distribution, and is available at * http://www.gnu.org/licenses/lgpl-3.0.txt * * Contributors: * Shinoow - implementation ******************************************************************************/ package com.shinoow.abyssalcraft.integration.jei.transmutator; import java.util.ArrayList; import java.util.List; import java.util.Map; import javax.annotation.Nonnull; import mezz.jei.api.IJeiHelpers; import mezz.jei.api.recipe.IStackHelper; import net.minecraft.item.ItemStack; import com.shinoow.abyssalcraft.api.recipe.TransmutatorRecipes; public class TransmutationRecipeMaker { @Nonnull public static List<TransmutationRecipe> getTransmutatorRecipes(IJeiHelpers helpers) { IStackHelper stackHelper = helpers.getStackHelper(); TransmutatorRecipes transmutatorRecipes = TransmutatorRecipes.instance(); Map<ItemStack, ItemStack> transmutationMap = getTransmutationMap(transmutatorRecipes); List<TransmutationRecipe> recipes = new ArrayList<>(); for (Map.Entry<ItemStack, ItemStack> itemStackItemStackEntry : transmutationMap.entrySet()) { ItemStack input = itemStackItemStackEntry.getKey(); ItemStack output = itemStackItemStackEntry.getValue(); float experience = transmutatorRecipes.getExperience(output); List<ItemStack> inputs = stackHelper.getSubtypes(input); TransmutationRecipe recipe = new TransmutationRecipe(inputs, output, experience); recipes.add(recipe); } return recipes; } @SuppressWarnings("unchecked") private static Map<ItemStack, ItemStack> getTransmutationMap(@Nonnull TransmutatorRecipes transmutatorRecipes) { return transmutatorRecipes.getTransmutationList(); } }