diff options
author | Jordan Byrne <draknyte1@hotmail.com> | 2018-03-03 23:11:13 +1000 |
---|---|---|
committer | Jordan Byrne <draknyte1@hotmail.com> | 2018-03-03 23:11:13 +1000 |
commit | 6493e0e0649efa1410b178daab61414f5529e5a6 (patch) | |
tree | 96d3add4e57f3cf08702007a24ea629933f2c3ba | |
parent | cd9ab98391dd7baaba4106e69823f4040d91e052 (diff) | |
download | GT5-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.
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 |