aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorbartimaeusnek <33183715+bartimaeusnek@users.noreply.github.com>2018-10-06 05:28:23 +0200
committerbartimaeusnek <33183715+bartimaeusnek@users.noreply.github.com>2018-10-06 05:28:23 +0200
commit941d6feddb066547d3b6704b29dff8962fd45a22 (patch)
tree0c68a20bae9cdaab7cbc7bcbfc9796f8ac0ab991 /src
parente10456295def2ea5bacede8ab954524aa03165a4 (diff)
downloadGT5-Unofficial-941d6feddb066547d3b6704b29dff8962fd45a22.tar.gz
GT5-Unofficial-941d6feddb066547d3b6704b29dff8962fd45a22.tar.bz2
GT5-Unofficial-941d6feddb066547d3b6704b29dff8962fd45a22.zip
OreDictDuctTape
Diffstat (limited to 'src')
-rw-r--r--src/main/java/gregtech/common/GT_RecipeAdder.java98
1 files changed, 92 insertions, 6 deletions
diff --git a/src/main/java/gregtech/common/GT_RecipeAdder.java b/src/main/java/gregtech/common/GT_RecipeAdder.java
index 730bd473d4..0b77b3e377 100644
--- a/src/main/java/gregtech/common/GT_RecipeAdder.java
+++ b/src/main/java/gregtech/common/GT_RecipeAdder.java
@@ -365,7 +365,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
}
public boolean addAssemblerRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aOutput1, int aDuration, int aEUt) {
- if ((aInput1 == null) || (aOutput1 == null)) {
+ /*if ((aInput1 == null) || (aOutput1 == null)) {
return false;
}
if ((aDuration = GregTech_API.sRecipeFile.get("assembling", aOutput1, aDuration)) <= 0) {
@@ -373,6 +373,8 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
}
GT_Recipe.GT_Recipe_Map.sAssemblerRecipes.addRecipe(true, new ItemStack[]{aInput1, aInput2 == null ? aInput1 : aInput2}, new ItemStack[]{aOutput1}, null, null, null, aDuration, aEUt, 0);
return true;
+ */
+ return addAssemblerRecipe(new ItemStack[]{aInput1, aInput2 == null ? aInput1 : aInput2}, null,aOutput1, aDuration, aEUt, false);
}
public boolean addAssemblerRecipe(ItemStack aInput1, ItemStack aInput2, FluidStack aFluidInput, ItemStack aOutput1, int aDuration, int aEUt) {
@@ -380,7 +382,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
}
public boolean addAssemblerRecipe(ItemStack[] aInputs, FluidStack aFluidInput, ItemStack aOutput1, int aDuration, int aEUt) {
- if (areItemsAndFluidsBothNull(aInputs, new FluidStack[]{aFluidInput})) {
+ /*if (areItemsAndFluidsBothNull(aInputs, new FluidStack[]{aFluidInput})) {
return false;
}
if (aOutput1 == null) {
@@ -390,26 +392,110 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
return false;
}
GT_Recipe.GT_Recipe_Map.sAssemblerRecipes.addRecipe(true, aInputs, new ItemStack[]{aOutput1}, null, new FluidStack[]{aFluidInput}, null, aDuration, aEUt, 0);
- return true;
+ */
+ return addAssemblerRecipe(aInputs, aFluidInput, aOutput1, aDuration, aEUt, false);
}
public boolean addAssemblerRecipe(ItemStack aInput1, ItemStack aInput2, FluidStack aFluidInput, ItemStack aOutput1, int aDuration, int aEUt, boolean aCleanroom) {
- if(aInput2==null) return addAssemblerRecipe(new ItemStack[]{aInput1},aFluidInput,aOutput1,aDuration,aEUt,aCleanroom);
+ if(aInput2==null)
+ return addAssemblerRecipe(new ItemStack[]{aInput1},aFluidInput,aOutput1,aDuration,aEUt,aCleanroom);
return addAssemblerRecipe(new ItemStack[]{aInput1,aInput2},aFluidInput,aOutput1,aDuration,aEUt,aCleanroom);
}
public boolean addAssemblerRecipe(ItemStack[] aInputs, FluidStack aFluidInput, ItemStack aOutput1, int aDuration, int aEUt, boolean aCleanroom) {
+
if (areItemsAndFluidsBothNull(aInputs, new FluidStack[]{aFluidInput})) {
return false;
}
+
if ((aDuration = GregTech_API.sRecipeFile.get("assembling", aOutput1, aDuration)) <= 0) {
return false;
}
+
if (!GT_Mod.gregtechproxy.mEnableCleanroom){
aCleanroom = false;
}
- GT_Recipe.GT_Recipe_Map.sAssemblerRecipes.addRecipe(true, aInputs, new ItemStack[]{aOutput1}, null, new FluidStack[]{aFluidInput}, null, aDuration, aEUt, aCleanroom ? -200 : 0);
- return true;
+
+ if (aOutput1 == null) {
+ return false;
+ }
+
+ boolean ret = false;
+
+ for (int i = 0; i < aInputs.length; ++i) {
+ if (GT_Utility.areStacksEqual(aInputs[i], GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Good, 1L))) {
+ for (ItemStack tStack : GT_OreDictUnificator.getOres("circuitGood")) {
+ if (!GT_Utility.isStackValid(tStack))
+ continue;
+ aInputs[i] = tStack;
+ GT_Recipe.GT_Recipe_Map.sAssemblerRecipes.addRecipe(true, aInputs, new ItemStack[]{aOutput1}, null, new FluidStack[]{aFluidInput}, null, aDuration, aEUt, aCleanroom ? -200 : 0);
+ ret = true;
+ }
+ } else if (GT_Utility.areStacksEqual(aInputs[i], GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Data, 1L))) {
+ for (ItemStack tStack : GT_OreDictUnificator.getOres("circuitData")) {
+ if (!GT_Utility.isStackValid(tStack))
+ continue;
+ aInputs[i] = tStack;
+ GT_Recipe.GT_Recipe_Map.sAssemblerRecipes.addRecipe(true, aInputs, new ItemStack[]{aOutput1}, null, new FluidStack[]{aFluidInput}, null, aDuration, aEUt, aCleanroom ? -200 : 0);
+ ret = true;
+ }
+ } else if (GT_Utility.areStacksEqual(aInputs[i], GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Elite, 1L))) {
+ for (ItemStack tStack : GT_OreDictUnificator.getOres("circuitElite")) {
+ if (!GT_Utility.isStackValid(tStack))
+ continue;
+ aInputs[i] = tStack;
+ GT_Recipe.GT_Recipe_Map.sAssemblerRecipes.addRecipe(true, aInputs, new ItemStack[]{aOutput1}, null, new FluidStack[]{aFluidInput}, null, aDuration, aEUt, aCleanroom ? -200 : 0);
+ ret = true;
+ }
+ } else if (GT_Utility.areStacksEqual(aInputs[i], GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Master, 1L))) {
+ for (ItemStack tStack : GT_OreDictUnificator.getOres("circuitMaster")) {
+ if (!GT_Utility.isStackValid(tStack))
+ continue;
+ aInputs[i] = tStack;
+ GT_Recipe.GT_Recipe_Map.sAssemblerRecipes.addRecipe(true, aInputs, new ItemStack[]{aOutput1}, null, new FluidStack[]{aFluidInput}, null, aDuration, aEUt, aCleanroom ? -200 : 0);
+ ret = true;
+ }
+ } else if (GT_Utility.areStacksEqual(aInputs[i], GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Ultimate, 1L))) {
+ for (ItemStack tStack : GT_OreDictUnificator.getOres("circuitUltimate")) {
+ if (!GT_Utility.isStackValid(tStack))
+ continue;
+ aInputs[i] = tStack;
+ GT_Recipe.GT_Recipe_Map.sAssemblerRecipes.addRecipe(true, aInputs, new ItemStack[]{aOutput1}, null, new FluidStack[]{aFluidInput}, null, aDuration, aEUt, aCleanroom ? -200 : 0);
+ ret = true;
+ }
+ } else if (GT_Utility.areStacksEqual(aInputs[i], GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Superconductor, 1L))) {
+ for (ItemStack tStack : GT_OreDictUnificator.getOres("circuitSuperconductor")) {
+ if (!GT_Utility.isStackValid(tStack))
+ continue;
+ aInputs[i] = tStack;
+ GT_Recipe.GT_Recipe_Map.sAssemblerRecipes.addRecipe(true, aInputs, new ItemStack[]{aOutput1}, null, new FluidStack[]{aFluidInput}, null, aDuration, aEUt, aCleanroom ? -200 : 0);
+ ret = true;
+ }
+ } else if (GT_Utility.areStacksEqual(aInputs[i], GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Infinite, 1L))) {
+ for (ItemStack tStack : GT_OreDictUnificator.getOres("circuitInfinite")) {
+ if (!GT_Utility.isStackValid(tStack))
+ continue;
+ aInputs[i] = tStack;
+ GT_Recipe.GT_Recipe_Map.sAssemblerRecipes.addRecipe(true, aInputs, new ItemStack[]{aOutput1}, null, new FluidStack[]{aFluidInput}, null, aDuration, aEUt, aCleanroom ? -200 : 0);
+ ret = true;
+ }
+ } else if (GT_Utility.areStacksEqual(aInputs[i], GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Bio, 1L))) {
+ for (ItemStack tStack : GT_OreDictUnificator.getOres("circuitBio")) {
+ if (!GT_Utility.isStackValid(tStack))
+ continue;
+ aInputs[i] = tStack;
+ GT_Recipe.GT_Recipe_Map.sAssemblerRecipes.addRecipe(true, aInputs, new ItemStack[]{aOutput1}, null, new FluidStack[]{aFluidInput}, null, aDuration, aEUt, aCleanroom ? -200 : 0);
+ ret = true;
+ }
+ }
+ }
+
+ if (!ret) {
+ GT_Recipe.GT_Recipe_Map.sAssemblerRecipes.addRecipe(true, aInputs, new ItemStack[]{aOutput1}, null, new FluidStack[]{aFluidInput}, null, aDuration, aEUt, aCleanroom ? -200 : 0);
+ ret = true;
+ }
+
+ return ret;
}
public boolean addWiremillRecipe(ItemStack aInput, ItemStack aOutput, int aDuration, int aEUt) {