aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/core/util/reflect
diff options
context:
space:
mode:
Diffstat (limited to 'src/Java/gtPlusPlus/core/util/reflect')
-rw-r--r--src/Java/gtPlusPlus/core/util/reflect/AddGregtechRecipe.java54
1 files changed, 53 insertions, 1 deletions
diff --git a/src/Java/gtPlusPlus/core/util/reflect/AddGregtechRecipe.java b/src/Java/gtPlusPlus/core/util/reflect/AddGregtechRecipe.java
index fcb8c42197..c56b9a09ef 100644
--- a/src/Java/gtPlusPlus/core/util/reflect/AddGregtechRecipe.java
+++ b/src/Java/gtPlusPlus/core/util/reflect/AddGregtechRecipe.java
@@ -7,13 +7,65 @@ import net.minecraft.item.ItemStack;
import gregtech.api.enums.GT_Values;
import gregtech.api.interfaces.internal.IGT_RecipeAdder;
-
+import gregtech.api.util.GT_Recipe;
+import gregtech.api.util.GT_Utility;
import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.recipe.common.CI;
import gtPlusPlus.core.util.minecraft.FluidUtils;
import gtPlusPlus.core.util.minecraft.ItemUtils;
import net.minecraftforge.fluids.FluidStack;
public final class AddGregtechRecipe {
+
+
+ public static boolean importPyroRecipe(GT_Recipe aRecipe) {
+
+ int aModifiedTime = (int) (aRecipe.mDuration * 0.8);
+
+ if (aRecipe.mInputs.length > 2 || aRecipe.mFluidInputs.length > 1 || aRecipe.mFluidOutputs.length > 1 || aRecipe.mOutputs.length > 1) {
+ return false;
+ }
+
+ int aCircuitNumber = -1;
+ int aItemSlot = -1;
+
+ int aSlot = 0;
+ for (ItemStack a : aRecipe.mInputs) {
+ if (a != null && a.getItem() != CI.getNumberedCircuit(1).getItem()) {
+ aItemSlot = aSlot;
+ }
+ else {
+ aSlot++;
+ }
+ }
+
+ for (int i=0;i<25;i++) {
+ ItemStack aTest = CI.getNumberedCircuit(i);
+ for (ItemStack a : aRecipe.mInputs) {
+ if (a != null && GT_Utility.areStacksEqual(a, aTest)) {
+ aCircuitNumber = i;
+ break;
+ }
+ }
+ }
+
+ if (aCircuitNumber < 0) {
+ return false;
+ }
+
+
+ return CORE.RA.addCokeOvenRecipe(
+ aRecipe.mInputs[aItemSlot],
+ ItemUtils.getGregtechCircuit(aCircuitNumber),
+ aRecipe.mFluidInputs[0],
+ aRecipe.mFluidOutputs[0],
+ aRecipe.mOutputs[0],
+ aModifiedTime,
+ aRecipe.mEUt);
+
+
+ }
+
public static boolean addCokeAndPyrolyseRecipes(
ItemStack input1, int circuitNumber,