aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus
diff options
context:
space:
mode:
Diffstat (limited to 'src/Java/gtPlusPlus')
-rw-r--r--src/Java/gtPlusPlus/core/item/ModItems.java7
-rw-r--r--src/Java/gtPlusPlus/core/material/MaterialGenerator.java48
-rw-r--r--src/Java/gtPlusPlus/everglades/GTplusplus_Everglades.java30
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_MaterialProcessing.java68
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Ore.java21
5 files changed, 95 insertions, 79 deletions
diff --git a/src/Java/gtPlusPlus/core/item/ModItems.java b/src/Java/gtPlusPlus/core/item/ModItems.java
index 4c6f0dc712..47278c559d 100644
--- a/src/Java/gtPlusPlus/core/item/ModItems.java
+++ b/src/Java/gtPlusPlus/core/item/ModItems.java
@@ -523,6 +523,9 @@ public final class ModItems {
MaterialGenerator.generateNuclearMaterial(ELEMENT.getInstance().POLONIUM210, false);
MaterialGenerator.generateNuclearMaterial(ELEMENT.getInstance().AMERICIUM241, false);
+ if (!CORE.GTNH) {
+ MaterialGenerator.generateOreMaterialWithAllExcessComponents(ELEMENT.getInstance().TRINIUM);
+ }
//Custom Materials that will have standalone refinery processes
MaterialGenerator.generate(ELEMENT.STANDALONE.ADVANCED_NITINOL, false);
@@ -534,8 +537,8 @@ public final class ModItems {
//Custom Materials that are from Runescape
MaterialGenerator.generate(ELEMENT.STANDALONE.BLACK_METAL);
MaterialGenerator.generate(ELEMENT.STANDALONE.WHITE_METAL);
- MaterialGenerator.generate(ELEMENT.STANDALONE.GRANITE, false, false);
- MaterialGenerator.generate(ELEMENT.STANDALONE.RUNITE, false);
+ MaterialGenerator.generateOreMaterialWithAllExcessComponents(ELEMENT.STANDALONE.GRANITE);
+ MaterialGenerator.generateOreMaterialWithAllExcessComponents(ELEMENT.STANDALONE.RUNITE);
MaterialGenerator.generate(ELEMENT.STANDALONE.DRAGON_METAL, false);
MISC_MATERIALS.run();
diff --git a/src/Java/gtPlusPlus/core/material/MaterialGenerator.java b/src/Java/gtPlusPlus/core/material/MaterialGenerator.java
index 96b5d8139f..d1ea784b81 100644
--- a/src/Java/gtPlusPlus/core/material/MaterialGenerator.java
+++ b/src/Java/gtPlusPlus/core/material/MaterialGenerator.java
@@ -411,6 +411,54 @@ public class MaterialGenerator {
t.printStackTrace();
}
}
+
+ public static boolean generateOreMaterialWithAllExcessComponents(final Material matInfo){
+ try {
+ if (matInfo == null){
+ Logger.DEBUG_MATERIALS("Invalid Material while constructing null material.");
+ return false;
+ }
+ final short[] C = matInfo.getRGBA();
+ final Integer Colour = Utils.rgbtoHexValue(C[0], C[1], C[2]);
+
+ tempBlock = new BlockBaseOre(matInfo, BlockTypes.ORE, Colour.intValue());
+ tempBlock = new BlockBaseModular(matInfo,BlockTypes.STANDARD);
+ temp = new BaseItemIngot(matInfo);
+ temp = new BaseItemDust(matInfo);
+ temp = new BaseItemNugget(matInfo);
+ temp = new BaseItemPlate(matInfo);
+ temp = new BaseItemPlateDouble(matInfo);
+
+
+ temp = new BaseItemCrushedOre(matInfo);
+ temp = new BaseItemCentrifugedCrushedOre(matInfo);
+ temp = new BaseItemPurifiedCrushedOre(matInfo);
+ temp = new BaseItemImpureDust(matInfo);
+ temp = new BaseItemPurifiedDust(matInfo);
+
+ Logger.MATERIALS("Generated all ore & base components for "+matInfo.getLocalizedName()+", now generating processing recipes.");
+
+ new RecipeGen_Ore(matInfo, true);
+ new RecipeGen_AlloySmelter(matInfo);
+ new RecipeGen_Assembler(matInfo);
+ new RecipeGen_BlastSmelter(matInfo);
+ new RecipeGen_MetalRecipe(matInfo);
+ new RecipeGen_Extruder(matInfo);
+ new RecipeGen_Fluids(matInfo);
+ new RecipeGen_Plates(matInfo);
+ new RecipeGen_ShapedCrafting(matInfo);
+ new RecipeGen_MaterialProcessing(matInfo);
+ new RecipeGen_DustGeneration(matInfo);
+ new RecipeGen_Recycling(matInfo);
+ return true;
+ }
+ catch (final Throwable t){
+ Logger.MATERIALS(""+matInfo.getLocalizedName()+" failed to generate.");
+ t.printStackTrace();
+ return false;
+ }
+
+ }
}
diff --git a/src/Java/gtPlusPlus/everglades/GTplusplus_Everglades.java b/src/Java/gtPlusPlus/everglades/GTplusplus_Everglades.java
index 0709f0b1ff..ef8aa080c2 100644
--- a/src/Java/gtPlusPlus/everglades/GTplusplus_Everglades.java
+++ b/src/Java/gtPlusPlus/everglades/GTplusplus_Everglades.java
@@ -126,36 +126,6 @@ public class GTplusplus_Everglades implements ActionListener {
if (LoadedMods.Big_Reactors) {
MaterialGenerator.generateOreMaterial(ELEMENT.getInstance().YELLORIUM, false, false, true, new short[] {255, 242, 10});
}
-
- if (!CORE.GTNH) {
- MaterialGenerator.generateOreMaterial(
- ELEMENT.getInstance().TRINIUM,
- true,
- false,
- false,
- ELEMENT.getInstance().TRINIUM_REFINED.getRGBA());
- }
-
-
-
- /*
- * OSRS Materials
- */
-
- MaterialGenerator.generateOreMaterial(
- ELEMENT.STANDALONE.GRANITE,
- true,
- false,
- false,
- ELEMENT.STANDALONE.GRANITE.getRGBA());
- MaterialGenerator.generateOreMaterial(
- ELEMENT.STANDALONE.RUNITE,
- true,
- false,
- false,
- ELEMENT.STANDALONE.RUNITE.getRGBA());
-
-
}
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_MaterialProcessing.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_MaterialProcessing.java
index f8108852f4..92d7f73ba4 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_MaterialProcessing.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_MaterialProcessing.java
@@ -3,12 +3,7 @@ package gtPlusPlus.xmod.gregtech.loaders;
import java.util.HashSet;
import java.util.Set;
-import net.minecraft.item.ItemStack;
-
-import gregtech.api.GregTech_API;
import gregtech.api.enums.GT_Values;
-import gregtech.api.util.GT_Recipe;
-
import gtPlusPlus.api.interfaces.RunnableWithInfo;
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.api.objects.data.AutoMap;
@@ -20,6 +15,7 @@ import gtPlusPlus.core.material.MaterialStack;
import gtPlusPlus.core.material.state.MaterialState;
import gtPlusPlus.core.recipe.common.CI;
import gtPlusPlus.core.util.minecraft.ItemUtils;
+import net.minecraft.item.ItemStack;
import net.minecraftforge.fluids.FluidStack;
public class RecipeGen_MaterialProcessing extends RecipeGen_Base {
@@ -30,16 +26,24 @@ public class RecipeGen_MaterialProcessing extends RecipeGen_Base {
}
public RecipeGen_MaterialProcessing(final Material M){
- this.toGenerate = M;
+ this(M, false);
+ }
+
+ public RecipeGen_MaterialProcessing(final Material M, final boolean O){
+ this.toGenerate = M;
+ this.disableOptional = O;
mRecipeGenMap.add(this);
}
@Override
public void run() {
- generateRecipes(this.toGenerate);
+ generateRecipes(this.toGenerate, this.disableOptional);
}
- private void generateRecipes(final Material material){
+ private void generateRecipes(final Material material, final boolean disableOptional){
+ if (disableOptional) {
+ return;
+ }
if (material.getMaterialComposites().length > 1){
Logger.MATERIALS("[Recipe Generator Debug] ["+material.getLocalizedName()+"]");
@@ -65,7 +69,7 @@ public class RecipeGen_MaterialProcessing extends RecipeGen_Base {
/**
- * Electrolyzer
+ * Centrifuge
*/
//Process Dust
@@ -79,14 +83,14 @@ public class RecipeGen_MaterialProcessing extends RecipeGen_Base {
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()+".");
+ Logger.MATERIALS("[Centrifuge] 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.");
+ Logger.MATERIALS("[Centrifuge] In total, adding "+mCellCount+" cells for "+material.getLocalizedName()+" processing.");
}
else {
- Logger.MATERIALS("[Electrolyzer] Found Solid Component, adding "+f.getKey()+" dusts of "+f.getValue().getLocalizedName()+".");
+ Logger.MATERIALS("[Centrifuge] Found Solid Component, adding "+f.getKey()+" dusts of "+f.getValue().getLocalizedName()+".");
mInternalOutputs[mCounter++] = f.getValue().getDust(f.getKey());
mTotalCount += f.getKey();
}
@@ -94,38 +98,38 @@ public class RecipeGen_MaterialProcessing extends RecipeGen_Base {
//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));
+ Logger.MATERIALS("[Centrifuge] 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.");
+ Logger.MATERIALS("[Centrifuge] 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.");
+ Logger.MATERIALS("[Centrifuge] 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.");
+ Logger.MATERIALS("[Centrifuge] Could not find valid input dust, trying alternative.");
if (mainDust != null){
- Logger.MATERIALS("[Electrolyzer] Recipe now requires "+mTotalCount+"x "+mainDust.getDisplayName()+" as input.");
+ Logger.MATERIALS("[Centrifuge] Recipe now requires "+mTotalCount+"x "+mainDust.getDisplayName()+" as input.");
}
else {
- Logger.MATERIALS("[Electrolyzer] Could not find valid input dust, exiting.");
+ Logger.MATERIALS("[Centrifuge] 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.");
+ Logger.MATERIALS("[Centrifuge] Set slot "+j+" to null.");
}
else {
- Logger.MATERIALS("[Electrolyzer] Set slot "+j+" to "+mInternalOutputs[j].getDisplayName()+".");
+ Logger.MATERIALS("[Centrifuge] Set slot "+j+" to "+mInternalOutputs[j].getDisplayName()+".");
}
}
@@ -144,10 +148,10 @@ public class RecipeGen_MaterialProcessing extends RecipeGen_Base {
mChances,
20*1*(tVoltageMultiplier/10),
tVoltageMultiplier)){
- Logger.MATERIALS("[Electrolyzer] Generated Electrolyzer recipe for "+material.getDust(1).getDisplayName());
+ Logger.MATERIALS("[Centrifuge] Generated Centrifuge recipe for "+material.getDust(1).getDisplayName());
}
else {
- Logger.MATERIALS("[Electrolyzer] Failed to generate Electrolyzer recipe for "+material.getDust(1).getDisplayName());
+ Logger.MATERIALS("[Centrifuge] Failed to generate Centrifuge recipe for "+material.getDust(1).getDisplayName());
}
}
catch(Throwable t){
@@ -252,23 +256,5 @@ public class RecipeGen_MaterialProcessing extends RecipeGen_Base {
public static boolean addCentrifgeRecipe(ItemStack aInput1, ItemStack aInput2, FluidStack aFluidInput, FluidStack aFluidOutput, ItemStack aOutput1, ItemStack aOutput2, ItemStack aOutput3, ItemStack aOutput4, ItemStack aOutput5, ItemStack aOutput6, int[] aChances, int aDuration, int aEUt) {
return GT_Values.RA.addCentrifugeRecipe(aInput1, aInput2, aFluidInput, aFluidOutput, aOutput1, aOutput2, aOutput3, aOutput4, aOutput5, aOutput6, aChances, aDuration, aEUt);
}
-
- public static boolean addElectrolyzerRecipe(ItemStack aInput1, ItemStack aInput2, FluidStack aFluidInput, FluidStack aFluidOutput, ItemStack aOutput1, ItemStack aOutput2, ItemStack aOutput3, ItemStack aOutput4, ItemStack aOutput5, ItemStack aOutput6, int[] aChances, int aDuration, int aEUt) {
- if (((aInput1 == null) && (aFluidInput == null)) || ((aOutput1 == null) && (aFluidOutput == null))) {
- Logger.MATERIALS("[Electrolyzer] Either both inputs or outputs are null.");
- return false;
- }
- if ((aInput1 != null) && ((aDuration = GregTech_API.sRecipeFile.get("electrolyzer", aInput1, aDuration)) <= 0)) {
- Logger.MATERIALS("[Electrolyzer] Fail 1.");
- return false;
- }
- if ((aFluidInput != null) && ((aDuration = GregTech_API.sRecipeFile.get("electrolyzer", aFluidInput.getFluid().getName(), aDuration)) <= 0)) {
- Logger.MATERIALS("[Electrolyzer] Fail 2.");
- return false;
- }
- GT_Recipe.GT_Recipe_Map.sElectrolyzerRecipes.addRecipe(true, new ItemStack[]{aInput1, aInput2}, new ItemStack[]{aOutput1, aOutput2, aOutput3, aOutput4, aOutput5, aOutput6}, null, aChances, new FluidStack[]{aFluidInput}, new FluidStack[]{aFluidOutput}, aDuration, aEUt, 0);
- Logger.MATERIALS("[Electrolyzer] Recipe added.");
- return true;
- }
-
+
}
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Ore.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Ore.java
index 54c99775f0..f3ff935d6e 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Ore.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Ore.java
@@ -33,20 +33,25 @@ public class RecipeGen_Ore extends RecipeGen_Base {
static {
MaterialGenerator.mRecipeMapsToGenerate.put(mRecipeGenMap);
}
-
+
public RecipeGen_Ore(final Material M){
+ this(M, false);
+ }
+
+ public RecipeGen_Ore(final Material M, final boolean O){
this.toGenerate = M;
+ this.disableOptional = O;
mRecipeGenMap.add(this);
}
@Override
public void run() {
- generateRecipes(this.toGenerate);
+ generateRecipes(this.toGenerate, this.disableOptional);
}
private static Material mStone;
- public static void generateRecipes(final Material material){
+ private void generateRecipes(final Material material, final boolean disableOptional){
if (mStone == null) {
mStone = MaterialUtils.generateMaterialFromGtENUM(Materials.Stone);
@@ -285,6 +290,7 @@ public class RecipeGen_Ore extends RecipeGen_Base {
* Electrolyzer
*/
+ if (!disableOptional) {
//Process Dust
if (componentMap.size() > 0 && componentMap.size() <= 6){
@@ -434,9 +440,7 @@ public class RecipeGen_Ore extends RecipeGen_Base {
}
}
- try{
-
-
+ try{
if (CORE.RA.addDehydratorRecipe(
new ItemStack[]{mainDust, emptyCell},
null,
@@ -446,6 +450,10 @@ public class RecipeGen_Ore extends RecipeGen_Base {
(int) Math.max(material.getMass() * 4L * 1, 1),
tVoltageMultiplier)){
Logger.MATERIALS("[Dehydrator] Generated Dehydrator recipe for "+matDust.getDisplayName());
+ Logger.MATERIALS("Inputs: "+mainDust.getDisplayName()+" x"+mainDust.stackSize+", "+(emptyCell == null ? "No Cells" : ""+emptyCell.getDisplayName()+" x"+emptyCell.stackSize));
+ Logger.MATERIALS("Outputs "+ItemUtils.getArrayStackNames(mInternalOutputs));
+ Logger.MATERIALS("Time: "+((int) Math.max(material.getMass() * 4L * 1, 1)));
+ Logger.MATERIALS("EU: "+tVoltageMultiplier);
}
else {
Logger.MATERIALS("[Dehydrator] Failed to generate Dehydrator recipe for "+matDust.getDisplayName());
@@ -457,6 +465,7 @@ public class RecipeGen_Ore extends RecipeGen_Base {
}
+ }
/**