From a47d4add073d3dafe6357b526ca5963466528feb Mon Sep 17 00:00:00 2001 From: Draknyte1 Date: Tue, 27 Dec 2016 04:21:20 +1000 Subject: % Changed the Autogenerated Fluid textures again. + Created Thorium-232, a step towards ThF4. + Added centrifuge recipe for Th->Th232(Bonus U232 0.10%). + Added THORIUM_HEXAFLUORIDE & THORIUM_TETRAFLUORIDE into ALLOY.java % Fixed fluid extractor recipes not being added for every dust. + Added more fluid extractor and fluid solidifier recipes for each material. - Removed old "uraniumHexafluoride", "uraniumTetrafluoride", "thoriumTetrafluoride" fluids and IC2 cells. % Changed Multitank Controller Logic, maybe broke things. + Added getNugget and getCell to Material.java % Changed MaterialGenerator.java to use the materials radioactivity level, not the old method based on name. % Moved material blacklist for BlastSmelting Recipe generation out of material/MaterialGenerator.java. --- src/Java/gtPlusPlus/core/material/ALLOY.java | 65 ++++++++++++++++++++++ src/Java/gtPlusPlus/core/material/ELEMENT.java | 12 ++-- src/Java/gtPlusPlus/core/material/Material.java | 12 +++- .../core/material/MaterialGenerator.java | 5 +- .../gtPlusPlus/core/material/MaterialStack.java | 10 ++++ 5 files changed, 95 insertions(+), 9 deletions(-) (limited to 'src/Java/gtPlusPlus/core/material') diff --git a/src/Java/gtPlusPlus/core/material/ALLOY.java b/src/Java/gtPlusPlus/core/material/ALLOY.java index b161ea0f4c..a3d4946744 100644 --- a/src/Java/gtPlusPlus/core/material/ALLOY.java +++ b/src/Java/gtPlusPlus/core/material/ALLOY.java @@ -1,5 +1,7 @@ package gtPlusPlus.core.material; +import gregtech.api.enums.Materials; + public final class ALLOY { @@ -499,6 +501,69 @@ public final class ALLOY { new MaterialStack(ELEMENT.getInstance().OXYGEN, 10) }); + public static final Material THORIUM_HEXAFLUORIDE = new Material( + "Thorium Hexafluoride", //Material Name + new short[]{10, 50, 10, 0}, //Material Colour + Materials.Thorium.mMeltingPoint, //Melting Point in C + Materials.Thorium.mBlastFurnaceTemp, //Boiling Point in C + ((ELEMENT.getInstance().THORIUM232.getProtons()+ELEMENT.getInstance().THORIUM232.getProtons()+(ELEMENT.getInstance().FLUORINE.getProtons()*6))/8), //Protons + ((ELEMENT.getInstance().THORIUM232.getNeutrons()+ELEMENT.getInstance().THORIUM232.getNeutrons()+(ELEMENT.getInstance().FLUORINE.getNeutrons()*6))/8), //Neutrons + false, //Uses Blast furnace? + //Material Stacks with Percentage of required elements. + new MaterialStack[]{ + new MaterialStack(ELEMENT.getInstance().THORIUM232, 1), + new MaterialStack(ELEMENT.getInstance().THORIUM, 1), + new MaterialStack(ELEMENT.getInstance().FLUORINE, 12) + }); + + public static final Material THORIUM_TETRAFLUORIDE = new Material( + "Thorium Tetrafluoride", //Material Name + new short[]{25, 70, 25, 0}, //Material Colour + Materials.Thorium.mMeltingPoint, //Melting Point in C + Materials.Thorium.mBlastFurnaceTemp, //Boiling Point in C + ((ELEMENT.getInstance().THORIUM232.getProtons()+(ELEMENT.getInstance().FLUORINE.getProtons()*4))/5), //Protons + ((ELEMENT.getInstance().THORIUM232.getNeutrons()+(ELEMENT.getInstance().FLUORINE.getNeutrons()*4))/5), //Neutrons + false, //Uses Blast furnace? + //Material Stacks with Percentage of required elements. + new MaterialStack[]{ + new MaterialStack(ELEMENT.getInstance().THORIUM232, 1), + new MaterialStack(ELEMENT.getInstance().FLUORINE, 4) + }); + + public static final Material LiFBeF2ZrF4U235 = new Material( + "Reactor Salt LiFBeF2ZrF4U235", //Material Name + new short[]{50, 70, 15, 0}, //Material Colour + 590, //Melting Point in C + 890, //Boiling Point in C + 150, //Protons + 150, //Neutrons + true, //Uses Blast furnace? + //Material Stacks with Percentage of required elements. + new MaterialStack[]{ + new MaterialStack(ELEMENT.getInstance().LITHIUM7, 1), + new MaterialStack(ELEMENT.getInstance().BERYLLIUM, 1), + new MaterialStack(ELEMENT.getInstance().ZIRCONIUM, 1), + new MaterialStack(ELEMENT.getInstance().URANIUM, 1), + new MaterialStack(ELEMENT.getInstance().FLUORINE, 6) + }); + + public static final Material LiFBeF2ThF4UF4 = new Material( + "Reactor Salt LiFBeF2ThF4UF4", //Material Name + new short[]{40, 90, 25, 0}, //Material Colour + 566, //Melting Point in C + 870, //Boiling Point in C + 150, //Protons + 150, //Neutrons + true, //Uses Blast furnace? + //Material Stacks with Percentage of required elements. + new MaterialStack[]{ + new MaterialStack(ELEMENT.getInstance().LITHIUM7, 1), + new MaterialStack(ELEMENT.getInstance().BERYLLIUM, 1), + new MaterialStack(ALLOY.THORIUM_TETRAFLUORIDE, 1), + new MaterialStack(ELEMENT.getInstance().URANIUM233, 1), + new MaterialStack(ELEMENT.getInstance().FLUORINE, 6) + }); + public static final Material LEAGRISIUM = new Material( "Grisium", //Material Name diff --git a/src/Java/gtPlusPlus/core/material/ELEMENT.java b/src/Java/gtPlusPlus/core/material/ELEMENT.java index e88393e2f3..8933055668 100644 --- a/src/Java/gtPlusPlus/core/material/ELEMENT.java +++ b/src/Java/gtPlusPlus/core/material/ELEMENT.java @@ -85,15 +85,19 @@ public final class ELEMENT { public final Material LEAD = MaterialUtils.generateMaterialFromGtENUM(Materials.Lead); public final Material BISMUTH = MaterialUtils.generateMaterialFromGtENUM(Materials.Bismuth); public final Material RADON = MaterialUtils.generateMaterialFromGtENUM(Materials.Radon); - public final Material THORIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Thorium); + public final Material THORIUM = new Material("Thorium", Materials.Thorium.mRGBa, Materials.Thorium.mMeltingPoint, Materials.Thorium.mBlastFurnaceTemp, 90, 142, false, MaterialUtils.superscript("Th"), 1); + /*MaterialUtils.generateMaterialFromGtENUM(Materials.Thorium);*/ public final Material URANIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Uranium); public final Material PLUTONIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Plutonium); //Custom Isotopes - public final Material LITHIUM7 = new Material("Lithium-7", Materials.Lithium.mRGBa, Materials.Lithium.mMeltingPoint, Materials.Lithium.mBlastFurnaceTemp, Materials.Lithium.getProtons(), Materials.Lithium.getNeutrons(), Materials.Lithium.mBlastFurnaceRequired, MaterialUtils.superscript("7Li"), 0);//Not a GT Inherited Material - public final Material URANIUM232 = new Material("Uranium-232", new short[]{88, 220, 103, 0}, 1132, 4131, 92, 140, false, MaterialUtils.superscript("232U"), 4);//Not a GT Inherited Material - public final Material URANIUM233 = new Material("Uranium-233", new short[]{73, 220, 83, 0}, 1132, 4131, 92, 141, false, MaterialUtils.superscript("233U"), 2);//Not a GT Inherited Material + public final Material LITHIUM7 = new Material("Lithium 7", Materials.Lithium.mRGBa, Materials.Lithium.mMeltingPoint, Materials.Lithium.mBlastFurnaceTemp, Materials.Lithium.getProtons(), Materials.Lithium.getNeutrons(), Materials.Lithium.mBlastFurnaceRequired, MaterialUtils.superscript("7Li"), 0);//Not a GT Inherited Material + public final Material URANIUM232 = new Material("Uranium 232", new short[]{88, 220, 103, 0}, 1132, 4131, 92, 140, false, MaterialUtils.superscript("232U"), 4);//Not a GT Inherited Material + public final Material URANIUM233 = new Material("Uranium 233", new short[]{73, 220, 83, 0}, 1132, 4131, 92, 141, false, MaterialUtils.superscript("233U"), 2);//Not a GT Inherited Material + + public final Material THORIUM232 = new Material("Thorium 232", new short[]{15, 60, 15, 0}, Materials.Thorium.mMeltingPoint, Materials.Thorium.mBlastFurnaceTemp, 90, 142, false, MaterialUtils.superscript("232Th"), 1);//Not a GT Inherited Material + //public final Material THORIUMTETRAFLUORIDE = new Material("Thorium Tetrafluoride", Materials.Thorium.mRGBa, Materials.Thorium.mMeltingPoint, Materials.Thorium.mBlastFurnaceTemp, Materials.Thorium.getProtons(), Materials.Thorium.getNeutrons(), false, MaterialUtils.superscript("Th"), 1);//Not a GT Inherited Material //Misc diff --git a/src/Java/gtPlusPlus/core/material/Material.java b/src/Java/gtPlusPlus/core/material/Material.java index 1ddd93003a..a91ad41c4e 100644 --- a/src/Java/gtPlusPlus/core/material/Material.java +++ b/src/Java/gtPlusPlus/core/material/Material.java @@ -289,6 +289,14 @@ public class Material { final public ItemStack getFrameBox(int stacksize){ return ItemUtils.getItemStackOfAmountFromOreDictNoBroken("frameGt"+unlocalizedName, stacksize); } + + final public ItemStack getCell(int stacksize){ + return ItemUtils.getItemStackOfAmountFromOreDictNoBroken("cell"+unlocalizedName, stacksize); + } + + final public ItemStack getNugget(int stacksize){ + return ItemUtils.getItemStackOfAmountFromOreDictNoBroken("nugget"+unlocalizedName, stacksize); + } final public ItemStack[] getMaterialComposites(){ //Utils.LOG_WARNING("Something requested the materials needed for "+localizedName); @@ -299,7 +307,7 @@ public class Material { //Utils.LOG_WARNING("i:"+i); ItemStack testNull = null; try { - testNull = vMaterialInput.get(i).getDustStack(); + testNull = vMaterialInput.get(i).getValidStack(); } catch (Throwable r){ Utils.LOG_WARNING("Failed gathering material stack for "+localizedName+"."); Utils.LOG_WARNING("What Failed: Length:"+vMaterialInput.size()+" current:"+i); @@ -307,7 +315,7 @@ public class Material { try { if (testNull != null){ //Utils.LOG_WARNING("not null"); - temp[i] = vMaterialInput.get(i).getDustStack(); + temp[i] = vMaterialInput.get(i).getValidStack(); } } catch (Throwable r){ Utils.LOG_WARNING("Failed setting slot "+i+", using "+localizedName); diff --git a/src/Java/gtPlusPlus/core/material/MaterialGenerator.java b/src/Java/gtPlusPlus/core/material/MaterialGenerator.java index 9e0506dabb..17640e7eb2 100644 --- a/src/Java/gtPlusPlus/core/material/MaterialGenerator.java +++ b/src/Java/gtPlusPlus/core/material/MaterialGenerator.java @@ -41,7 +41,7 @@ public class MaterialGenerator { int sRadiation = 0; if (ItemUtils.isRadioactive(materialName)){ - sRadiation = ItemUtils.getRadioactivityLevel(materialName); + sRadiation = matInfo.vRadioationLevel; } if (generateEverything == true){ @@ -103,8 +103,7 @@ public class MaterialGenerator { RecipeGen_Extruder.generateRecipes(matInfo); RecipeGen_ShapedCrafting.generateRecipes(matInfo); RecipeGen_DustGeneration.generateRecipes(matInfo); - if (matInfo != ALLOY.ENERGYCRYSTAL && matInfo != ALLOY.BLOODSTEEL) - RecipeGen_BlastSmelter.generateARecipe(matInfo); + RecipeGen_BlastSmelter.generateARecipe(matInfo); } diff --git a/src/Java/gtPlusPlus/core/material/MaterialStack.java b/src/Java/gtPlusPlus/core/material/MaterialStack.java index f2f8ff4e5a..385940d999 100644 --- a/src/Java/gtPlusPlus/core/material/MaterialStack.java +++ b/src/Java/gtPlusPlus/core/material/MaterialStack.java @@ -32,6 +32,16 @@ public class MaterialStack { intArr[1]=Integer.parseInt(arr[1]); return intArr; } + + public ItemStack getValidStack(){ + if (this.stackMaterial.getDust(1) == null){ + if (this.stackMaterial.getCell(1) == null){ + return null; + } + return this.stackMaterial.getCell(this.vAmount[0]); + } + return this.stackMaterial.getDust(this.vAmount[0]); + } public ItemStack getDustStack(){ return this.stackMaterial.getDust(this.vAmount[0]); -- cgit