aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Ore.java
diff options
context:
space:
mode:
authorAlkalus <3060479+draknyte1@users.noreply.github.com>2018-11-01 14:58:08 +0000
committerAlkalus <3060479+draknyte1@users.noreply.github.com>2018-11-01 14:58:08 +0000
commit2855aaffb538f5dae1fcbbbd051bfb4e3a5951c8 (patch)
tree140a276269b08386d24b35bf738d774b3079349d /src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Ore.java
parent1b5aaa09e22baa1f09d0777d1465fd61c2a810b4 (diff)
downloadGT5-Unofficial-2855aaffb538f5dae1fcbbbd051bfb4e3a5951c8.tar.gz
GT5-Unofficial-2855aaffb538f5dae1fcbbbd051bfb4e3a5951c8.tar.bz2
GT5-Unofficial-2855aaffb538f5dae1fcbbbd051bfb4e3a5951c8.zip
+ Added new Radioactive ore.
+ Added Custom Nuclear Texture Set. % More material work. $ Fixed issue allowing Multiblocks to have > 1 Control Core Hatch. $ Fixed Broken Ore texture for ENRICHED TextureSet. $ Fixed a few fluid recipes broken in the refactor.
Diffstat (limited to 'src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Ore.java')
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Ore.java704
1 files changed, 387 insertions, 317 deletions
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Ore.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Ore.java
index 99984d98bf..9529b9019a 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Ore.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Ore.java
@@ -2,6 +2,8 @@ package gtPlusPlus.xmod.gregtech.loaders;
import net.minecraft.item.ItemStack;
+import java.util.ArrayList;
+
import gregtech.api.GregTech_API;
import gregtech.api.enums.GT_Values;
import gregtech.api.enums.Materials;
@@ -33,7 +35,7 @@ public class RecipeGen_Ore implements Runnable{
public void run() {
generateRecipes(this.toGenerate);
}
-
+
private static Material mStone;
public static void generateRecipes(final Material material){
@@ -41,26 +43,51 @@ public class RecipeGen_Ore implements Runnable{
if (mStone == null) {
mStone = MaterialUtils.generateMaterialFromGtENUM(Materials.Stone);
}
-
+
//if (material.getMaterialComposites().length > 1){
- Logger.MATERIALS("[Recipe Generator Debug] ["+material.getLocalizedName()+"]");
- int tVoltageMultiplier = MaterialUtils.getVoltageForTier(material.vTier);
- if (tVoltageMultiplier < 120) {
- tVoltageMultiplier = material.getMeltingPointK() >= 2800 ? 480 : 120;
- }
-
- final ItemStack dustStone = ItemUtils.getItemStackOfAmountFromOreDict("dustStone", 1);
- Material bonusA = null; //Ni
- Material bonusB = null; //Tin
+ Logger.MATERIALS("[Recipe Generator Debug] ["+material.getLocalizedName()+"]");
+ int tVoltageMultiplier = MaterialUtils.getVoltageForTier(material.vTier);
+ if (tVoltageMultiplier < 120) {
+ tVoltageMultiplier = material.getMeltingPointK() >= 2800 ? 480 : 120;
+ }
- if (material.getComposites().size() >= 1 && material.getComposites().get(0) != null){
- bonusA = material.getComposites().get(0).getStackMaterial();
- }
- else {
- bonusA = material;
+ final ItemStack dustStone = ItemUtils.getItemStackOfAmountFromOreDict("dustStone", 1);
+ Material bonusA = null; //Ni
+ Material bonusB = null; //Tin
+
+ if (material.getComposites().size() >= 1 && material.getComposites().get(0) != null){
+ bonusA = material.getComposites().get(0).getStackMaterial();
+ }
+ else {
+ bonusA = material;
+ }
+
+ boolean allFailed = false;
+
+
+ //Setup Bonuses
+ ArrayList<Material> aMatComp = new ArrayList<Material>();
+ for (Material j : MaterialUtils.getCompoundMaterialsRecursively(material)) {
+ aMatComp.add(j);
+ }
+
+ if (aMatComp.size() < 3) {
+ while (aMatComp.size() < 3) {
+ aMatComp.add(material);
}
+ }
- boolean allFailed = false;
+ AutoMap<Material> amJ = new AutoMap<Material>();
+ int aIndexCounter = 0;
+ for (Material g : aMatComp) {
+ if (g.hasSolidForm()) {
+ if (getDust(g) != null && getTinyDust(g) != null) {
+ amJ.put(g);
+ }
+ }
+ }
+
+ if (amJ.size() < 2) {
if (material.getComposites().size() >= 2 && material.getComposites().get(1) != null){
bonusB = material.getComposites().get(1).getStackMaterial();
//If Secondary Output has no solid output, try the third (If it exists)
@@ -84,64 +111,91 @@ public class RecipeGen_Ore implements Runnable{
else {
allFailed = true;
}
+ }
+ else {
+ bonusA = amJ.get(0);
+ bonusB = amJ.get(1);
+ }
- //Default out if it's made of fluids or some shit.
- if (allFailed || bonusB == null) {
- bonusB = tVoltageMultiplier <= 100 ? material : mStone;
- }
+ //Default out if it's made of fluids or some shit.
+ if (bonusA == null) {
+ bonusA = tVoltageMultiplier <= 100 ? material : mStone;
+ }
+ //Default out if it's made of fluids or some shit.
+ if (allFailed || bonusB == null) {
+ bonusB = tVoltageMultiplier <= 100 ? material : mStone;
+ }
- AutoMap<Pair<Integer, Material>> componentMap = new AutoMap<Pair<Integer, Material>>();
- for (MaterialStack r : material.getComposites()){
- if (r != null){
- componentMap.put(new Pair<Integer, Material>(r.getPartsPerOneHundred(), r.getStackMaterial()));
- }
+ AutoMap<Pair<Integer, Material>> componentMap = new AutoMap<Pair<Integer, Material>>();
+ for (MaterialStack r : material.getComposites()){
+ if (r != null){
+ componentMap.put(new Pair<Integer, Material>(r.getPartsPerOneHundred(), r.getStackMaterial()));
}
+ }
- //Need two valid outputs
- if (bonusA == null || bonusB == null || !bonusA.hasSolidForm() || !bonusB.hasSolidForm()) {
- return;
- }
- /**
- * Macerate
- */
- //Macerate ore to Crushed
- if (GT_Values.RA.addPulveriserRecipe(material.getOre(1), new ItemStack[]{material.getCrushed(2)}, new int[]{10000}, 20*20, tVoltageMultiplier/2)){
- Logger.MATERIALS("[Macerator] Added Recipe: 'Macerate ore to Crushed ore'");
+ //Need two valid outputs
+ if (bonusA == null || bonusB == null || !bonusA.hasSolidForm() || !bonusB.hasSolidForm()) {
+ if (bonusA == null) {
+ bonusA = mStone;
}
- //Macerate Crushed to Impure Dust
- if (GT_Values.RA.addPulveriserRecipe(material.getCrushed(1), new ItemStack[]{material.getDustImpure(1), bonusA.getDust(1)}, new int[]{10000, 1000}, 20*20, tVoltageMultiplier/2)){
- Logger.MATERIALS("[Macerator] Added Recipe: 'Macerate Crushed ore to Impure Dust'");
+ if (bonusB == null) {
+ bonusB = mStone;
}
- //Macerate Washed to Purified Dust
- if (GT_Values.RA.addPulveriserRecipe(material.getCrushedPurified(1), new ItemStack[]{material.getDustPurified(1), bonusA.getDust(1)}, new int[]{10000, 1000}, 20*20, tVoltageMultiplier/2)){
- Logger.MATERIALS("[Macerator] Added Recipe: 'Macerate Washed ore to Purified Dust'");
- }
- //Macerate Centrifuged to Pure Dust
- if (GT_Values.RA.addPulveriserRecipe(material.getCrushedCentrifuged(1), new ItemStack[]{material.getDust(1), bonusA.getDust(1)}, new int[]{10000, 1000}, 20*20, tVoltageMultiplier/2)){
- Logger.MATERIALS("[Macerator] Added Recipe: 'Macerate Centrifuged ore to Pure Dust'");
+ if (!bonusA.hasSolidForm()) {
+ bonusA = mStone;
}
+ if (!bonusB.hasSolidForm()) {
+ bonusB = mStone;
+ }
+ }
- /**
- * Wash
- */
- //Wash into Purified Crushed
- /*if (GT_Values.RA.addOreWasherRecipe(material.getCrushed(1), material.getCrushedPurified(1), bonusA.getTinyDust(1), dustStone, FluidUtils.getWater(1000), 25*20, 16)){
+ ItemStack tinyDustA = getTinyDust(bonusA);
+ ItemStack tinyDustB = getTinyDust(bonusB);
+ ItemStack matDust = getDust(material);
+ ItemStack matDustA = getDust(bonusA);
+ ItemStack matDustB = getDust(bonusB);
+
+ /**
+ * Macerate
+ */
+ //Macerate ore to Crushed
+ if (GT_Values.RA.addPulveriserRecipe(material.getOre(1), new ItemStack[]{material.getCrushed(2)}, new int[]{10000}, 20*20, tVoltageMultiplier/2)){
+ Logger.MATERIALS("[Macerator] Added Recipe: 'Macerate ore to Crushed ore'");
+ }
+ //Macerate Crushed to Impure Dust
+ if (GT_Values.RA.addPulveriserRecipe(material.getCrushed(1), new ItemStack[]{material.getDustImpure(1), matDustA}, new int[]{10000, 1000}, 20*20, tVoltageMultiplier/2)){
+ Logger.MATERIALS("[Macerator] Added Recipe: 'Macerate Crushed ore to Impure Dust'");
+ }
+ //Macerate Washed to Purified Dust
+ if (GT_Values.RA.addPulveriserRecipe(material.getCrushedPurified(1), new ItemStack[]{material.getDustPurified(1), matDustA}, new int[]{10000, 1000}, 20*20, tVoltageMultiplier/2)){
+ Logger.MATERIALS("[Macerator] Added Recipe: 'Macerate Washed ore to Purified Dust'");
+ }
+ //Macerate Centrifuged to Pure Dust
+ if (GT_Values.RA.addPulveriserRecipe(material.getCrushedCentrifuged(1), new ItemStack[]{matDust, matDustA}, new int[]{10000, 1000}, 20*20, tVoltageMultiplier/2)){
+ Logger.MATERIALS("[Macerator] Added Recipe: 'Macerate Centrifuged ore to Pure Dust'");
+ }
+
+ /**
+ * Wash
+ */
+ //Wash into Purified Crushed
+ /*if (GT_Values.RA.addOreWasherRecipe(material.getCrushed(1), material.getCrushedPurified(1), bonusA.getTinyDust(1), dustStone, FluidUtils.getWater(1000), 25*20, 16)){
Logger.MATERIALS("[OreWasher] Added Recipe: 'Wash Crushed ore into Purified Crushed ore'");
}*/
- //.08 compat method
- if (GT_ModHandler.addOreWasherRecipe(material.getCrushed(1), 1000, material.getCrushedPurified(1), bonusA.getTinyDust(1), dustStone)){
- Logger.MATERIALS("[OreWasher] Added Recipe: 'Wash Crushed ore into Purified Crushed ore'");
- }
+ //.08 compat method
+ if (GT_ModHandler.addOreWasherRecipe(material.getCrushed(1), 1000, material.getCrushedPurified(1), tinyDustA, dustStone)){
+ Logger.MATERIALS("[OreWasher] Added Recipe: 'Wash Crushed ore into Purified Crushed ore'");
+ }
- /**
- * Thermal Centrifuge
- */
- /*//Crushed ore to Centrifuged Ore
- if (GT_Values.RA.addThermalCentrifugeRecipe(material.getCrushed(1), material.getCrushedCentrifuged(1), bonusB.getTinyDust(1), dustStone, 25*20, 24)){
+ /**
+ * Thermal Centrifuge
+ */
+ /*//Crushed ore to Centrifuged Ore
+ if (GT_Values.RA.addThermalCentrifugeRecipe(material.getCrushed(1), material.getCrushedCentrifuged(1), tinyDustB, dustStone, 25*20, 24)){
Logger.MATERIALS("[ThermalCentrifuge] Added Recipe: 'Crushed ore to Centrifuged Ore'");
}
//Washed ore to Centrifuged Ore
@@ -149,319 +203,319 @@ public class RecipeGen_Ore implements Runnable{
Logger.MATERIALS("[ThermalCentrifuge] Added Recipe: 'Washed ore to Centrifuged Ore'");
}*/
- Logger.MATERIALS("material.getCrushed(1): "+(material.getCrushed(1) != null));
- Logger.MATERIALS("material.getCrushedPurified(1): "+(material.getCrushedPurified(1) != null));
- Logger.MATERIALS("bonusA.getTinyDust(1): "+(bonusA.getTinyDust(1) != null)+" | Material: "+(bonusA != null) + " | Material name: "+(bonusA != null ? bonusA.getLocalizedName() : "invalid material"));
- Logger.MATERIALS("bonusB.getTinyDust(1): "+(bonusB.getTinyDust(1) != null)+" | Material: "+(bonusB != null) + " | Material name: "+(bonusB != null ? bonusB.getLocalizedName() : "invalid material"));
+ 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"));
- try {
+ try {
//.08 compat
- if (GT_ModHandler.addThermalCentrifugeRecipe(material.getCrushed(1), 200, material.getCrushedCentrifuged(1), bonusB.getTinyDust(1), dustStone)){
- Logger.MATERIALS("[ThermalCentrifuge] Added Recipe: 'Crushed ore to Centrifuged Ore' | Input: "+material.getCrushed(1).getDisplayName()+" | Outputs: "+material.getCrushedCentrifuged(1).getDisplayName()+", "+bonusB.getTinyDust(1).getDisplayName()+", "+dustStone.getDisplayName()+".");
- }
- }
- catch (Throwable t) {}
- try {
- if (GT_ModHandler.addThermalCentrifugeRecipe(material.getCrushedPurified(1), 200, material.getCrushedCentrifuged(1), bonusA.getTinyDust(1), dustStone)){
- Logger.MATERIALS("[ThermalCentrifuge] Added Recipe: 'Washed ore to Centrifuged Ore' | Input: "+material.getCrushedPurified(1).getDisplayName()+" | Outputs: "+material.getCrushedCentrifuged(1).getDisplayName()+", "+bonusA.getTinyDust(1).getDisplayName()+", "+dustStone.getDisplayName()+".");
+ if (GT_ModHandler.addThermalCentrifugeRecipe(material.getCrushed(1), 200, material.getCrushedCentrifuged(1), tinyDustB, dustStone)){
+ Logger.MATERIALS("[ThermalCentrifuge] Added Recipe: 'Crushed ore to Centrifuged Ore' | Input: "+material.getCrushed(1).getDisplayName()+" | Outputs: "+material.getCrushedCentrifuged(1).getDisplayName()+", "+tinyDustB.getDisplayName()+", "+dustStone.getDisplayName()+".");
}
+ }
+ catch (Throwable t) {}
+ try {
+ if (GT_ModHandler.addThermalCentrifugeRecipe(material.getCrushedPurified(1), 200, material.getCrushedCentrifuged(1), tinyDustA, dustStone)){
+ Logger.MATERIALS("[ThermalCentrifuge] Added Recipe: 'Washed ore to Centrifuged Ore' | Input: "+material.getCrushedPurified(1).getDisplayName()+" | Outputs: "+material.getCrushedCentrifuged(1).getDisplayName()+", "+tinyDustA.getDisplayName()+", "+dustStone.getDisplayName()+".");
}
- catch (Throwable t) {}
-
+ }
+ catch (Throwable t) {}
- /**
- * Forge Hammer
- */
- if (GT_Values.RA.addForgeHammerRecipe(material.getCrushedCentrifuged(1), material.getDust(1), 10, tVoltageMultiplier/4)){
- Logger.MATERIALS("[ForgeHammer] Added Recipe: 'Crushed Centrifuged to Pure Dust'");
- }
- if (GT_Values.RA.addForgeHammerRecipe(material.getCrushedPurified(1), material.getDustPurified(1), 10, tVoltageMultiplier/4)){
- Logger.MATERIALS("[ForgeHammer] Added Recipe: 'Crushed Purified to Purified Dust'");
- }
- if (GT_Values.RA.addForgeHammerRecipe(material.getOre(1), material.getCrushed(1), 10, tVoltageMultiplier/4)){
- Logger.MATERIALS("[ForgeHammer] Added Recipe: 'Ore to Crushed'");
- }
- /**
- * Centrifuge
- */
- //Purified Dust to Clean
- if (GT_Values.RA.addCentrifugeRecipe(
- material.getDustPurified(1), null,
- null, //In Fluid
- null, //Out Fluid
- material.getDust(1), bonusA.getTinyDust(1),null,
- null, null,null,
- new int[]{10000, 10000}, //Chances
- 5*20, //Eu
- tVoltageMultiplier/2)){ //Time
- Logger.MATERIALS("[Centrifuge] Added Recipe: Purified Dust to Clean Dust");
- }
+ /**
+ * Forge Hammer
+ */
+ if (GT_Values.RA.addForgeHammerRecipe(material.getCrushedCentrifuged(1), matDust, 10, tVoltageMultiplier/4)){
+ Logger.MATERIALS("[ForgeHammer] Added Recipe: 'Crushed Centrifuged to Pure Dust'");
+ }
+ if (GT_Values.RA.addForgeHammerRecipe(material.getCrushedPurified(1), material.getDustPurified(1), 10, tVoltageMultiplier/4)){
+ Logger.MATERIALS("[ForgeHammer] Added Recipe: 'Crushed Purified to Purified Dust'");
+ }
+ if (GT_Values.RA.addForgeHammerRecipe(material.getOre(1), material.getCrushed(1), 10, tVoltageMultiplier/4)){
+ Logger.MATERIALS("[ForgeHammer] Added Recipe: 'Ore to Crushed'");
+ }
- //Impure Dust to Clean
- if (GT_Values.RA.addCentrifugeRecipe(
- material.getDustImpure(1), null,
- null, //In Fluid
- null, //Out Fluid
- material.getDust(1), bonusB.getTinyDust(1),null,
- null, null,null,
- new int[]{10000, 10000}, //Chances
- 5*20, //Eu
- tVoltageMultiplier/2)){ //Time
- Logger.MATERIALS("[Centrifuge] Added Recipe: Inpure Dust to Clean Dust");
- }
+ /**
+ * Centrifuge
+ */
+ //Purified Dust to Clean
+ if (GT_Values.RA.addCentrifugeRecipe(
+ material.getDustPurified(1), null,
+ null, //In Fluid
+ null, //Out Fluid
+ matDust, tinyDustA,null,
+ null, null,null,
+ new int[]{10000, 10000}, //Chances
+ 5*20, //Eu
+ tVoltageMultiplier/2)){ //Time
+ Logger.MATERIALS("[Centrifuge] Added Recipe: Purified Dust to Clean Dust");
+ }
+ //Impure Dust to Clean
+ if (GT_Values.RA.addCentrifugeRecipe(
+ material.getDustImpure(1), null,
+ null, //In Fluid
+ null, //Out Fluid
+ matDust, tinyDustB,null,
+ null, null,null,
+ new int[]{10000, 10000}, //Chances
+ 5*20, //Eu
+ tVoltageMultiplier/2)){ //Time
+ Logger.MATERIALS("[Centrifuge] Added Recipe: Inpure Dust to Clean Dust");
+ }
- /**
- * Electrolyzer
- */
- //Process Dust
- if (componentMap.size() > 0 && componentMap.size() <= 6){
+ /**
+ * Electrolyzer
+ */
- ItemStack mInternalOutputs[] = new ItemStack[6];
- int mChances[] = new int[6];
- int mCellCount = 0;
+ //Process Dust
+ if (componentMap.size() > 0 && componentMap.size() <= 6){
- int mTotalCount = 0;
+ ItemStack mInternalOutputs[] = new ItemStack[6];
+ int mChances[] = new int[6];
+ int mCellCount = 0;
- int mCounter = 0;
- for (Pair<Integer, Material> f : componentMap){
- if (f.getValue().getState() != MaterialState.SOLID){
- Logger.MATERIALS("[Electrolyzer] Found Fluid Component, adding "+f.getKey()+" cells of "+f.getValue().getLocalizedName()+".");
- mInternalOutputs[mCounter++] = f.getValue().getCell(f.getKey());
- mCellCount += f.getKey();
- mTotalCount += f.getKey();
- Logger.MATERIALS("[Electrolyzer] In total, adding "+mCellCount+" cells for "+material.getLocalizedName()+" processing.");
- }
- else {
- Logger.MATERIALS("[Electrolyzer] Found Solid Component, adding "+f.getKey()+" dusts of "+f.getValue().getLocalizedName()+".");
- mInternalOutputs[mCounter++] = f.getValue().getDust(f.getKey());
- mTotalCount += f.getKey();
- }
- }
+ int mTotalCount = 0;
- //Build Output Array
- for (int g=0;g<mInternalOutputs.length;g++){
- Logger.MATERIALS("[Electrolyzer] Is output["+g+"] valid with a chance? "+(mInternalOutputs[g] != null ? 10000 : 0));
- mChances[g] = (mInternalOutputs[g] != null ? 10000 : 0);
+ int mCounter = 0;
+ for (Pair<Integer, Material> f : componentMap){
+ if (f.getValue().getState() != MaterialState.SOLID){
+ Logger.MATERIALS("[Electrolyzer] Found Fluid Component, adding "+f.getKey()+" cells of "+f.getValue().getLocalizedName()+".");
+ mInternalOutputs[mCounter++] = f.getValue().getCell(f.getKey());
+ mCellCount += f.getKey();
+ mTotalCount += f.getKey();
+ Logger.MATERIALS("[Electrolyzer] In total, adding "+mCellCount+" cells for "+material.getLocalizedName()+" processing.");
}
-
- ItemStack emptyCell = null;
- if (mCellCount > 0){
- emptyCell = ItemUtils.getItemStackOfAmountFromOreDict("cellEmpty", mCellCount);
- Logger.MATERIALS("[Electrolyzer] Recipe now requires "+mCellCount+" empty cells as input.");
+ else {
+ Logger.MATERIALS("[Electrolyzer] Found Solid Component, adding "+f.getKey()+" dusts of "+f.getValue().getLocalizedName()+".");
+ mInternalOutputs[mCounter++] = f.getValue().getDust(f.getKey());
+ mTotalCount += f.getKey();
}
+ }
- ItemStack mainDust = material.getDust(material.smallestStackSizeWhenProcessing);
+ //Build Output Array
+ for (int g=0;g<mInternalOutputs.length;g++){
+ Logger.MATERIALS("[Electrolyzer] Is output["+g+"] valid with a chance? "+(mInternalOutputs[g] != null ? 10000 : 0));
+ mChances[g] = (mInternalOutputs[g] != null ? 10000 : 0);
+ }
+
+ ItemStack emptyCell = null;
+ if (mCellCount > 0){
+ emptyCell = ItemUtils.getItemStackOfAmountFromOreDict("cellEmpty", mCellCount);
+ Logger.MATERIALS("[Electrolyzer] Recipe now requires "+mCellCount+" empty cells as input.");
+ }
+
+ ItemStack mainDust = material.getDust(material.smallestStackSizeWhenProcessing);
+ if (mainDust != null){
+ Logger.MATERIALS("[Electrolyzer] Recipe now requires "+material.smallestStackSizeWhenProcessing+"x "+mainDust.getDisplayName()+" as input.");
+ }
+ else {
+ mainDust = material.getDust(mTotalCount);
+ Logger.MATERIALS("[Electrolyzer] Could not find valid input dust, trying alternative.");
if (mainDust != null){
- Logger.MATERIALS("[Electrolyzer] Recipe now requires "+material.smallestStackSizeWhenProcessing+"x "+mainDust.getDisplayName()+" as input.");
+ Logger.MATERIALS("[Electrolyzer] Recipe now requires "+mTotalCount+"x "+mainDust.getDisplayName()+" as input.");
}
else {
- mainDust = material.getDust(mTotalCount);
- Logger.MATERIALS("[Electrolyzer] Could not find valid input dust, trying alternative.");
- if (mainDust != null){
- Logger.MATERIALS("[Electrolyzer] Recipe now requires "+mTotalCount+"x "+mainDust.getDisplayName()+" as input.");
- }
- else {
- Logger.MATERIALS("[Electrolyzer] Could not find valid input dust, exiting.");
- }
+ Logger.MATERIALS("[Electrolyzer] Could not find valid input dust, exiting.");
}
+ }
- for (int j=0;j<mInternalOutputs.length;j++){
- if (mInternalOutputs[j] == null){
- mInternalOutputs[j] = GT_Values.NI;
- Logger.MATERIALS("[Electrolyzer] Set slot "+j+" to null.");
- }
- else {
- Logger.MATERIALS("[Electrolyzer] Set slot "+j+" to "+mInternalOutputs[j].getDisplayName()+".");
- }
+ for (int j=0;j<mInternalOutputs.length;j++){
+ if (mInternalOutputs[j] == null){
+ mInternalOutputs[j] = GT_Values.NI;
+ Logger.MATERIALS("[Electrolyzer] Set slot "+j+" to null.");
+ }
+ else {
+ Logger.MATERIALS("[Electrolyzer] Set slot "+j+" to "+mInternalOutputs[j].getDisplayName()+".");
}
+ }
- try{
- if (addElectrolyzerRecipe(
- mainDust,
- emptyCell, //input 2
- null, //Input fluid 1
- null, //Output fluid 1
- mInternalOutputs[0],
- mInternalOutputs[1],
- mInternalOutputs[2],
- mInternalOutputs[3],
- mInternalOutputs[4],
- mInternalOutputs[5],
- mChances,
- 20*1*(tVoltageMultiplier/10),
- tVoltageMultiplier)){
- Logger.MATERIALS("[Electrolyzer] Generated Electrolyzer recipe for "+material.getDust(1).getDisplayName());
- }
- else {
- Logger.MATERIALS("[Electrolyzer] Failed to generate Electrolyzer recipe for "+material.getDust(1).getDisplayName());
- }
+ try{
+ if (addElectrolyzerRecipe(
+ mainDust,
+ emptyCell, //input 2
+ null, //Input fluid 1
+ null, //Output fluid 1
+ mInternalOutputs[0],
+ mInternalOutputs[1],
+ mInternalOutputs[2],
+ mInternalOutputs[3],
+ mInternalOutputs[4],
+ mInternalOutputs[5],
+ mChances,
+ 20*1*(tVoltageMultiplier/10),
+ tVoltageMultiplier)){
+ Logger.MATERIALS("[Electrolyzer] Generated Electrolyzer recipe for "+matDust.getDisplayName());
}
- catch(Throwable t){
- t.printStackTrace();
+ else {
+ Logger.MATERIALS("[Electrolyzer] Failed to generate Electrolyzer recipe for "+matDust.getDisplayName());
}
}
- else if (componentMap.size() > 6 && componentMap.size() <= 9){
- Logger.MATERIALS("[Issue][Electrolyzer] "+material.getLocalizedName()+" is composed of over 6 materials, so an electrolyzer recipe for processing cannot be generated. Trying to create one for the Dehydrator instead.");
-
- ItemStack mInternalOutputs[] = new ItemStack[9];
- int mChances[] = new int[9];
- int mCellCount = 0;
-
- int mTotalCount = 0;
-
- int mCounter = 0;
- for (Pair<Integer, Material> f : componentMap){
- if (f.getValue().getState() != MaterialState.SOLID){
- Logger.MATERIALS("[Dehydrator] Found Fluid Component, adding "+f.getKey()+" cells of "+f.getValue().getLocalizedName()+".");
- mInternalOutputs[mCounter++] = f.getValue().getCell(f.getKey());
- mCellCount += f.getKey();
- mTotalCount += f.getKey();
- Logger.MATERIALS("[Dehydrator] In total, adding "+mCellCount+" cells for "+material.getLocalizedName()+" processing.");
- }
- else {
- Logger.MATERIALS("[Dehydrator] Found Solid Component, adding "+f.getKey()+" dusts of "+f.getValue().getLocalizedName()+".");
- mInternalOutputs[mCounter++] = f.getValue().getDust(f.getKey());
- mTotalCount += f.getKey();
- }
- }
-
- //Build Output Array
- for (int g=0;g<mInternalOutputs.length;g++){
- Logger.MATERIALS("[Dehydrator] Is output["+g+"] valid with a chance? "+(mInternalOutputs[g] != null ? 10000 : 0));
- mChances[g] = (mInternalOutputs[g] != null ? 10000 : 0);
+ catch(Throwable t){
+ t.printStackTrace();
+ }
+ }
+ else if (componentMap.size() > 6 && componentMap.size() <= 9){
+ Logger.MATERIALS("[Issue][Electrolyzer] "+material.getLocalizedName()+" is composed of over 6 materials, so an electrolyzer recipe for processing cannot be generated. Trying to create one for the Dehydrator instead.");
+
+ ItemStack mInternalOutputs[] = new ItemStack[9];
+ int mChances[] = new int[9];
+ int mCellCount = 0;
+
+ int mTotalCount = 0;
+
+ int mCounter = 0;
+ for (Pair<Integer, Material> f : componentMap){
+ if (f.getValue().getState() != MaterialState.SOLID){
+ Logger.MATERIALS("[Dehydrator] Found Fluid Component, adding "+f.getKey()+" cells of "+f.getValue().getLocalizedName()+".");
+ mInternalOutputs[mCounter++] = f.getValue().getCell(f.getKey());
+ mCellCount += f.getKey();
+ mTotalCount += f.getKey();
+ Logger.MATERIALS("[Dehydrator] In total, adding "+mCellCount+" cells for "+material.getLocalizedName()+" processing.");
}
-
- ItemStack emptyCell = null;
- if (mCellCount > 0){
- emptyCell = ItemUtils.getItemStackOfAmountFromOreDict("cellEmpty", mCellCount);
- Logger.MATERIALS("[Dehydrator] Recipe now requires "+mCellCount+" empty cells as input.");
+ else {
+ Logger.MATERIALS("[Dehydrator] Found Solid Component, adding "+f.getKey()+" dusts of "+f.getValue().getLocalizedName()+".");
+ mInternalOutputs[mCounter++] = f.getValue().getDust(f.getKey());
+ mTotalCount += f.getKey();
}
+ }
+
+ //Build Output Array
+ for (int g=0;g<mInternalOutputs.length;g++){
+ Logger.MATERIALS("[Dehydrator] Is output["+g+"] valid with a chance? "+(mInternalOutputs[g] != null ? 10000 : 0));
+ mChances[g] = (mInternalOutputs[g] != null ? 10000 : 0);
+ }
+
+ ItemStack emptyCell = null;
+ if (mCellCount > 0){
+ emptyCell = ItemUtils.getItemStackOfAmountFromOreDict("cellEmpty", mCellCount);
+ Logger.MATERIALS("[Dehydrator] Recipe now requires "+mCellCount+" empty cells as input.");
+ }
- ItemStack mainDust = material.getDust(material.smallestStackSizeWhenProcessing);
+ ItemStack mainDust = material.getDust(material.smallestStackSizeWhenProcessing);
+ if (mainDust != null){
+ Logger.MATERIALS("[Dehydrator] Recipe now requires "+material.smallestStackSizeWhenProcessing+"x "+mainDust.getDisplayName()+" as input.");
+ }
+ else {
+ mainDust = material.getDust(mTotalCount);
+ Logger.MATERIALS("[Dehydrator] Could not find valid input dust, trying alternative.");
if (mainDust != null){
- Logger.MATERIALS("[Dehydrator] Recipe now requires "+material.smallestStackSizeWhenProcessing+"x "+mainDust.getDisplayName()+" as input.");
+ Logger.MATERIALS("[Dehydrator] Recipe now requires "+mTotalCount+"x "+mainDust.getDisplayName()+" as input.");
}
else {
- mainDust = material.getDust(mTotalCount);
- Logger.MATERIALS("[Dehydrator] Could not find valid input dust, trying alternative.");
- if (mainDust != null){
- Logger.MATERIALS("[Dehydrator] Recipe now requires "+mTotalCount+"x "+mainDust.getDisplayName()+" as input.");
- }
- else {
- Logger.MATERIALS("[Dehydrator] Could not find valid input dust, exiting.");
- }
+ Logger.MATERIALS("[Dehydrator] Could not find valid input dust, exiting.");
}
+ }
- for (int j=0;j<mInternalOutputs.length;j++){
- if (mInternalOutputs[j] == null){
- mInternalOutputs[j] = GT_Values.NI;
- Logger.MATERIALS("[Dehydrator] Set slot "+j+" to null.");
- }
- else {
- Logger.MATERIALS("[Dehydrator] Set slot "+j+" to "+mInternalOutputs[j].getDisplayName()+".");
- }
+ for (int j=0;j<mInternalOutputs.length;j++){
+ if (mInternalOutputs[j] == null){
+ mInternalOutputs[j] = GT_Values.NI;
+ Logger.MATERIALS("[Dehydrator] Set slot "+j+" to null.");
}
+ else {
+ Logger.MATERIALS("[Dehydrator] Set slot "+j+" to "+mInternalOutputs[j].getDisplayName()+".");
+ }
+ }
- try{
+ try{
- if (CORE.RA.addDehydratorRecipe(
- new ItemStack[]{mainDust, emptyCell},
- null,
- null,
- mInternalOutputs,
- mChances,
- 20*1*(tVoltageMultiplier/10),
- tVoltageMultiplier)){
- Logger.MATERIALS("[Dehydrator] Generated Dehydrator recipe for "+material.getDust(1).getDisplayName());
- }
- else {
- Logger.MATERIALS("[Dehydrator] Failed to generate Dehydrator recipe for "+material.getDust(1).getDisplayName());
- }
+ if (CORE.RA.addDehydratorRecipe(
+ new ItemStack[]{mainDust, emptyCell},
+ null,
+ null,
+ mInternalOutputs,
+ mChances,
+ 20*1*(tVoltageMultiplier/10),
+ tVoltageMultiplier)){
+ Logger.MATERIALS("[Dehydrator] Generated Dehydrator recipe for "+matDust.getDisplayName());
}
- catch(Throwable t){
- t.printStackTrace();
+ else {
+ Logger.MATERIALS("[Dehydrator] Failed to generate Dehydrator recipe for "+matDust.getDisplayName());
}
+ }
+ catch(Throwable t){
+ t.printStackTrace();
+ }
- }
+ }
- /**
- * Shaped Crafting
- */
- RecipeUtils.recipeBuilder(
- CI.craftingToolHammer_Hard, null, null,
- material.getCrushedPurified(1), null, null,
- null, null, null,
- material.getDustPurified(1));
+ /**
+ * Shaped Crafting
+ */
+ RecipeUtils.recipeBuilder(
+ CI.craftingToolHammer_Hard, null, null,
+ material.getCrushedPurified(1), null, null,
+ null, null, null,
+ material.getDustPurified(1));
- RecipeUtils.recipeBuilder(
- CI.craftingToolHammer_Hard, null, null,
- material.getCrushed(1), null, null,
- null, null, null,
- material.getDustImpure(1));
+ RecipeUtils.recipeBuilder(
+ CI.craftingToolHammer_Hard, null, null,
+ material.getCrushed(1), null, null,
+ null, null, null,
+ material.getDustImpure(1));
- RecipeUtils.recipeBuilder(
- CI.craftingToolHammer_Hard, null, null,
- material.getCrushedCentrifuged(1), null, null,
- null, null, null,
- material.getDust(1));
+ RecipeUtils.recipeBuilder(
+ CI.craftingToolHammer_Hard, null, null,
+ material.getCrushedCentrifuged(1), null, null,
+ null, null, null,
+ matDust);
- final ItemStack normalDust = material.getDust(1);
- final ItemStack smallDust = material.getSmallDust(1);
- final ItemStack tinyDust = material.getTinyDust(1);
+ final ItemStack normalDust = matDust;
+ final ItemStack smallDust = material.getSmallDust(1);
+ final ItemStack tinyDust = material.getTinyDust(1);
- if (RecipeUtils.recipeBuilder(
- tinyDust, tinyDust, tinyDust,
- tinyDust, tinyDust, tinyDust,
- tinyDust, tinyDust, tinyDust,
- normalDust)){
- Logger.WARNING("9 Tiny dust to 1 Dust Recipe: "+material.getLocalizedName()+" - Success");
- }
- else {
- Logger.WARNING("9 Tiny dust to 1 Dust Recipe: "+material.getLocalizedName()+" - Failed");
- }
+ if (RecipeUtils.recipeBuilder(
+ tinyDust, tinyDust, tinyDust,
+ tinyDust, tinyDust, tinyDust,
+ tinyDust, tinyDust, tinyDust,
+ normalDust)){
+ Logger.WARNING("9 Tiny dust to 1 Dust Recipe: "+material.getLocalizedName()+" - Success");
+ }
+ else {
+ Logger.WARNING("9 Tiny dust to 1 Dust Recipe: "+material.getLocalizedName()+" - Failed");
+ }
- if (RecipeUtils.recipeBuilder(
- normalDust, null, null,
- null, null, null,
- null, null, null,
- material.getTinyDust(9))){
- Logger.WARNING("9 Tiny dust from 1 Recipe: "+material.getLocalizedName()+" - Success");
- }
- else {
- Logger.WARNING("9 Tiny dust from 1 Recipe: "+material.getLocalizedName()+" - Failed");
- }
+ if (RecipeUtils.recipeBuilder(
+ normalDust, null, null,
+ null, null, null,
+ null, null, null,
+ material.getTinyDust(9))){
+ Logger.WARNING("9 Tiny dust from 1 Recipe: "+material.getLocalizedName()+" - Success");
+ }
+ else {
+ Logger.WARNING("9 Tiny dust from 1 Recipe: "+material.getLocalizedName()+" - Failed");
+ }
- if (RecipeUtils.recipeBuilder(
- smallDust, smallDust, null,
- smallDust, smallDust, null,
- null, null, null,
- normalDust)){
- Logger.WARNING("4 Small dust to 1 Dust Recipe: "+material.getLocalizedName()+" - Success");
- }
- else {
- Logger.WARNING("4 Small dust to 1 Dust Recipe: "+material.getLocalizedName()+" - Failed");
- }
+ if (RecipeUtils.recipeBuilder(
+ smallDust, smallDust, null,
+ smallDust, smallDust, null,
+ null, null, null,
+ normalDust)){
+ Logger.WARNING("4 Small dust to 1 Dust Recipe: "+material.getLocalizedName()+" - Success");
+ }
+ else {
+ Logger.WARNING("4 Small dust to 1 Dust Recipe: "+material.getLocalizedName()+" - Failed");
+ }
- if (RecipeUtils.recipeBuilder(
- null, normalDust, null,
- null, null, null,
- null, null, null,
- material.getSmallDust(4))){
- Logger.WARNING("4 Small dust from 1 Dust Recipe: "+material.getLocalizedName()+" - Success");
- }
- else {
- Logger.WARNING("4 Small dust from 1 Dust Recipe: "+material.getLocalizedName()+" - Failed");
- }
+ if (RecipeUtils.recipeBuilder(
+ null, normalDust, null,
+ null, null, null,
+ null, null, null,
+ material.getSmallDust(4))){
+ Logger.WARNING("4 Small dust from 1 Dust Recipe: "+material.getLocalizedName()+" - Success");
+ }
+ else {
+ Logger.WARNING("4 Small dust from 1 Dust Recipe: "+material.getLocalizedName()+" - Failed");
+ }
//}
}
@@ -485,4 +539,20 @@ public class RecipeGen_Ore implements Runnable{
return true;
}
+ public static ItemStack getTinyDust(Material m) {
+ ItemStack x = m.getTinyDust(1);
+ if (x == null) {
+ x = mStone.getDust(1);
+ }
+ return x;
+ }
+
+ public static ItemStack getDust(Material m) {
+ ItemStack x = m.getDust(1);
+ if (x == null) {
+ x = mStone.getDust(1);
+ }
+ return x;
+ }
+
}