From dc3df3edd5843bde0c1335d6a8e460b2c832aa48 Mon Sep 17 00:00:00 2001 From: Foghrye4 Date: Sat, 17 Jun 2017 08:12:18 +0300 Subject: full project files --- ihl/recipes/UniversalRecipeManager.java | 195 -------------------------------- 1 file changed, 195 deletions(-) delete mode 100644 ihl/recipes/UniversalRecipeManager.java (limited to 'ihl/recipes/UniversalRecipeManager.java') diff --git a/ihl/recipes/UniversalRecipeManager.java b/ihl/recipes/UniversalRecipeManager.java deleted file mode 100644 index cddc252..0000000 --- a/ihl/recipes/UniversalRecipeManager.java +++ /dev/null @@ -1,195 +0,0 @@ -package ihl.recipes; - -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.Map.Entry; - -import ic2.api.recipe.IRecipeInput; -import ihl.utils.IHLUtils; -import net.minecraft.item.ItemStack; -import net.minecraftforge.fluids.FluidStack; - -public class UniversalRecipeManager { - - public static Map machineRecipeManagers = new HashMap(); - public final String machine; - - public UniversalRecipeManager(String machine1) { - machine = machine1; - if (machineRecipeManagers.containsKey(machine1)) { - throw new IllegalArgumentException("Recipe manager for " + machine1 + " already exist!"); - } - machineRecipeManagers.put(machine1, this); - } - - private final Map recipes = new HashMap(); - private final Map keywordMap = new HashMap(); - - public void addRecipe(UniversalRecipeInput input, UniversalRecipeOutput output) { - if (input == null) { - throw new NullPointerException("The recipe input is null"); - } else { - if (output.getFluidOutputs() == null || output.getItemOutputs() == null - || (output.getFluidOutputs().size() == 0 && output.getItemOutputs().size() == 0)) { - throw new NullPointerException("The output is empty"); - } - } - - Iterator var8 = this.recipes.keySet().iterator(); - - while (var8.hasNext()) { - UniversalRecipeInput existingInput = (UniversalRecipeInput) var8.next(); - if (existingInput.matches(input)) { - StringBuffer ssError = new StringBuffer(255); - ssError.append("Ambiguous recipe. \n"); - ssError.append("Existing input: \n"); - Iterator iii1 = existingInput.getItemInputs().iterator(); - Iterator fii1 = existingInput.getFluidInputs().iterator(); - while (iii1 != null && iii1.hasNext()) { - ssError.append(iii1.next().toString()); - ssError.append(" \n"); - } - while (fii1 != null && fii1.hasNext()) { - ssError.append(fii1.next().toString()); - ssError.append(" \n"); - } - ssError.append("New input: \n"); - Iterator iii2 = input.getItemInputs().iterator(); - Iterator fii2 = input.getFluidInputs().iterator(); - while (iii2 != null && iii2.hasNext()) { - ssError.append(iii2.next().toString()); - ssError.append(" \n"); - } - while (fii2 != null && fii2.hasNext()) { - ssError.append(fii2.next().toString()); - ssError.append(" \n"); - } - throw new RuntimeException(ssError.toString()); - } - } - - this.recipes.put(input, output); - } - - public void addRecipe(String keyword, UniversalRecipeInput input, UniversalRecipeOutput output) { - this.addRecipe(input, output); - this.keywordMap.put(keyword, input); - } - - public UniversalRecipeOutput getOutputFor(List fluidInputs, List itemInputs) { - if (fluidInputs == null && itemInputs == null) { - return null; - } else { - Iterator> i$ = this.recipes.entrySet().iterator(); - - while (true) { - if (i$.hasNext()) { - Entry entry = i$.next(); - UniversalRecipeInput recipeInput = entry.getKey(); - - if (!recipeInput.matches(fluidInputs, itemInputs)) { - continue; - } - - if (recipeInput.matches(fluidInputs, itemInputs, true)) { - return entry.getValue(); - } - } - - return null; - } - } - } - - public Map getRecipes() { - return this.recipes; - } - - public UniversalRecipeInput getRecipeInput(List fluidInputs1, List itemInputs1) { - { - Iterator> i$ = this.recipes.entrySet().iterator(); - - while (true) { - if (i$.hasNext()) { - Entry entry = i$.next(); - UniversalRecipeInput recipeInput = entry.getKey(); - - if (!recipeInput.matches(fluidInputs1, itemInputs1)) { - continue; - } - - if (recipeInput.matches(fluidInputs1, itemInputs1, true)) { - return recipeInput; - } - } - - return null; - } - } - } - - @SuppressWarnings({ "unchecked", "rawtypes" }) - public UniversalRecipeOutput getOutputFor(List[] input) { - return this.getOutputFor(input[0], input[1]); - } - - @SuppressWarnings({ "unchecked", "rawtypes" }) - public UniversalRecipeInput getRecipeInput(List[] input) { - return this.getRecipeInput(input[0], input[1]); - } - - public void removeRecipeByInput(UniversalRecipeInput uRecipeInput) { - List fluidInputs = IHLUtils.convertRecipeInputToFluidStackList(uRecipeInput.getFluidInputs()); - List itemInputs = IHLUtils.convertRecipeInputToItemStackList(uRecipeInput.getItemInputs()); - { - Iterator> i$ = this.recipes.entrySet().iterator(); - while (i$.hasNext()) { - Entry entry = i$.next(); - UniversalRecipeInput recipeInput = entry.getKey(); - if (recipeInput.matches(fluidInputs, itemInputs)) { - i$.remove(); - break; - } - } - } - } - - public void removeRecipeByOutput(UniversalRecipeOutput uRecipeOutput) { - Iterator> i$ = this.recipes.entrySet().iterator(); - while (i$.hasNext()) { - Entry entry = i$.next(); - UniversalRecipeOutput recipeOutput = entry.getValue(); - if (recipeOutputHasCommonEntries(recipeOutput, uRecipeOutput)) { - i$.remove(); - } - } - } - - public boolean recipeOutputHasCommonEntries(UniversalRecipeOutput out, UniversalRecipeOutput out1) { - List fluidOutputs = out.getFluidOutputs(); - List itemOutputs = out.getItemOutputs(); - if (!fluidOutputs.isEmpty() && !out1.getFluidOutputs().isEmpty()) { - FluidStack fs1 = out1.getFluidOutputs().get(0); - Iterator fi = fluidOutputs.iterator(); - while (fi.hasNext()) { - FluidStack fs = fi.next(); - if (fs.getFluid() == fs1.getFluid()) { - return true; - } - } - } - if (!itemOutputs.isEmpty() && !out1.getItemOutputs().isEmpty()) { - RecipeOutputItemStack is1 = out1.getItemOutputs().get(0); - Iterator ii = itemOutputs.iterator(); - while (ii.hasNext()) { - RecipeOutputItemStack is = ii.next(); - if (is.matches(is1)) { - return true; - } - } - } - return false; - } -} -- cgit v1.2.3