aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gtPlusPlus/xmod/gregtech/loaders
diff options
context:
space:
mode:
authorAlkalus <3060479+draknyte1@users.noreply.github.com>2022-01-06 18:39:34 +0000
committerAlkalus <3060479+draknyte1@users.noreply.github.com>2022-01-06 18:39:34 +0000
commit8a2686340889660ec82cebcc659a10dce82ac339 (patch)
tree73d7052267b457082d8b56ec3775956e1e5efe6b /src/main/java/gtPlusPlus/xmod/gregtech/loaders
parent580024a4f982602974bfbeb639067e93ec41d2fa (diff)
downloadGT5-Unofficial-8a2686340889660ec82cebcc659a10dce82ac339.tar.gz
GT5-Unofficial-8a2686340889660ec82cebcc659a10dce82ac339.tar.bz2
GT5-Unofficial-8a2686340889660ec82cebcc659a10dce82ac339.zip
Fix Auto-Generated ABS recipes sometimes containing two circuits.
Fix Fluid Extraction recipes for Ingots/Nuggets being generated wrong. Greatly improve generation of Fluid Extraction recipes. Removed useless Fluid Extractor code which is no longer used. Initial work on the Elemental Duplicator.
Diffstat (limited to 'src/main/java/gtPlusPlus/xmod/gregtech/loaders')
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelter.java8
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelterGT_GTNH.java15
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_FluidCanning.java6
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Fluids.java79
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Recycling.java11
5 files changed, 29 insertions, 90 deletions
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelter.java b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelter.java
index 9e58d486d3..f5abad2373 100644
--- a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelter.java
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelter.java
@@ -134,12 +134,12 @@ public class RecipeGen_BlastSmelter extends RecipeGen_Base {
if (CORE.RA.addBlastSmelterRecipe(tItemStackTest, M.getFluidStack(fluidAmount), 100, (duration/(mTotalPartsCounter > 0 ? mTotalPartsCounter : 1)), (int) aVoltage)){
Logger.WARNING("[BAS] Success.");
Logger.WARNING("[BAS] Success, Also added a Fluid solidifier recipe.");
- if (GT_Values.RA.addFluidExtractionRecipe(M.getIngot(1), null, M.getFluidStack(144), 100, duration, 120)){
+ /*if (GT_Values.RA.addFluidExtractionRecipe(M.getIngot(1), null, M.getFluidStack(144), 100, duration, 120)){
Logger.WARNING("[BAS] Success, Also added a Fluid Extractor recipe.");
}
if (GT_Values.RA.addFluidExtractionRecipe(M.getNugget(1), null, M.getFluidStack(16), 100, duration/9, 120)){
Logger.WARNING("[BAS] Success, Also added a Fluid Extractor recipe.");
- }
+ }*/
/*if (GT_Values.RA.addFluidExtractionRecipe(M.getSmallDust(1), null, M.getFluid(36), 100, duration/4, 120)){
Logger.WARNING("[BAS] Success, Also added a Fluid Extractor recipe.");
}
@@ -157,12 +157,12 @@ public class RecipeGen_BlastSmelter extends RecipeGen_Base {
Logger.WARNING("[BAS] Success.");
if (GT_Values.RA.addFluidSolidifierRecipe(ItemList.Shape_Mold_Ingot.get(0), M.getFluidStack(144), M.getIngot(1), duration/2, 60)){
Logger.WARNING("[BAS] Success, Also added a Fluid solidifier recipe.");
- if (GT_Values.RA.addFluidExtractionRecipe(M.getIngot(1), null, M.getFluidStack(144), 100, duration/2, 60)){
+ /*if (GT_Values.RA.addFluidExtractionRecipe(M.getIngot(1), null, M.getFluidStack(144), 100, duration/2, 60)){
Logger.WARNING("[BAS] Success, Also added a Fluid Extractor recipe.");
}
if (GT_Values.RA.addFluidExtractionRecipe(M.getNugget(1), null, M.getFluidStack(16), 100, duration/2/9, 60)){
Logger.WARNING("[BAS] Success, Also added a Fluid Extractor recipe.");
- }
+ }*/
/*if (GT_Values.RA.addFluidExtractionRecipe(M.getSmallDust(1), null, M.getFluid(36), 100, duration/2/4, 60)){
Logger.WARNING("[BAS] Success, Also added a Fluid Extractor recipe.");
}
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelterGT_GTNH.java b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelterGT_GTNH.java
index 63c2d18783..3e54a7fe5d 100644
--- a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelterGT_GTNH.java
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelterGT_GTNH.java
@@ -8,10 +8,12 @@ import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.recipe.common.CI;
import gtPlusPlus.core.util.math.MathUtils;
import gtPlusPlus.core.util.minecraft.FluidUtils;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
import net.minecraft.item.ItemStack;
import net.minecraftforge.fluids.FluidStack;
import net.minecraftforge.oredict.OreDictionary;
+import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
@@ -124,9 +126,9 @@ public class RecipeGen_BlastSmelterGT_GTNH {
FluidStack[] inputsF;
int voltage, time, special;
boolean enabled;
- inputs = x.mInputs;
- outputs = x.mOutputs;
- inputsF = x.mFluidInputs;
+ inputs = x.mInputs.clone();
+ outputs = x.mOutputs.clone();
+ inputsF = x.mFluidInputs.clone();
voltage = x.mEUt;
time = x.mDuration;
enabled = x.mEnabled;
@@ -157,6 +159,13 @@ public class RecipeGen_BlastSmelterGT_GTNH {
//If this recipe is enabled and we have a valid molten fluidstack, let's try add this recipe.
if (enabled && isValid(inputs, outputs, inputsF, mMoltenStack)) {
//Build correct input stack
+ ArrayList<ItemStack> aTempList = new ArrayList<ItemStack>();
+ for (ItemStack aPossibleCircuit : inputs) {
+ if (!ItemUtils.isControlCircuit(aPossibleCircuit)) {
+ aTempList.add(aPossibleCircuit);
+ }
+ }
+ inputs = aTempList.toArray(new ItemStack[aTempList.size()]);
ItemStack[] newInput = new ItemStack[inputs.length+1];
int l = 1;
for (ItemStack y : inputs) {
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_FluidCanning.java b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_FluidCanning.java
index 9fe86985f4..488af954d6 100644
--- a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_FluidCanning.java
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_FluidCanning.java
@@ -177,6 +177,8 @@ public class RecipeGen_FluidCanning implements Runnable {
private final boolean addFluidExtractionRecipe(GT_Recipe aRecipe) {
boolean result = false;
+ CORE.crash();
+ Logger.INFO("[FE-Debug] "+aRecipe.mFluidOutputs[0].amount+"L of "+aRecipe.mFluidOutputs[0].getLocalizedName()+" fluid extractor from 1 " + aRecipe.mInputs[0].getDisplayName() + " - Success. Time: "+aRecipe.mDuration+", Voltage: "+aRecipe.mEUt);
int aCount1 = GT_Recipe_Map.sFluidExtractionRecipes.mRecipeList.size();
int aCount2 = aCount1;
GT_Recipe_Map.sFluidExtractionRecipes.addRecipe(aRecipe);
@@ -187,7 +189,7 @@ public class RecipeGen_FluidCanning implements Runnable {
}
else {
Logger.INFO("[ERROR] Failed adding Extraction recipe for "+ItemUtils.getArrayStackNames(aRecipe.mInputs)+", "+ItemUtils.getArrayStackNames(aRecipe.mOutputs)+", "+ItemUtils.getArrayStackNames(aRecipe.mFluidInputs)+", "+ItemUtils.getArrayStackNames(aRecipe.mFluidOutputs));
- //dumpStack();
+ dumpStack();
}
return result;
}
@@ -204,7 +206,7 @@ public class RecipeGen_FluidCanning implements Runnable {
}
else {
Logger.INFO("[ERROR] Failed adding Canning recipe for "+ItemUtils.getArrayStackNames(aRecipe.mInputs)+", "+ItemUtils.getArrayStackNames(aRecipe.mOutputs)+", "+ItemUtils.getArrayStackNames(aRecipe.mFluidInputs)+", "+ItemUtils.getArrayStackNames(aRecipe.mFluidOutputs));
- //dumpStack();
+ dumpStack();
}
return result;
}
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Fluids.java b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Fluids.java
index e87fc08c90..ec71cb6b57 100644
--- a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Fluids.java
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Fluids.java
@@ -44,85 +44,6 @@ public class RecipeGen_Fluids extends RecipeGen_Base {
if (material.getFluidStack(1) != null
&& !material.getFluidStack(1).getUnlocalizedName().toLowerCase().contains("plasma")) {
- if (!material.requiresBlastFurnace()) {
-
- // Ingot
- if (ItemUtils.checkForInvalidItems(material.getIngot(1)))
- if (CORE.RA.addFluidExtractionRecipe(
- material.getIngot(1), // Input
- material.getFluidStack(144), // Fluid Output
- 1 * 20, // Duration
- material.vVoltageMultiplier // Eu Tick
- )) {
- Logger.WARNING("144l fluid extractor from 1 ingot Recipe: " + material.getLocalizedName()
- + " - Success");
- } else {
- Logger.WARNING("144l fluid extractor from 1 ingot Recipe: " + material.getLocalizedName()
- + " - Failed");
- }
-
- // Plate
- if (ItemUtils.checkForInvalidItems(material.getPlate(1)))
- if (CORE.RA.addFluidExtractionRecipe(
- material.getPlate(1), // Input
- material.getFluidStack(144), // Fluid Output
- 1 * 20, // Duration
- material.vVoltageMultiplier // Eu Tick
- )) {
- Logger.WARNING("144l fluid extractor from 1 plate Recipe: " + material.getLocalizedName()
- + " - Success");
- } else {
- Logger.WARNING("144l fluid extractor from 1 plate Recipe: " + material.getLocalizedName()
- + " - Failed");
- }
-
- // Double Plate
- if (ItemUtils.checkForInvalidItems(material.getPlateDouble(1)))
- if (CORE.RA.addFluidExtractionRecipe(
- material.getPlateDouble(1), // Input
- material.getFluidStack(288), // Fluid Output
- 1 * 20, // Duration
- material.vVoltageMultiplier // Eu Tick
- )) {
- Logger.WARNING("144l fluid extractor from 1 double plate Recipe: " + material.getLocalizedName()
- + " - Success");
- } else {
- Logger.WARNING("144l fluid extractor from 1 double plate Recipe: " + material.getLocalizedName()
- + " - Failed");
- }
-
- // Nugget
- if (ItemUtils.checkForInvalidItems(material.getNugget(1)))
- if (CORE.RA.addFluidExtractionRecipe(
- material.getNugget(1), // Input
- material.getFluidStack(16), // Fluid Output
- 16, // Duration
- material.vVoltageMultiplier // Eu Tick
- )) {
- Logger.WARNING("16l fluid extractor from 1 nugget Recipe: " + material.getLocalizedName()
- + " - Success");
- } else {
- Logger.WARNING("16l fluid extractor from 1 nugget Recipe: " + material.getLocalizedName()
- + " - Failed");
- }
-
- // Block
- if (ItemUtils.checkForInvalidItems(material.getBlock(1)))
- if (CORE.RA.addFluidExtractionRecipe(
- material.getBlock(1), // Input
- material.getFluidStack(144 * 9), // Fluid Output
- 288, // Duration
- material.vVoltageMultiplier // Eu Tick
- )) {
- Logger.WARNING((144 * 9) + "l fluid extractor from 1 block Recipe: "
- + material.getLocalizedName() + " - Success");
- } else {
- Logger.WARNING((144 * 9) + "l fluid extractor from 1 block Recipe: "
- + material.getLocalizedName() + " - Failed");
- }
-
- }
-
// Making Shapes from fluid
// Ingot
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Recycling.java b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Recycling.java
index acb7e5fe02..614734e78d 100644
--- a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Recycling.java
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Recycling.java
@@ -1,6 +1,8 @@
package gtPlusPlus.xmod.gregtech.loaders;
+import static gregtech.api.enums.GT_Values.L;
import static gregtech.api.enums.GT_Values.M;
+import static gregtech.api.enums.GT_Values.RA;
import java.util.ArrayList;
import java.util.Map;
@@ -9,6 +11,7 @@ import org.apache.commons.lang3.reflect.FieldUtils;
import gregtech.api.enums.Materials;
import gregtech.api.enums.OrePrefixes;
+import gregtech.api.enums.SubTag;
import gregtech.api.util.GT_ModHandler;
import gregtech.api.util.GT_OreDictUnificator;
import gregtech.api.util.GT_Utility;
@@ -137,9 +140,13 @@ public class RecipeGen_Recycling implements Runnable {
//Fluid Extractor
if (ItemUtils.checkForInvalidItems(tempStack)) {
// mValidItems[mSlotIndex++] = tempStack;
- if ((mDust != null) && CORE.RA.addFluidExtractionRecipe(tempStack, material.getFluidStack(mFluidAmount), 30, material.vVoltageMultiplier)) {
+
+ int aFluidAmount = (int) ((L * validPrefix.getKey().mMaterialAmount) / (M * tempStack.stackSize));
+ int aDuration = (int) Math.max(1, (24 * validPrefix.getKey().mMaterialAmount) / M);
+ boolean aGenFluidExtraction = CORE.RA.addFluidExtractionRecipe(tempStack, material.getFluidStack(aFluidAmount), aDuration, material.vVoltageMultiplier);
+ if (aGenFluidExtraction/*(mDust != null) && CORE.RA.addFluidExtractionRecipe(tempStack, material.getFluidStack(mFluidAmount), 30, material.vVoltageMultiplier)*/) {
Logger.WARNING("Fluid Recycle Recipe: " + material.getLocalizedName() + " - Success - Recycle "
- + tempStack.getDisplayName() + " and obtain " + mFluidAmount+"mb of "+material.getFluidStack(1).getLocalizedName()+".");
+ + tempStack.getDisplayName() + " and obtain " + aFluidAmount+"mb of "+material.getFluidStack(1).getLocalizedName()+". Time: "+aDuration+", Voltage: "+material.vVoltageMultiplier);
}
else {
Logger.WARNING("Fluid Recycle Recipe: " + material.getLocalizedName() + " - Failed");