diff options
author | Alkalus <3060479+draknyte1@users.noreply.github.com> | 2022-01-06 18:39:34 +0000 |
---|---|---|
committer | Alkalus <3060479+draknyte1@users.noreply.github.com> | 2022-01-06 18:39:34 +0000 |
commit | 8a2686340889660ec82cebcc659a10dce82ac339 (patch) | |
tree | 73d7052267b457082d8b56ec3775956e1e5efe6b /src/main/java/gtPlusPlus/xmod/gregtech/loaders | |
parent | 580024a4f982602974bfbeb639067e93ec41d2fa (diff) | |
download | GT5-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')
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"); |