package gtPlusPlus.xmod.gregtech.recipes;
import static gregtech.api.enums.GT_Values.RA;
import net.minecraft.item.ItemStack;
import net.minecraftforge.fluids.FluidStack;
import gregtech.api.enums.GT_Values;
import gregtech.api.enums.Materials;
import gregtech.api.recipe.RecipeMaps;
import gregtech.api.util.GT_ModHandler;
import gregtech.api.util.GT_OreDictUnificator;
import gregtech.api.util.GT_Recipe;
import gregtech.api.util.GT_Utility;
import gregtech.api.util.SemiFluidFuelHandler;
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.api.objects.data.AutoMap;
import gtPlusPlus.api.recipe.GTPPRecipeMaps;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.material.Material;
import gtPlusPlus.core.material.MaterialGenerator;
import gtPlusPlus.core.recipe.common.CI;
import gtPlusPlus.core.util.data.ArrayUtils;
import gtPlusPlus.core.util.minecraft.ItemUtils;
import gtPlusPlus.core.util.minecraft.MaterialUtils;
import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
import gtPlusPlus.xmod.gregtech.api.interfaces.internal.IGregtech_RecipeAdder;
import gtPlusPlus.xmod.gregtech.common.helpers.FlotationRecipeHandler;
public class GregtechRecipeAdder implements IGregtech_RecipeAdder {
@Override
public boolean addCokeOvenRecipe(final ItemStack aInput1, final ItemStack aInput2, final FluidStack aFluidInput,
final FluidStack aFluidOutput, final ItemStack aOutput, int aDuration, final int aEUt) {
if (aInput1 == null || (aOutput == null && aFluidOutput == null)) {
Logger.WARNING("Something was null, returning false");
return false;
}
if (aOutput != null && (aDuration <= 0)) {
Logger.WARNING("Something was null, returning false");
return false;
}
if (aFluidOutput != null && (aDuration <= 0)) {
Logger.WARNING("Something was null, returning false");
return false;
}
GT_Recipe aSpecialRecipe = new GT_Recipe(
true,
new ItemStack[] { aInput1, aInput2 },
new ItemStack[] { aOutput },
null,
new int[] {},
new FluidStack[] { aFluidInput },
new FluidStack[] { aFluidOutput },
aDuration,
Math.max(1, aEUt),
0);
GTPPRecipeMaps.cokeOvenRecipes.add(aSpecialRecipe);
return true;
}
@Override
public boolean addCokeOvenRecipe(int aCircuit, ItemStack aInput2, FluidStack[] aFluidInputs,
FluidStack[] aFluidOutputs, ItemStack[] aOutputs, int aDuration, int aEUt) {
return addCokeOvenRecipe(
aInput2,
CI.getNumberedCircuit(aCircuit),
aFluidInputs,
aFluidOutputs,
aOutputs,
aDuration,
aEUt);
}
@Override
public boolean addCokeOvenRecipe(ItemStack