aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/xmod/gregtech/loaders
diff options
context:
space:
mode:
authorAlkalus <3060479+draknyte1@users.noreply.github.com>2019-10-11 18:14:07 +0100
committerAlkalus <3060479+draknyte1@users.noreply.github.com>2019-10-11 18:14:07 +0100
commit4a2fa070a2ae91173cf15785c63b4090016323d4 (patch)
tree7a07b317b7b66778869f321da82f95dfee70107f /src/Java/gtPlusPlus/xmod/gregtech/loaders
parent8ca23d37495647bda859bc1821c2551cf8b21bf3 (diff)
downloadGT5-Unofficial-4a2fa070a2ae91173cf15785c63b4090016323d4.tar.gz
GT5-Unofficial-4a2fa070a2ae91173cf15785c63b4090016323d4.tar.bz2
GT5-Unofficial-4a2fa070a2ae91173cf15785c63b4090016323d4.zip
$ Fixed many tiny bugs, found by static code analysis.
$ Fixed Canning handling further. $ Adjusted the Charcoal Pit fix.
Diffstat (limited to 'src/Java/gtPlusPlus/xmod/gregtech/loaders')
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_DustGeneration.java2
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_FluidCanning.java109
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Fluids.java5
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Ore.java5
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Recycling.java10
5 files changed, 59 insertions, 72 deletions
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_DustGeneration.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_DustGeneration.java
index d8a5617b2e..d4a25e03dd 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_DustGeneration.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_DustGeneration.java
@@ -266,7 +266,7 @@ public class RecipeGen_DustGeneration extends RecipeGen_Base {
//Get us four ItemStacks to input into the mixer
ItemStack input1, input2, input3, input4;
- input1 = (inputStacks.length >= 1) ? (input1 = (inputStacks[0] == null) ? null : inputStacks[0]) : null;
+ input1 = inputStacks[0];
input2 = (inputStacks.length >= 2) ? (input2 = (inputStacks[1] == null) ? null : inputStacks[1]) : null;
input3 = (inputStacks.length >= 3) ? (input3 = (inputStacks[2] == null) ? null : inputStacks[2]) : null;
input4 = (inputStacks.length >= 4) ? (input4 = (inputStacks[3] == null) ? null : inputStacks[3]) : null;
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_FluidCanning.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_FluidCanning.java
index 0a20d9357c..ce4a6c629a 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_FluidCanning.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_FluidCanning.java
@@ -3,6 +3,7 @@ package gtPlusPlus.xmod.gregtech.loaders;
import java.util.HashSet;
import java.util.Set;
+import gregtech.api.GregTech_API;
import gregtech.api.enums.GT_Values;
import gregtech.api.enums.Materials;
import gregtech.api.util.GT_Recipe;
@@ -26,8 +27,23 @@ public class RecipeGen_FluidCanning extends RecipeGen_Base {
private final GT_Recipe recipe;
private final boolean isValid;
- // Alternative Constructor
+ public boolean valid() {
+ return isValid;
+ }
+ public RecipeGen_FluidCanning(boolean aExtracting, ItemStack aEmpty, ItemStack aFull, FluidStack aFluid) {
+ this(aExtracting, aEmpty, aFull, aFluid, null, null, null);
+ }
+
+ public RecipeGen_FluidCanning(boolean aExtracting, ItemStack aEmpty, ItemStack aFull, FluidStack aFluidIn, FluidStack aFluidOut) {
+ this(aExtracting, aEmpty, aFull, aFluidIn, aFluidOut, null, null);
+ }
+
public RecipeGen_FluidCanning(boolean aExtracting, ItemStack aEmpty, ItemStack aFull, FluidStack aFluid, Integer aDuration, Integer aEUt) {
+ this(aExtracting, aEmpty, aFull, aFluid, null, aDuration, aEUt);
+ }
+
+ // Alternative Constructor
+ public RecipeGen_FluidCanning(boolean aExtracting, ItemStack aEmpty, ItemStack aFull, FluidStack aFluidIn, FluidStack aFluidOut, Integer aDuration, Integer aEUt) {
ItemStack aInput;
ItemStack aOutput;
FluidStack aFluidInput;
@@ -35,7 +51,7 @@ public class RecipeGen_FluidCanning extends RecipeGen_Base {
// Safety check on the duration
if (aDuration == null || aDuration <= 0) {
- aDuration = (aFluid != null) ? (aFluid.amount / 62) : (1000 / 62);
+ aDuration = (aFluidIn != null) ? (aFluidIn.amount / 62) : ((aFluidOut != null) ? (aFluidOut.amount / 62) : 10);
}
// Safety check on the EU
@@ -53,13 +69,13 @@ public class RecipeGen_FluidCanning extends RecipeGen_Base {
aInput = aFull;
aOutput = aEmpty;
aFluidInput = null;
- aFluidOutput = aFluid;
+ aFluidOutput = aFluidIn;
}
else {
aInput = aEmpty;
- aOutput = aFull;
- aFluidInput = aFluid;
- aFluidOutput = null;
+ aOutput = aFull;
+ aFluidInput = aFluidIn;
+ aFluidOutput = aFluidOut != null ? aFluidOut : GT_Values.NF;
}
//Check validity
@@ -69,16 +85,16 @@ public class RecipeGen_FluidCanning extends RecipeGen_Base {
new ItemStack[] { aInput },
new ItemStack[] { aOutput },
null,
- new int[] {},
+ new int[] {10000},
new FluidStack[] { aFluidInput },
new FluidStack[] { aFluidOutput },
aDuration,
- 1,
+ aEUt,
0);
// Not Valid
- if ((aExtracting && (aInput == null || aOutput == null ||aFluidOutput == null)) || (!aExtracting && (aInput == null || aOutput == null || aFluidInput == null))) {
+ if ((aExtracting && (aInput == null || aOutput == null ||(aFluidInput == null && aFluidOutput == null))) || (!aExtracting && (aInput == null || aOutput == null || (aFluidInput == null && aFluidOutput == null)))) {
isValid = false;
disableOptional = aExtracting;
recipe = null;
@@ -102,77 +118,54 @@ public class RecipeGen_FluidCanning extends RecipeGen_Base {
}
private void generateRecipes() {
- if (isValid && recipe != null) {
- //Used to store Fluid extraction state
+ if (isValid && recipe != null) {
if (this.disableOptional) {
- addFluidExtractionRecipe(
- recipe.mInputs.length >= 1 ? recipe.mInputs[0] : null, //Input
- recipe.mInputs.length == 2 ? recipe.mInputs[1] : null, //Input 2
- recipe.mFluidOutputs.length == 1 ? recipe.mFluidOutputs[0] : null, //Fluid Output
- recipe.mDuration, //Duration
- recipe.mEUt //Eu Tick
- );
+ addFluidExtractionRecipe(recipe);
}
else {
- addFluidCannerRecipe(
- recipe.mInputs.length == 1 ? recipe.mInputs[0] : null, //Input
- recipe.mOutputs.length == 1 ? recipe.mOutputs[0] : null, //Input 2
- recipe.mFluidInputs.length == 1 ? recipe.mFluidInputs[0] : null //Fluid Input
- );
-
+ addFluidCannerRecipe(recipe);
}
-
}
}
- private final boolean addFluidExtractionRecipe(final ItemStack aInput, final ItemStack aRemains, FluidStack aOutput, int aDuration, final int aEUt) {
- if (aInput == null || aOutput == null) {
- return false;
- }
- if (aOutput.isFluidEqual(Materials.PhasedGold.getMolten(1L))) {
- aOutput = Materials.VibrantAlloy.getMolten(aOutput.amount);
- }
- if (aOutput.isFluidEqual(Materials.PhasedIron.getMolten(1L))) {
- aOutput = Materials.PulsatingIron.getMolten(aOutput.amount);
+ private final boolean addFluidExtractionRecipe(GT_Recipe aRecipe) {
+ if (aRecipe != null) {
+ if ((aRecipe.mDuration = GregTech_API.sRecipeFile.get("fluidextractor", aRecipe.mInputs[0], aRecipe.mDuration)) <= 0) {
+ return false;
+ } else {
+ GT_Recipe_Map.sFluidExtractionRecipes.addRecipe(aRecipe);
+ return true;
+ }
}
- //Logger.INFO(buildLogString());
- boolean result = GT_Values.RA.addFluidExtractionRecipe(aInput, aRemains, aOutput, 10000, aDuration, aEUt);
- //Logger.INFO(buildLogString());
- //dumpStack();
- return result;
+ return false;
}
- public final boolean addFluidCannerRecipe(final ItemStack aInput, final ItemStack aOutput, FluidStack aFluidInput) {
- if (aInput == null || aOutput == null || aFluidInput == null) {
- return false;
- }
- if (aFluidInput.isFluidEqual(Materials.PhasedGold.getMolten(1L))) {
- aFluidInput = Materials.VibrantAlloy.getMolten(aFluidInput.amount);
- }
- if (aFluidInput.isFluidEqual(Materials.PhasedIron.getMolten(1L))) {
- aFluidInput = Materials.PulsatingIron.getMolten(aFluidInput.amount);
+ private final boolean addFluidCannerRecipe(GT_Recipe recipe2) {
+ if (recipe2 != null) {
+ if ((recipe2.mDuration = GregTech_API.sRecipeFile.get("fluidcanner", recipe2.mOutputs[0], recipe2.mDuration)) <= 0) {
+ return false;
+ } else {
+ GT_Recipe_Map.sFluidCannerRecipes.addRecipe(recipe2);
+ return true;
+ }
}
- //Logger.INFO(buildLogString());
- boolean result = GT_Values.RA.addFluidCannerRecipe(aInput, aOutput, aFluidInput, GT_Values.NF);
- //Logger.INFO(buildLogString());
- //dumpStack();
- return result;
- }
-
+ return false;
+ }
+
private void dumpStack() {
int parents = 2;
for (int i=0;i<6;i++) {
Logger.INFO((disableOptional ? "EXTRACTING" : "CANNING")+" DEBUG | "+(i == 0 ? "Called from: " : "Parent: ")+ReflectionUtils.getMethodName(i+parents));
}
-
+
}
-
+
private String buildLogString() {
int solidSize = getMapSize(GT_Recipe_Map.sCannerRecipes);
int fluidSize = getMapSize(GT_Recipe_Map.sFluidCannerRecipes);
return (disableOptional ? "EXTRACTING" : "CANNING")+" DEBUG | Solids: "+solidSize+" | Liquids: "+fluidSize+" | ";
}
-
+
private final int getMapSize(GT_Recipe_Map aMap) {
return aMap.mRecipeList.size();
}
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Fluids.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Fluids.java
index b3b71c7587..799c6cd63b 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Fluids.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Fluids.java
@@ -51,7 +51,6 @@ public class RecipeGen_Fluids extends RecipeGen_Base {
if (CORE.RA.addFluidExtractionRecipe(material.getIngot(1), // Input
null, // Input 2
material.getFluid(144), // Fluid Output
- 0, // Chance
1 * 20, // Duration
material.vVoltageMultiplier // Eu Tick
)) {
@@ -67,7 +66,6 @@ public class RecipeGen_Fluids extends RecipeGen_Base {
if (CORE.RA.addFluidExtractionRecipe(material.getPlate(1), // Input
null, // Input 2
material.getFluid(144), // Fluid Output
- 0, // Chance
1 * 20, // Duration
material.vVoltageMultiplier // Eu Tick
)) {
@@ -83,7 +81,6 @@ public class RecipeGen_Fluids extends RecipeGen_Base {
if (CORE.RA.addFluidExtractionRecipe(material.getPlateDouble(1), // Input
null, // Input 2
material.getFluid(288), // Fluid Output
- 0, // Chance
1 * 20, // Duration
material.vVoltageMultiplier // Eu Tick
)) {
@@ -99,7 +96,6 @@ public class RecipeGen_Fluids extends RecipeGen_Base {
if (CORE.RA.addFluidExtractionRecipe(material.getNugget(1), // Input
null, // Input 2
material.getFluid(16), // Fluid Output
- 0, // Chance
16, // Duration
material.vVoltageMultiplier // Eu Tick
)) {
@@ -115,7 +111,6 @@ public class RecipeGen_Fluids extends RecipeGen_Base {
if (CORE.RA.addFluidExtractionRecipe(material.getBlock(1), // Input
null, // Input 2
material.getFluid(144 * 9), // Fluid Output
- 0, // Chance
288, // Duration
material.vVoltageMultiplier // Eu Tick
)) {
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Ore.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Ore.java
index 52f7ab24f3..9b7e1d708d 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Ore.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Ore.java
@@ -219,9 +219,10 @@ public class RecipeGen_Ore extends RecipeGen_Base {
Logger.MATERIALS("material.getCrushed(1): "+(material.getCrushed(1) != null));
Logger.MATERIALS("material.getCrushedPurified(1): "+(material.getCrushedPurified(1) != null));
- Logger.MATERIALS("bonusA.getTinyDust(1): "+(tinyDustA != null)+" | Material: "+(bonusA != null) + " | Material name: "+(bonusA != null ? bonusA.getLocalizedName() : "invalid material"));
- Logger.MATERIALS("bonusB.getTinyDust(1): "+(tinyDustB != null)+" | Material: "+(bonusB != null) + " | Material name: "+(bonusB != null ? bonusB.getLocalizedName() : "invalid material"));
+ Logger.MATERIALS("material.getTinyDust(1): "+(ItemUtils.getItemName(bonusA.getCrushed(1))));
+ Logger.MATERIALS("material.getTinyDust(1): "+(ItemUtils.getItemName(bonusB.getCrushed(1))));
+
try {
//.08 compat
if (GT_ModHandler.addThermalCentrifugeRecipe(material.getCrushed(1), 200, material.getCrushedCentrifuged(1), tinyDustB, dustStone)){
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Recycling.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Recycling.java
index 3328b0894f..58db8a473f 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Recycling.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Recycling.java
@@ -7,16 +7,11 @@ import java.util.Map;
import org.apache.commons.lang3.reflect.FieldUtils;
-import net.minecraft.init.Items;
-import net.minecraft.item.ItemStack;
-
-import gregtech.api.enums.GT_Values;
import gregtech.api.enums.Materials;
import gregtech.api.enums.OrePrefixes;
import gregtech.api.util.GT_ModHandler;
import gregtech.api.util.GT_OreDictUnificator;
import gregtech.api.util.GT_Utility;
-
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.api.objects.data.AutoMap;
import gtPlusPlus.api.objects.data.Pair;
@@ -26,6 +21,8 @@ import gtPlusPlus.core.material.state.MaterialState;
import gtPlusPlus.core.util.Utils;
import gtPlusPlus.core.util.minecraft.ItemUtils;
import gtPlusPlus.core.util.reflect.ReflectionUtils;
+import net.minecraft.init.Items;
+import net.minecraft.item.ItemStack;
import net.minecraftforge.oredict.OreDictionary;
public class RecipeGen_Recycling implements Runnable {
@@ -60,6 +57,7 @@ public class RecipeGen_Recycling implements Runnable {
public static void generateRecipes(final Material material) {
+ if (material != null)
Logger.WARNING("Generating Recycling recipes for " + material.getLocalizedName());
final OrePrefixes[] mValidPrefixesAsString = { OrePrefixes.ingot, OrePrefixes.ingotHot, OrePrefixes.nugget,
@@ -139,7 +137,7 @@ public class RecipeGen_Recycling implements Runnable {
//Fluid Extractor
if (ItemUtils.checkForInvalidItems(tempStack)) {
// mValidItems[mSlotIndex++] = tempStack;
- if ((mDust != null) && CORE.RA.addFluidExtractionRecipe(tempStack, null, material.getFluid(mFluidAmount), 0, 30, material.vVoltageMultiplier)) {
+ if ((mDust != null) && CORE.RA.addFluidExtractionRecipe(tempStack, null, material.getFluid(mFluidAmount), 30, material.vVoltageMultiplier)) {
Logger.WARNING("Fluid Recycle Recipe: " + material.getLocalizedName() + " - Success - Recycle "
+ tempStack.getDisplayName() + " and obtain " + mFluidAmount+"mb of "+material.getFluid(1).getLocalizedName()+".");
}