aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJordan Byrne <draknyte1@hotmail.com>2018-03-03 23:11:13 +1000
committerJordan Byrne <draknyte1@hotmail.com>2018-03-03 23:11:13 +1000
commit6493e0e0649efa1410b178daab61414f5529e5a6 (patch)
tree96d3add4e57f3cf08702007a24ea629933f2c3ba
parentcd9ab98391dd7baaba4106e69823f4040d91e052 (diff)
downloadGT5-Unofficial-6493e0e0649efa1410b178daab61414f5529e5a6.tar.gz
GT5-Unofficial-6493e0e0649efa1410b178daab61414f5529e5a6.tar.bz2
GT5-Unofficial-6493e0e0649efa1410b178daab61414f5529e5a6.zip
+ Added Crushed ore components and recipes for Yellorium if Big Reactors is present.
$ Fixed invalid recipes generated from Fluorite not having a valid dust output. % Rebalanced Fluorite ore composition.
-rw-r--r--src/Java/gtPlusPlus/GTplusplus_Secondary.java9
-rw-r--r--src/Java/gtPlusPlus/core/material/ELEMENT.java1
-rw-r--r--src/Java/gtPlusPlus/core/material/Material.java6
-rw-r--r--src/Java/gtPlusPlus/core/material/MaterialGenerator.java25
-rw-r--r--src/Java/gtPlusPlus/core/material/nuclear/FLUORIDES.java9
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Ore.java54
6 files changed, 76 insertions, 28 deletions
diff --git a/src/Java/gtPlusPlus/GTplusplus_Secondary.java b/src/Java/gtPlusPlus/GTplusplus_Secondary.java
index c8fa7bb7d5..f29ae1afe0 100644
--- a/src/Java/gtPlusPlus/GTplusplus_Secondary.java
+++ b/src/Java/gtPlusPlus/GTplusplus_Secondary.java
@@ -13,6 +13,8 @@ import cpw.mods.fml.relauncher.IFMLLoadingPlugin.MCVersion;
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.lib.CORE.Everglades;
+import gtPlusPlus.core.lib.LoadedMods;
+import gtPlusPlus.core.material.ELEMENT;
import gtPlusPlus.core.material.MaterialGenerator;
import gtPlusPlus.core.material.ORES;
import gtPlusPlus.core.world.darkworld.Dimension_DarkWorld;
@@ -101,7 +103,12 @@ public class GTplusplus_Secondary implements ActionListener {
MaterialGenerator.generateOreMaterial(ORES.CERITE);
MaterialGenerator.generateOreMaterial(ORES.FLUORCAPHITE);
MaterialGenerator.generateOreMaterial(ORES.FLORENCITE);
- MaterialGenerator.generateOreMaterial(ORES.CRYOLITE);
+ MaterialGenerator.generateOreMaterial(ORES.CRYOLITE);
+
+ //Custom Ores
+ if (LoadedMods.Big_Reactors) {
+ MaterialGenerator.generateOreMaterial(ELEMENT.getInstance().YELLORIUM, false, false, true, new short[] {255, 242, 10});
+ }
}
void setVars(FMLPreInitializationEvent event){
diff --git a/src/Java/gtPlusPlus/core/material/ELEMENT.java b/src/Java/gtPlusPlus/core/material/ELEMENT.java
index b05ae53c03..d2cff13461 100644
--- a/src/Java/gtPlusPlus/core/material/ELEMENT.java
+++ b/src/Java/gtPlusPlus/core/material/ELEMENT.java
@@ -145,6 +145,7 @@ public final class ELEMENT {
public final Material AQUA = MaterialUtils.generateMaterialFromGtENUM(Materials.InfusedWater);
//Fictional
+ public final Material YELLORIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Yellorium);
public final Material NAQUADAH = MaterialUtils.generateMaterialFromGtENUM(Materials.Naquadah);
public final Material TRINIUM;
public final Material TRINIUM_REFINED;
diff --git a/src/Java/gtPlusPlus/core/material/Material.java b/src/Java/gtPlusPlus/core/material/Material.java
index 28c6a76bec..93b03af96c 100644
--- a/src/Java/gtPlusPlus/core/material/Material.java
+++ b/src/Java/gtPlusPlus/core/material/Material.java
@@ -561,6 +561,12 @@ public class Material {
}
public final ItemStack getDustImpure(final int stacksize){
return ItemUtils.getItemStackOfAmountFromOreDictNoBroken("dustImpure"+this.unlocalizedName, stacksize);
+ }
+ public final boolean hasSolidForm() {
+ if (this.getDust(1) != null || this.getBlock(1) != null || this.getSmallDust(1) != null || this.getTinyDust(1) != null) {
+ return true;
+ }
+ return false;
}
final public ItemStack[] getMaterialComposites(){
diff --git a/src/Java/gtPlusPlus/core/material/MaterialGenerator.java b/src/Java/gtPlusPlus/core/material/MaterialGenerator.java
index 9dd3e11ec8..01690fa233 100644
--- a/src/Java/gtPlusPlus/core/material/MaterialGenerator.java
+++ b/src/Java/gtPlusPlus/core/material/MaterialGenerator.java
@@ -227,8 +227,13 @@ public class MaterialGenerator {
}
}
- @SuppressWarnings("unused")
+
public static void generateOreMaterial(final Material matInfo){
+ generateOreMaterial(matInfo, true, true, true, matInfo.getRGBA());
+ }
+
+ @SuppressWarnings("unused")
+ public static void generateOreMaterial(final Material matInfo, boolean generateOre, boolean generateDust, boolean generateSmallTinyDusts, short[] customRGB){
try {
if (matInfo == null){
@@ -238,7 +243,7 @@ public class MaterialGenerator {
final String unlocalizedName = matInfo.getUnlocalizedName();
final String materialName = matInfo.getLocalizedName();
- final short[] C = matInfo.getRGBA();
+ final short[] C = customRGB;
final Integer Colour = Utils.rgbtoHexValue(C[0], C[1], C[2]);
@@ -256,12 +261,18 @@ public class MaterialGenerator {
Block tempBlock;
+ if (generateOre) {
+ tempBlock = new BlockBaseOre(matInfo, BlockTypes.ORE, Colour.intValue());
+ }
- tempBlock = new BlockBaseOre(matInfo, BlockTypes.ORE, Colour.intValue());
-
- temp = new BaseItemDust("itemDust"+unlocalizedName, materialName, matInfo, Colour, "Dust", matInfo.vTier, sRadiation, false);
- temp = new BaseItemDust("itemDustTiny"+unlocalizedName, materialName, matInfo, Colour, "Tiny", matInfo.vTier, sRadiation, false);
- temp = new BaseItemDust("itemDustSmall"+unlocalizedName, materialName, matInfo, Colour, "Small", matInfo.vTier, sRadiation, false);
+ if (generateDust) {
+ temp = new BaseItemDust("itemDust"+unlocalizedName, materialName, matInfo, Colour, "Dust", matInfo.vTier, sRadiation, false);
+ }
+ if (generateSmallTinyDusts) {
+ temp = new BaseItemDust("itemDustTiny"+unlocalizedName, materialName, matInfo, Colour, "Tiny", matInfo.vTier, sRadiation, false);
+ temp = new BaseItemDust("itemDustSmall"+unlocalizedName, materialName, matInfo, Colour, "Small", matInfo.vTier, sRadiation, false);
+ }
+
temp = new BaseItemCrushedOre(matInfo);
temp = new BaseItemCentrifugedCrushedOre(matInfo);
temp = new BaseItemPurifiedCrushedOre(matInfo);
diff --git a/src/Java/gtPlusPlus/core/material/nuclear/FLUORIDES.java b/src/Java/gtPlusPlus/core/material/nuclear/FLUORIDES.java
index eec86cce38..affe480a57 100644
--- a/src/Java/gtPlusPlus/core/material/nuclear/FLUORIDES.java
+++ b/src/Java/gtPlusPlus/core/material/nuclear/FLUORIDES.java
@@ -6,7 +6,6 @@ import gtPlusPlus.core.material.ELEMENT;
import gtPlusPlus.core.material.Material;
import gtPlusPlus.core.material.MaterialStack;
import gtPlusPlus.core.material.state.MaterialState;
-import gtPlusPlus.core.util.minecraft.MaterialUtils;
public class FLUORIDES {
@@ -26,9 +25,11 @@ public class FLUORIDES {
false, //Generate cells
//Material Stacks with Percentage of required elements.
new MaterialStack[]{
- new MaterialStack(ELEMENT.getInstance().CALCIUM, 24),
- new MaterialStack(ELEMENT.getInstance().FLUORINE, 72),
- new MaterialStack(MaterialUtils.generateMaterialFromGtENUM(Materials.Galena), 4)
+ new MaterialStack(ELEMENT.getInstance().CALCIUM, 16),
+ new MaterialStack(ELEMENT.getInstance().FLUORINE, 32),
+ new MaterialStack(ELEMENT.getInstance().IRON, 4),
+ new MaterialStack(ELEMENT.getInstance().CARBON, 2),
+ new MaterialStack(ELEMENT.getInstance().COBALT, 2)
});
//ThF4
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Ore.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Ore.java
index f42f39cd5d..1e252edc29 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Ore.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Ore.java
@@ -48,31 +48,47 @@ public class RecipeGen_Ore implements Runnable{
else {
return;
}
+
+ boolean allFailed = false;
if (material.getComposites().size() >= 1 && material.getComposites().get(1) != null){
bonusB = material.getComposites().get(1).getStackMaterial();
- }
- else if (material.getComposites().size() >= 1 && material.getComposites().get(1) == null){
- if (material.getComposites().get(0) != null){
- bonusB = material.getComposites().get(0).getStackMaterial();
- }
- else {
- bonusB = ELEMENT.getInstance().CHROMIUM;
+ //If Secondary Output has no solid output, try the third (If it exists)
+ if (!bonusB.hasSolidForm() && material.getComposites().size() >= 2 && material.getComposites().get(2) != null) {
+ bonusB = material.getComposites().get(2).getStackMaterial();
+ //If Third Output has no solid output, try the Fourth (If it exists)
+ if (!bonusB.hasSolidForm() && material.getComposites().size() >= 3 && material.getComposites().get(3) != null) {
+ bonusB = material.getComposites().get(3).getStackMaterial();
+ //If Fourth Output has no solid output, try the Fifth (If it exists)
+ if (!bonusB.hasSolidForm() && material.getComposites().size() >= 4 && material.getComposites().get(4) != null) {
+ bonusB = material.getComposites().get(4).getStackMaterial();
+ //If Fifth Output has no solid output, default out to Chrome.
+ if (!bonusB.hasSolidForm() && material.getComposites().size() >= 4 && material.getComposites().get(4) != null) {
+ allFailed = true;
+ bonusB = null;
+ }
+ }
+ }
}
- }
+ }
else {
- //Ultra Bonus
- bonusB = ELEMENT.getInstance().GALLIUM;
+ allFailed = true;
+ bonusB = null;
}
- AutoMap<Pair<Integer, Material>> componentMap = new AutoMap<Pair<Integer, Material>>();
+ //Default out if it's made of fluids or some shit.
+ if (allFailed) {
+ bonusB = ELEMENT.getInstance().CHROMIUM;
+ }
+ 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()));
}
}
- if (bonusA == null || bonusB == null) {
+ //Need two valid outputs
+ if (bonusA == null || bonusB == null || !bonusA.hasSolidForm() || !bonusB.hasSolidForm()) {
return;
}
/**
@@ -109,7 +125,7 @@ public class RecipeGen_Ore implements Runnable{
-
+
/**
* Thermal Centrifuge
@@ -122,15 +138,21 @@ public class RecipeGen_Ore implements Runnable{
if (GT_Values.RA.addThermalCentrifugeRecipe(material.getCrushedPurified(1), material.getCrushedCentrifuged(1), bonusA.getTinyDust(1), dustStone, 25*20, 24)){
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"));
+
//.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'");
+ 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()+".");
}
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'");
+ 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()+".");
}
-
+
/**
* Forge Hammer