diff options
author | Draknyte1 <Draknyte1@hotmail.com> | 2016-11-06 19:32:27 +1000 |
---|---|---|
committer | Draknyte1 <Draknyte1@hotmail.com> | 2016-11-06 19:32:27 +1000 |
commit | cbe0e497be8e466c380a5b4fa781b314ede9ada3 (patch) | |
tree | b85848b432adf458e3abda466ee46d9dfc3e454b /src/Java/gtPlusPlus/core/material | |
parent | c40416b036c0e89451e1558253ccf07bbee028d0 (diff) | |
download | GT5-Unofficial-cbe0e497be8e466c380a5b4fa781b314ede9ada3.tar.gz GT5-Unofficial-cbe0e497be8e466c380a5b4fa781b314ede9ada3.tar.bz2 GT5-Unofficial-cbe0e497be8e466c380a5b4fa781b314ede9ada3.zip |
Revert "$ Cleaned up the entire project."
This reverts commit 0669f5eb9d5029a8b94ec552171b0837605f7747.
# Conflicts:
# src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMTE_NuclearReactor.java
# src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_MassFabricator.java
Revert "% Cleaned up Imports."
This reverts commit 3654052fb63a571c5eaca7f20714b87c17f7e966.
Diffstat (limited to 'src/Java/gtPlusPlus/core/material')
-rw-r--r-- | src/Java/gtPlusPlus/core/material/ALLOY.java | 1268 | ||||
-rw-r--r-- | src/Java/gtPlusPlus/core/material/ELEMENT.java | 171 | ||||
-rw-r--r-- | src/Java/gtPlusPlus/core/material/Material.java | 606 | ||||
-rw-r--r-- | src/Java/gtPlusPlus/core/material/MaterialGenerator.java | 88 | ||||
-rw-r--r-- | src/Java/gtPlusPlus/core/material/MaterialStack.java | 101 |
5 files changed, 889 insertions, 1345 deletions
diff --git a/src/Java/gtPlusPlus/core/material/ALLOY.java b/src/Java/gtPlusPlus/core/material/ALLOY.java index 53711a3a9f..56cc6d1343 100644 --- a/src/Java/gtPlusPlus/core/material/ALLOY.java +++ b/src/Java/gtPlusPlus/core/material/ALLOY.java @@ -1,1015 +1,559 @@ package gtPlusPlus.core.material; + public final class ALLOY { - public static final Material ENERGYCRYSTAL = new Material("Energy Crystal", // Material - // Name - new short[] { - 228, 255, 0, 0 - }, // Material - // Colour - 5660, // Melting - // Point - // in - // C - 0, // Boiling - // Point - // in - // C - 100, // Protons - 100, // Neutrons - true, // Uses - // Blast - // furnace? - // Material Stacks with Percentage of required elements. + public static final Material ENERGYCRYSTAL = new Material( + "Energy Crystal", //Material Name + new short[]{228, 255, 0, 0}, //Material Colour + 5660, //Melting Point in C + 0, //Boiling Point in C + 100, //Protons + 100, //Neutrons + true, //Uses Blast furnace? + //Material Stacks with Percentage of required elements. null); - public static final Material BLOODSTEEL = new Material("Blood Steel", // Material - // Name - new short[] { - 142, 28, 0, 0 - }, // Material - // Colour - 2500, // Melting - // Point - // in - // C - 0, // Boiling - // Point - // in - // C - 100, // Protons - 100, // Neutrons - false, // Uses - // Blast - // furnace? - // Material Stacks with Percentage of required elements. + public static final Material BLOODSTEEL = new Material( + "Blood Steel", //Material Name + new short[]{142, 28, 0, 0}, //Material Colour + 2500, //Melting Point in C + 0, //Boiling Point in C + 100, //Protons + 100, //Neutrons + false, //Uses Blast furnace? + //Material Stacks with Percentage of required elements. null); - public static final Material STABALLOY = new Material("Staballoy", // Material - // Name - new short[] { - 68, 75, 66, 0 - }, // Material - // Colour - 3450, // Melting - // Point - // in - // C - (ELEMENT.getInstance().URANIUM.getBoilingPointC() * 9 - + ELEMENT.getInstance().TITANIUM.getBoilingPointC() * 1) / 10, // Boiling - // Point - // in - // C - (ELEMENT.getInstance().URANIUM.getProtons() * 9 + ELEMENT.getInstance().TITANIUM.getProtons()) / 10, // Protons - (ELEMENT.getInstance().URANIUM.getNeutrons() * 9 + ELEMENT.getInstance().TITANIUM.getNeutrons()) / 10, // Neutrons - true, // Uses - // Blast - // furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack[] { + public static final Material STABALLOY = new Material( + "Staballoy", //Material Name + new short[]{68, 75, 66, 0}, //Material Colour + 3450, //Melting Point in C + ((ELEMENT.getInstance().URANIUM.getBoilingPointC()*9)+(ELEMENT.getInstance().TITANIUM.getBoilingPointC()*1))/10, //Boiling Point in C + ((ELEMENT.getInstance().URANIUM.getProtons()*9)+ELEMENT.getInstance().TITANIUM.getProtons())/10, //Protons + ((ELEMENT.getInstance().URANIUM.getNeutrons()*9)+ELEMENT.getInstance().TITANIUM.getNeutrons())/10, //Neutrons + true, //Uses Blast furnace? + //Material Stacks with Percentage of required elements. + new MaterialStack[]{ new MaterialStack(ELEMENT.getInstance().URANIUM, 9), new MaterialStack(ELEMENT.getInstance().TITANIUM, 1) }); - public static final Material TANTALLOY_60 = new Material("Tantalloy-60", // Material - // Name - new short[] { - 213, 231, 237, 0 - }, // Material - // Colour - 3025, // Melting - // Point - // in - // C - (ELEMENT.getInstance().TUNGSTEN.getBoilingPointC() * 1 - + ELEMENT.getInstance().TANTALUM.getBoilingPointC() * 8 - + ELEMENT.getInstance().TITANIUM.getBoilingPointC() * 1) / 10, // Boiling - // Point - // in - // C - (ELEMENT.getInstance().TUNGSTEN.getProtons() * 1 + ELEMENT.getInstance().TANTALUM.getProtons() * 8 - + ELEMENT.getInstance().TITANIUM.getProtons() * 1) / 10, // Protons - (ELEMENT.getInstance().TUNGSTEN.getNeutrons() * 1 + ELEMENT.getInstance().TANTALUM.getNeutrons() * 8 - + ELEMENT.getInstance().TITANIUM.getNeutrons() * 1) / 10, // Neutrons - true, // Uses - // Blast - // furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack[] { + public static final Material TANTALLOY_60 = new Material( + "Tantalloy-60", //Material Name + new short[]{213, 231, 237, 0}, //Material Colour + 3025, //Melting Point in C + ((ELEMENT.getInstance().TUNGSTEN.getBoilingPointC()*1)+(ELEMENT.getInstance().TANTALUM.getBoilingPointC()*8)+(ELEMENT.getInstance().TITANIUM.getBoilingPointC()*1))/10, //Boiling Point in C + ((ELEMENT.getInstance().TUNGSTEN.getProtons()*1)+(ELEMENT.getInstance().TANTALUM.getProtons()*8)+(ELEMENT.getInstance().TITANIUM.getProtons()*1))/10, //Protons + ((ELEMENT.getInstance().TUNGSTEN.getNeutrons()*1)+(ELEMENT.getInstance().TANTALUM.getNeutrons()*8)+(ELEMENT.getInstance().TITANIUM.getNeutrons()*1))/10, //Neutrons + true, //Uses Blast furnace? + //Material Stacks with Percentage of required elements. + new MaterialStack[]{ new MaterialStack(ELEMENT.getInstance().TUNGSTEN, 4), new MaterialStack(ELEMENT.getInstance().TANTALUM, 46) }); - public static final Material TANTALLOY_61 = new Material("Tantalloy-61", // Material - // Name - new short[] { - 193, 211, 217, 0 - }, // Material - // Colour - 3030, // Melting - // Point - // in - // C - (ELEMENT.getInstance().TUNGSTEN.getBoilingPointC() * 1 - + ELEMENT.getInstance().TANTALUM.getBoilingPointC() * 7 - + ELEMENT.getInstance().TITANIUM.getBoilingPointC() * 1 - + ELEMENT.getInstance().YTTRIUM.getBoilingPointC() * 1) / 10, // Boiling - // Point - // in - // C - (ELEMENT.getInstance().TUNGSTEN.getProtons() * 1 + ELEMENT.getInstance().TANTALUM.getProtons() * 7 - + ELEMENT.getInstance().TITANIUM.getProtons() * 1 + ELEMENT.getInstance().YTTRIUM.getProtons() * 1) - / 10, // Protons - (ELEMENT.getInstance().TUNGSTEN.getNeutrons() * 1 + ELEMENT.getInstance().TANTALUM.getNeutrons() * 7 - + ELEMENT.getInstance().TITANIUM.getNeutrons() * 1 - + ELEMENT.getInstance().YTTRIUM.getNeutrons() * 1) / 10, // Neutrons - true, // Uses - // Blast - // furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack[] { - new MaterialStack(ALLOY.TANTALLOY_60, 2), new MaterialStack(ELEMENT.getInstance().TITANIUM, 12), + public static final Material TANTALLOY_61 = new Material( + "Tantalloy-61", //Material Name + new short[]{193, 211, 217, 0}, //Material Colour + 3030, //Melting Point in C + ((ELEMENT.getInstance().TUNGSTEN.getBoilingPointC()*1)+(ELEMENT.getInstance().TANTALUM.getBoilingPointC()*7)+(ELEMENT.getInstance().TITANIUM.getBoilingPointC()*1)+(ELEMENT.getInstance().YTTRIUM.getBoilingPointC()*1))/10, //Boiling Point in C + ((ELEMENT.getInstance().TUNGSTEN.getProtons()*1)+(ELEMENT.getInstance().TANTALUM.getProtons()*7)+(ELEMENT.getInstance().TITANIUM.getProtons()*1)+(ELEMENT.getInstance().YTTRIUM.getProtons()*1))/10, //Protons + ((ELEMENT.getInstance().TUNGSTEN.getNeutrons()*1)+(ELEMENT.getInstance().TANTALUM.getNeutrons()*7)+(ELEMENT.getInstance().TITANIUM.getNeutrons()*1)+(ELEMENT.getInstance().YTTRIUM.getNeutrons()*1))/10, //Neutrons + true, //Uses Blast furnace? + //Material Stacks with Percentage of required elements. + new MaterialStack[]{ + new MaterialStack(ALLOY.TANTALLOY_60, 2), + new MaterialStack(ELEMENT.getInstance().TITANIUM, 12), new MaterialStack(ELEMENT.getInstance().YTTRIUM, 8) }); - public static final Material BRONZE = new Material("Bronze", // Material - // Name - new short[] { - 128, 128, 128, 0 - }, // Material - // Colour - (ELEMENT.getInstance().TIN.getMeltingPointC() * 1 + ELEMENT.getInstance().COPPER.getMeltingPointC() * 3) - / 4, // Melting - // point - // in - // C - (ELEMENT.getInstance().TIN.getBoilingPointC() * 1 + ELEMENT.getInstance().COPPER.getBoilingPointC() * 3) - / 4, // Boiling - // Point - // in - // C - (ELEMENT.getInstance().TIN.getProtons() * 1 + ELEMENT.getInstance().COPPER.getProtons() * 3) / 4, // Protons - (ELEMENT.getInstance().TIN.getNeutrons() * 1 + ELEMENT.getInstance().COPPER.getNeutrons() * 3) / 4, // Neutrons - false, // Uses - // Blast - // furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack[] { + public static final Material BRONZE = new Material( + "Bronze", //Material Name + new short[]{128, 128, 128, 0}, //Material Colour + ((ELEMENT.getInstance().TIN.getMeltingPointC()*1)+(ELEMENT.getInstance().COPPER.getMeltingPointC()*3))/4, //Melting point in C + ((ELEMENT.getInstance().TIN.getBoilingPointC()*1)+(ELEMENT.getInstance().COPPER.getBoilingPointC()*3))/4, //Boiling Point in C + ((ELEMENT.getInstance().TIN.getProtons()*1)+(ELEMENT.getInstance().COPPER.getProtons()*3))/4, //Protons + ((ELEMENT.getInstance().TIN.getNeutrons()*1)+(ELEMENT.getInstance().COPPER.getNeutrons()*3))/4, //Neutrons + false, //Uses Blast furnace? + //Material Stacks with Percentage of required elements. + new MaterialStack[]{ new MaterialStack(ELEMENT.getInstance().COPPER, 35), new MaterialStack(ELEMENT.getInstance().COPPER, 40), new MaterialStack(ELEMENT.getInstance().TIN, 25) }); - public static final Material TUMBAGA = new Material("Tumbaga", // Material - // Name - new short[] { - 255, 178, 15, 0 - }, // Material - // Colour - (ELEMENT.getInstance().GOLD.getMeltingPointC() * 7 + ELEMENT.getInstance().COPPER.getMeltingPointC() * 3) - / 10, // Melting - // point - // in - // C - (ELEMENT.getInstance().GOLD.getBoilingPointC() * 7 + ELEMENT.getInstance().COPPER.getBoilingPointC() * 3) - / 10, // Boiling - // Point - // in - // C - (ELEMENT.getInstance().GOLD.getProtons() * 7 + ELEMENT.getInstance().COPPER.getProtons() * 3) / 10, // Protons - (ELEMENT.getInstance().GOLD.getNeutrons() * 7 + ELEMENT.getInstance().COPPER.getNeutrons() * 3) / 10, // Neutrons - false, // Uses - // Blast - // furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack[] { + public static final Material TUMBAGA = new Material( + "Tumbaga", //Material Name + new short[]{255,178,15, 0}, //Material Colour + ((ELEMENT.getInstance().GOLD.getMeltingPointC()*7)+(ELEMENT.getInstance().COPPER.getMeltingPointC()*3))/10, //Melting point in C + ((ELEMENT.getInstance().GOLD.getBoilingPointC()*7)+(ELEMENT.getInstance().COPPER.getBoilingPointC()*3))/10, //Boiling Point in C + ((ELEMENT.getInstance().GOLD.getProtons()*7)+(ELEMENT.getInstance().COPPER.getProtons()*3))/10, //Protons + ((ELEMENT.getInstance().GOLD.getNeutrons()*7)+(ELEMENT.getInstance().COPPER.getNeutrons()*3))/10, //Neutrons + false, //Uses Blast furnace? + //Material Stacks with Percentage of required elements. + new MaterialStack[]{ new MaterialStack(ELEMENT.getInstance().GOLD, 30), new MaterialStack(ELEMENT.getInstance().GOLD, 40), new MaterialStack(ELEMENT.getInstance().COPPER, 30) }); - public static final Material POTIN = new Material("Potin", // Material - // Name - new short[] { - 201, 151, 129, 0 - }, // Material - // Colour - (ELEMENT.getInstance().LEAD.getMeltingPointC() * 4 + ALLOY.BRONZE.getMeltingPointC() * 4 - + ELEMENT.getInstance().TIN.getMeltingPointC() * 2) / 10, // Melting - // point - // in - // C - (ELEMENT.getInstance().LEAD.getBoilingPointC() * 4 + ALLOY.BRONZE.getBoilingPointC() * 4 - + ELEMENT.getInstance().TIN.getBoilingPointC() * 2) / 10, // Boiling - // Point - // in - // C - (ELEMENT.getInstance().LEAD.getProtons() * 4 + ALLOY.BRONZE.getProtons() * 4 - + ELEMENT.getInstance().TIN.getProtons() * 2) / 10, // Protons - (ELEMENT.getInstance().LEAD.getNeutrons() * 4 + ALLOY.BRONZE.getNeutrons() * 4 - + ELEMENT.getInstance().TIN.getNeutrons() * 2) / 10, // Neutrons - false, // Uses - // Blast - // furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack[] { - new MaterialStack(ELEMENT.getInstance().LEAD, 40), new MaterialStack(ALLOY.BRONZE, 40), + public static final Material POTIN = new Material( + "Potin", //Material Name + new short[]{201,151,129, 0}, //Material Colour + ((ELEMENT.getInstance().LEAD.getMeltingPointC()*4)+(ALLOY.BRONZE.getMeltingPointC()*4)+(ELEMENT.getInstance().TIN.getMeltingPointC()*2))/10, //Melting point in C + ((ELEMENT.getInstance().LEAD.getBoilingPointC()*4)+(ALLOY.BRONZE.getBoilingPointC()*4)+(ELEMENT.getInstance().TIN.getBoilingPointC()*2))/10, //Boiling Point in C + ((ELEMENT.getInstance().LEAD.getProtons()*4)+(ALLOY.BRONZE.getProtons()*4)+(ELEMENT.getInstance().TIN.getProtons()*2))/10, //Protons + ((ELEMENT.getInstance().LEAD.getNeutrons()*4)+(ALLOY.BRONZE.getNeutrons()*4)+(ELEMENT.getInstance().TIN.getNeutrons()*2))/10, //Neutrons + false, //Uses Blast furnace? + //Material Stacks with Percentage of required elements. + new MaterialStack[]{ + new MaterialStack(ELEMENT.getInstance().LEAD, 40), + new MaterialStack(ALLOY.BRONZE, 40), new MaterialStack(ELEMENT.getInstance().TIN, 20) }); - public static final Material BEDROCKIUM = new Material("Bedrockium", // Material - // Name - new short[] { - 32, 32, 32, 0 - }, // Material - // Colour - 7735, // Melting - // Point - // in - // C - 0, // Boiling - // Point - // in - // C - 100, // Protons - 100, // Neutrons - false, // Uses - // Blast - // furnace? - // Material Stacks with Percentage of required elements. + public static final Material BEDROCKIUM = new Material( + "Bedrockium", //Material Name + new short[]{32, 32, 32, 0}, //Material Colour + 7735, //Melting Point in C + 0, //Boiling Point in C + 100, //Protons + 100, //Neutrons + false, //Uses Blast furnace? + //Material Stacks with Percentage of required elements. null); - public static final Material INCONEL_625 = new Material("Inconel-625", // Material - // Name - new short[] { - 128, 200, 128, 0 - }, // Material - // Colour - 1425, // Melting - // Point - // in - // C - (ELEMENT.getInstance().NICKEL.getBoilingPointC() * 6 + ELEMENT.getInstance().CHROMIUM.getBoilingPointC() * 2 - + ELEMENT.getInstance().IRON.getBoilingPointC() * 1 - + ELEMENT.getInstance().MOLYBDENUM.getBoilingPointC() * 1) / 10, // Boiling - // Point - // in - // C - (ELEMENT.getInstance().NICKEL.getProtons() * 6 + ELEMENT.getInstance().CHROMIUM.getProtons() * 2 - + ELEMENT.getInstance().IRON.getProtons() * 1 + ELEMENT.getInstance().MOLYBDENUM.getProtons() * 1) - / 10, // Protons - (ELEMENT.getInstance().NICKEL.getNeutrons() * 6 + ELEMENT.getInstance().CHROMIUM.getNeutrons() * 2 - + ELEMENT.getInstance().IRON.getNeutrons() * 1 + ELEMENT.getInstance().MOLYBDENUM.getNeutrons() * 1) - / 10, // Neutrons - true, // Uses - // Blast - // furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack[] { + public static final Material INCONEL_625 = new Material( + "Inconel-625", //Material Name + new short[]{128, 200, 128, 0}, //Material Colour + 1425, //Melting Point in C + ((ELEMENT.getInstance().NICKEL.getBoilingPointC()*6)+(ELEMENT.getInstance().CHROMIUM.getBoilingPointC()*2)+(ELEMENT.getInstance().IRON.getBoilingPointC()*1)+(ELEMENT.getInstance().MOLYBDENUM.getBoilingPointC()*1))/10, //Boiling Point in C + ((ELEMENT.getInstance().NICKEL.getProtons()*6)+(ELEMENT.getInstance().CHROMIUM.getProtons()*2)+(ELEMENT.getInstance().IRON.getProtons()*1)+(ELEMENT.getInstance().MOLYBDENUM.getProtons()*1))/10, //Protons + ((ELEMENT.getInstance().NICKEL.getNeutrons()*6)+(ELEMENT.getInstance().CHROMIUM.getNeutrons()*2)+(ELEMENT.getInstance().IRON.getNeutrons()*1)+(ELEMENT.getInstance().MOLYBDENUM.getNeutrons()*1))/10, //Neutrons + true, //Uses Blast furnace? + //Material Stacks with Percentage of required elements. + new MaterialStack[]{ new MaterialStack(ELEMENT.getInstance().NICKEL, 60), new MaterialStack(ELEMENT.getInstance().CHROMIUM, 20), new MaterialStack(ELEMENT.getInstance().IRON, 10), new MaterialStack(ELEMENT.getInstance().MOLYBDENUM, 10) }); - public static final Material INCONEL_690 = new Material("Inconel-690", // Material - // Name - new short[] { - 118, 220, 138, 0 - }, // Material - // Colour - 1425, // Melting - // Point - // in - // C - (ELEMENT.getInstance().NICKEL.getBoilingPointC() * 6 + ELEMENT.getInstance().CHROMIUM.getBoilingPointC() * 2 - + ELEMENT.getInstance().NIOBIUM.getBoilingPointC() * 1 - + ELEMENT.getInstance().MOLYBDENUM.getBoilingPointC() * 1) / 10, // Boiling - // Point - // in - // C - (ELEMENT.getInstance().NICKEL.getProtons() * 6 + ELEMENT.getInstance().CHROMIUM.getProtons() * 2 - + ELEMENT.getInstance().NIOBIUM.getProtons() * 1 - + ELEMENT.getInstance().MOLYBDENUM.getProtons() * 1) / 10, // Protons - (ELEMENT.getInstance().NICKEL.getNeutrons() * 6 + ELEMENT.getInstance().CHROMIUM.getNeutrons() * 2 - + ELEMENT.getInstance().NIOBIUM.getNeutrons() * 1 - + ELEMENT.getInstance().MOLYBDENUM.getNeutrons() * 1) / 10, // Neutrons - true, // Uses - // Blast - // furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack[] { + public static final Material INCONEL_690 = new Material( + "Inconel-690", //Material Name + new short[]{118, 220, 138, 0}, //Material Colour + 1425, //Melting Point in C + ((ELEMENT.getInstance().NICKEL.getBoilingPointC()*6)+(ELEMENT.getInstance().CHROMIUM.getBoilingPointC()*2)+(ELEMENT.getInstance().NIOBIUM.getBoilingPointC()*1)+(ELEMENT.getInstance().MOLYBDENUM.getBoilingPointC()*1))/10, //Boiling Point in C + ((ELEMENT.getInstance().NICKEL.getProtons()*6)+(ELEMENT.getInstance().CHROMIUM.getProtons()*2)+(ELEMENT.getInstance().NIOBIUM.getProtons()*1)+(ELEMENT.getInstance().MOLYBDENUM.getProtons()*1))/10, //Protons + ((ELEMENT.getInstance().NICKEL.getNeutrons()*6)+(ELEMENT.getInstance().CHROMIUM.getNeutrons()*2)+(ELEMENT.getInstance().NIOBIUM.getNeutrons()*1)+(ELEMENT.getInstance().MOLYBDENUM.getNeutrons()*1))/10, //Neutrons + true, //Uses Blast furnace? + //Material Stacks with Percentage of required elements. + new MaterialStack[]{ new MaterialStack(ELEMENT.getInstance().NICKEL, 60), new MaterialStack(ELEMENT.getInstance().CHROMIUM, 20), new MaterialStack(ELEMENT.getInstance().NIOBIUM, 10), new MaterialStack(ELEMENT.getInstance().MOLYBDENUM, 10) }); - public static final Material INCONEL_792 = new Material("Inconel-792", // Material - // Name - new short[] { - 108, 240, 118, 0 - }, // Material - // Colour - 1425, // Melting - // Point - // in - // C - (ELEMENT.getInstance().NICKEL.getBoilingPointC() * 6 + ELEMENT.getInstance().CHROMIUM.getBoilingPointC() * 1 - + ELEMENT.getInstance().IRON.getBoilingPointC() * 1 - + ELEMENT.getInstance().ALUMINIUM.getBoilingPointC() * 2) / 10, // Boiling - // Point - // in - // C - (ELEMENT.getInstance().NICKEL.getProtons() * 6 + ELEMENT.getInstance().CHROMIUM.getProtons() * 1 - + ELEMENT.getInstance().IRON.getProtons() * 1 + ELEMENT.getInstance().ALUMINIUM.getProtons() * 2) - / 10, // Protons - (ELEMENT.getInstance().NICKEL.getNeutrons() * 6 + ELEMENT.getInstance().CHROMIUM.getNeutrons() * 1 - + ELEMENT.getInstance().IRON.getNeutrons() * 1 + ELEMENT.getInstance().ALUMINIUM.getNeutrons() * 2) - / 10, // Neutrons - true, // Uses - // Blast - // furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack[] { + public static final Material INCONEL_792 = new Material( + "Inconel-792", //Material Name + new short[]{108, 240, 118, 0}, //Material Colour + 1425, //Melting Point in C + ((ELEMENT.getInstance().NICKEL.getBoilingPointC()*6)+(ELEMENT.getInstance().CHROMIUM.getBoilingPointC()*1)+(ELEMENT.getInstance().IRON.getBoilingPointC()*1)+(ELEMENT.getInstance().ALUMINIUM.getBoilingPointC()*2))/10, //Boiling Point in C + ((ELEMENT.getInstance().NICKEL.getProtons()*6)+(ELEMENT.getInstance().CHROMIUM.getProtons()*1)+(ELEMENT.getInstance().IRON.getProtons()*1)+(ELEMENT.getInstance().ALUMINIUM.getProtons()*2))/10, //Protons + ((ELEMENT.getInstance().NICKEL.getNeutrons()*6)+(ELEMENT.getInstance().CHROMIUM.getNeutrons()*1)+(ELEMENT.getInstance().IRON.getNeutrons()*1)+(ELEMENT.getInstance().ALUMINIUM.getNeutrons()*2))/10, //Neutrons + true, //Uses Blast furnace? + //Material Stacks with Percentage of required elements. + new MaterialStack[]{ new MaterialStack(ELEMENT.getInstance().NICKEL, 60), new MaterialStack(ELEMENT.getInstance().CHROMIUM, 10), new MaterialStack(ELEMENT.getInstance().NIOBIUM, 10), new MaterialStack(ELEMENT.getInstance().ALUMINIUM, 20) }); - - public static final Material STEEL = new Material("Steel", // Material - // Name - new short[] { - 180, 180, 20, 0 - }, // Material - // Colour - (ELEMENT.getInstance().CARBON.getMeltingPointC() * 5 + ELEMENT.getInstance().IRON.getMeltingPointC() * 95) - / 100, // Melting - // point - // in - // C - (ELEMENT.getInstance().CARBON.getBoilingPointC() * 5 + ELEMENT.getInstance().IRON.getBoilingPointC() * 95) - / 100, // Boiling - // Point - // in - // C - (ELEMENT.getInstance().CARBON.getProtons() * 5 + ELEMENT.getInstance().IRON.getProtons() * 95) / 100, // Protons - (ELEMENT.getInstance().CARBON.getNeutrons() * 5 + ELEMENT.getInstance().IRON.getNeutrons() * 95) / 100, // Neutrons - true, // Uses - // Blast - // furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack[] { + + public static final Material STEEL = new Material( + "Steel", //Material Name + new short[]{180, 180, 20, 0}, //Material Colour + ((ELEMENT.getInstance().CARBON.getMeltingPointC()*5)+(ELEMENT.getInstance().IRON.getMeltingPointC()*95))/100, //Melting point in C + ((ELEMENT.getInstance().CARBON.getBoilingPointC()*5)+(ELEMENT.getInstance().IRON.getBoilingPointC()*95))/100, //Boiling Point in C + ((ELEMENT.getInstance().CARBON.getProtons()*5)+(ELEMENT.getInstance().IRON.getProtons()*95))/100, //Protons + ((ELEMENT.getInstance().CARBON.getNeutrons()*5)+(ELEMENT.getInstance().IRON.getNeutrons()*95))/100, //Neutrons + true, //Uses Blast furnace? + //Material Stacks with Percentage of required elements. + new MaterialStack[]{ new MaterialStack(ELEMENT.getInstance().CARBON, 10), new MaterialStack(ELEMENT.getInstance().IRON, 30), - new MaterialStack(ELEMENT.getInstance().IRON, 30), new MaterialStack(ELEMENT.getInstance().IRON, 30) + new MaterialStack(ELEMENT.getInstance().IRON, 30), + new MaterialStack(ELEMENT.getInstance().IRON, 30) }); - public static final Material ZERON_100 = new Material("Zeron-100", // Material - // Name - new short[] { - 180, 180, 20, 0 - }, // Material - // Colour - (ELEMENT.getInstance().CHROMIUM.getMeltingPointC() * 25 - + ELEMENT.getInstance().NICKEL.getMeltingPointC() * 6 - + ELEMENT.getInstance().COBALT.getMeltingPointC() * 9 + ALLOY.STEEL.getMeltingPointC() * 60) / 100, // Melting - // Point - // in - // C - (ELEMENT.getInstance().CHROMIUM.getBoilingPointC() * 25 - + ELEMENT.getInstance().NICKEL.getBoilingPointC() * 6 - + ELEMENT.getInstance().COBALT.getBoilingPointC() * 9 + ALLOY.STEEL.getBoilingPointC() * 60) / 100, // Boiling - // Point - // in - // C - (ELEMENT.getInstance().CHROMIUM.getProtons() * 25 + ELEMENT.getInstance().NICKEL.getProtons() * 6 - + ELEMENT.getInstance().COBALT.getProtons() * 9 + ALLOY.STEEL.getProtons() * 60) / 100, // Protons - (ELEMENT.getInstance().CHROMIUM.getNeutrons() * 25 + ELEMENT.getInstance().NICKEL.getNeutrons() * 6 - + ELEMENT.getInstance().COBALT.getNeutrons() * 9 + ALLOY.STEEL.getNeutrons() * 60) / 100, // Neutrons - true, // Uses - // Blast - // furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack[] { + public static final Material ZERON_100 = new Material( + "Zeron-100", //Material Name + new short[]{180, 180, 20, 0}, //Material Colour + ((ELEMENT.getInstance().CHROMIUM.getMeltingPointC()*25)+(ELEMENT.getInstance().NICKEL.getMeltingPointC()*6)+(ELEMENT.getInstance().COBALT.getMeltingPointC()*9)+(ALLOY.STEEL.getMeltingPointC()*60))/100, //Melting Point in C + ((ELEMENT.getInstance().CHROMIUM.getBoilingPointC()*25)+(ELEMENT.getInstance().NICKEL.getBoilingPointC()*6)+(ELEMENT.getInstance().COBALT.getBoilingPointC()*9)+(ALLOY.STEEL.getBoilingPointC()*60))/100, //Boiling Point in C + ((ELEMENT.getInstance().CHROMIUM.getProtons()*25)+(ELEMENT.getInstance().NICKEL.getProtons()*6)+(ELEMENT.getInstance().COBALT.getProtons()*9)+(ALLOY.STEEL.getProtons()*60))/100, //Protons + ((ELEMENT.getInstance().CHROMIUM.getNeutrons()*25)+(ELEMENT.getInstance().NICKEL.getNeutrons()*6)+(ELEMENT.getInstance().COBALT.getNeutrons()*9)+(ALLOY.STEEL.getNeutrons()*60))/100, //Neutrons + true, //Uses Blast furnace? + //Material Stacks with Percentage of required elements. + new MaterialStack[]{ new MaterialStack(ELEMENT.getInstance().CHROMIUM, 26), new MaterialStack(ELEMENT.getInstance().NICKEL, 6), new MaterialStack(ELEMENT.getInstance().MOLYBDENUM, 4), new MaterialStack(ELEMENT.getInstance().COPPER, 20), - new MaterialStack(ELEMENT.getInstance().TUNGSTEN, 4), new MaterialStack(ALLOY.STEEL, 40) - }); - - public static final Material MARAGING250 = new Material("Maraging Steel 250", // Material - // Name - new short[] { - 140, 140, 140, 0 - }, // Material - // Colour - 1413, // Melting - // Point - // in - // C - (ELEMENT.getInstance().TITANIUM.getBoilingPointC() * 5 - + ELEMENT.getInstance().NICKEL.getBoilingPointC() * 16 - + ELEMENT.getInstance().COBALT.getBoilingPointC() * 9 + ALLOY.STEEL.getBoilingPointC() * 70) / 100, // Boiling - // Point - // in - // C - (ELEMENT.getInstance().TITANIUM.getProtons() * 5 + ELEMENT.getInstance().NICKEL.getProtons() * 16 - + ELEMENT.getInstance().COBALT.getProtons() * 9 + ALLOY.STEEL.getProtons() * 70) / 100, // Protons - (ELEMENT.getInstance().TITANIUM.getNeutrons() * 5 + ELEMENT.getInstance().NICKEL.getNeutrons() * 16 - + ELEMENT.getInstance().COBALT.getNeutrons() * 9 + ALLOY.STEEL.getNeutrons() * 70) / 100, // Neutrons - true, // Uses - // Blast - // furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack[] { - new MaterialStack(ALLOY.STEEL, 64), new MaterialStack(ELEMENT.getInstance().MOLYBDENUM, 4), + new MaterialStack(ELEMENT.getInstance().TUNGSTEN, 4), + new MaterialStack(ALLOY.STEEL, 40) + }); + + public static final Material MARAGING250 = new Material( + "Maraging Steel 250", //Material Name + new short[]{140, 140, 140, 0}, //Material Colour + 1413, //Melting Point in C + ((ELEMENT.getInstance().TITANIUM.getBoilingPointC()*5)+(ELEMENT.getInstance().NICKEL.getBoilingPointC()*16)+(ELEMENT.getInstance().COBALT.getBoilingPointC()*9)+(ALLOY.STEEL.getBoilingPointC()*70))/100, //Boiling Point in C + ((ELEMENT.getInstance().TITANIUM.getProtons()*5)+(ELEMENT.getInstance().NICKEL.getProtons()*16)+(ELEMENT.getInstance().COBALT.getProtons()*9)+(ALLOY.STEEL.getProtons()*70))/100, //Protons + ((ELEMENT.getInstance().TITANIUM.getNeutrons()*5)+(ELEMENT.getInstance().NICKEL.getNeutrons()*16)+(ELEMENT.getInstance().COBALT.getNeutrons()*9)+(ALLOY.STEEL.getNeutrons()*70))/100, //Neutrons + true, //Uses Blast furnace? + //Material Stacks with Percentage of required elements. + new MaterialStack[]{ + new MaterialStack(ALLOY.STEEL, 64), + new MaterialStack(ELEMENT.getInstance().MOLYBDENUM, 4), new MaterialStack(ELEMENT.getInstance().TITANIUM, 4), new MaterialStack(ELEMENT.getInstance().NICKEL, 16), new MaterialStack(ELEMENT.getInstance().COBALT, 8), }); - public static final Material MARAGING300 = new Material("Maraging Steel 300", // Material - // Name - new short[] { - 150, 150, 150, 0 - }, // Material - // Colour - 1413, // Melting - // Point - // in - // C - (ELEMENT.getInstance().TITANIUM.getBoilingPointC() * 10 - + ELEMENT.getInstance().NICKEL.getBoilingPointC() * 21 - + ELEMENT.getInstance().COBALT.getBoilingPointC() * 14 + ALLOY.STEEL.getBoilingPointC() * 55) / 100, // Boiling - // Point - // in - // C - (ELEMENT.getInstance().TITANIUM.getProtons() * 10 + ELEMENT.getInstance().NICKEL.getProtons() * 21 - + ELEMENT.getInstance().COBALT.getProtons() * 14 + ALLOY.STEEL.getProtons() * 55) / 100, // Protons - (ELEMENT.getInstance().TITANIUM.getNeutrons() * 10 + ELEMENT.getInstance().NICKEL.getNeutrons() * 21 - + ELEMENT.getInstance().COBALT.getNeutrons() * 14 + ALLOY.STEEL.getNeutrons() * 55) / 100, // Neutrons - true, // Uses - // Blast - // furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack[] { - new MaterialStack(ALLOY.STEEL, 64), new MaterialStack(ELEMENT.getInstance().TITANIUM, 4), - new MaterialStack(ELEMENT.getInstance().ALUMINIUM, 4), - new MaterialStack(ELEMENT.getInstance().NICKEL, 16), - new MaterialStack(ELEMENT.getInstance().COBALT, 8), + public static final Material MARAGING300 = new Material( + "Maraging Steel 300", //Material Name + new short[]{150, 150, 150, 0}, //Material Colour + 1413, //Melting Point in C + ((ELEMENT.getInstance().TITANIUM.getBoilingPointC()*10)+(ELEMENT.getInstance().NICKEL.getBoilingPointC()*21)+(ELEMENT.getInstance().COBALT.getBoilingPointC()*14)+(ALLOY.STEEL.getBoilingPointC()*55))/100, //Boiling Point in C + ((ELEMENT.getInstance().TITANIUM.getProtons()*10)+(ELEMENT.getInstance().NICKEL.getProtons()*21)+(ELEMENT.getInstance().COBALT.getProtons()*14)+(ALLOY.STEEL.getProtons()*55))/100, //Protons + ((ELEMENT.getInstance().TITANIUM.getNeutrons()*10)+(ELEMENT.getInstance().NICKEL.getNeutrons()*21)+(ELEMENT.getInstance().COBALT.getNeutrons()*14)+(ALLOY.STEEL.getNeutrons()*55))/100, //Neutrons + true, //Uses Blast furnace? + //Material Stacks with Percentage of required elements. + new MaterialStack[]{ + new MaterialStack(ALLOY.STEEL, 64), + new MaterialStack(ELEMENT.getInstance().TITANIUM, 4), + new MaterialStack(ELEMENT.getInstance().ALUMINIUM, 4), + new MaterialStack(ELEMENT.getInstance().NICKEL, 16), + new MaterialStack(ELEMENT.getInstance().COBALT, 8), }); - public static final Material MARAGING350 = new Material("Maraging Steel 350", // Material - // Name - new short[] { - 160, 160, 160, 0 - }, // Material - // Colour - 1413, // Melting - // Point - // in - // C - (ELEMENT.getInstance().TITANIUM.getBoilingPointC() * 15 - + ELEMENT.getInstance().NICKEL.getBoilingPointC() * 21 - + ELEMENT.getInstance().COBALT.getBoilingPointC() * 9 + ALLOY.STEEL.getBoilingPointC() * 55) / 100, // Boiling - // Point - // in - // C - (ELEMENT.getInstance().TITANIUM.getProtons() * 15 + ELEMENT.getInstance().NICKEL.getProtons() * 21 - + ELEMENT.getInstance().COBALT.getProtons() * 9 + ALLOY.STEEL.getProtons() * 55) / 100, // Protons - (ELEMENT.getInstance().TITANIUM.getNeutrons() * 15 + ELEMENT.getInstance().NICKEL.getNeutrons() * 21 - + ELEMENT.getInstance().COBALT.getNeutrons() * 9 + ALLOY.STEEL.getNeutrons() * 55) / 100, // Neutrons - true, // Uses - // Blast - // furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack[] { - new MaterialStack(ALLOY.STEEL, 64), new MaterialStack(ELEMENT.getInstance().ALUMINIUM, 4), - new MaterialStack(ELEMENT.getInstance().MOLYBDENUM, 4), - new MaterialStack(ELEMENT.getInstance().NICKEL, 16), - new MaterialStack(ELEMENT.getInstance().COBALT, 8), + public static final Material MARAGING350 = new Material( + "Maraging Steel 350", //Material Name + new short[]{160, 160, 160, 0}, //Material Colour + 1413, //Melting Point in C + ((ELEMENT.getInstance().TITANIUM.getBoilingPointC()*15)+(ELEMENT.getInstance().NICKEL.getBoilingPointC()*21)+(ELEMENT.getInstance().COBALT.getBoilingPointC()*9)+(ALLOY.STEEL.getBoilingPointC()*55))/100, //Boiling Point in C + ((ELEMENT.getInstance().TITANIUM.getProtons()*15)+(ELEMENT.getInstance().NICKEL.getProtons()*21)+(ELEMENT.getInstance().COBALT.getProtons()*9)+(ALLOY.STEEL.getProtons()*55))/100, //Protons + ((ELEMENT.getInstance().TITANIUM.getNeutrons()*15)+(ELEMENT.getInstance().NICKEL.getNeutrons()*21)+(ELEMENT.getInstance().COBALT.getNeutrons()*9)+(ALLOY.STEEL.getNeutrons()*55))/100, //Neutrons + true, //Uses Blast furnace? + //Material Stacks with Percentage of required elements. + new MaterialStack[]{ + new MaterialStack(ALLOY.STEEL, 64), + new MaterialStack(ELEMENT.getInstance().ALUMINIUM, 4), + new MaterialStack(ELEMENT.getInstance().MOLYBDENUM, 4), + new MaterialStack(ELEMENT.getInstance().NICKEL, 16), + new MaterialStack(ELEMENT.getInstance().COBALT, 8), }); - public static final Material STELLITE = new Material("Stellite", // Material - // Name - new short[] { - 129, 75, 120, 0 - }, // Material - // Colour - 1310, // Melting - // Point - // in - // C - (ELEMENT.getInstance().TITANIUM.getBoilingPointC() * 10 - + ELEMENT.getInstance().CHROMIUM.getBoilingPointC() * 35 - + ELEMENT.getInstance().COBALT.getBoilingPointC() * 35 - + ELEMENT.getInstance().MANGANESE.getBoilingPointC() * 20) / 100, // Boiling - // Point - // in - // C - (ELEMENT.getInstance().TITANIUM.getProtons() * 10 + ELEMENT.getInstance().CHROMIUM.getProtons() * 35 - + ELEMENT.getInstance().COBALT.getProtons() * 35 - + ELEMENT.getInstance().MANGANESE.getProtons() * 20) / 100, // Protons - (ELEMENT.getInstance().TITANIUM.getNeutrons() * 10 + ELEMENT.getInstance().CHROMIUM.getNeutrons() * 35 - + ELEMENT.getInstance().COBALT.getNeutrons() * 35 - + ELEMENT.getInstance().MANGANESE.getNeutrons() * 20) / 100, // Neutrons - true, // Uses - // Blast - // furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack[] { + public static final Material STELLITE = new Material( + "Stellite", //Material Name + new short[]{129, 75, 120, 0}, //Material Colour + 1310, //Melting Point in C + ((ELEMENT.getInstance().TITANIUM.getBoilingPointC()*10)+(ELEMENT.getInstance().CHROMIUM.getBoilingPointC()*35)+(ELEMENT.getInstance().COBALT.getBoilingPointC()*35)+(ELEMENT.getInstance().MANGANESE.getBoilingPointC()*20))/100, //Boiling Point in C + ((ELEMENT.getInstance().TITANIUM.getProtons()*10)+(ELEMENT.getInstance().CHROMIUM.getProtons()*35)+(ELEMENT.getInstance().COBALT.getProtons()*35)+(ELEMENT.getInstance().MANGANESE.getProtons()*20))/100, //Protons + ((ELEMENT.getInstance().TITANIUM.getNeutrons()*10)+(ELEMENT.getInstance().CHROMIUM.getNeutrons()*35)+(ELEMENT.getInstance().COBALT.getNeutrons()*35)+(ELEMENT.getInstance().MANGANESE.getNeutrons()*20))/100, //Neutrons + true, //Uses Blast furnace? + //Material Stacks with Percentage of required elements. + new MaterialStack[]{ new MaterialStack(ELEMENT.getInstance().COBALT, 35), new MaterialStack(ELEMENT.getInstance().CHROMIUM, 35), new MaterialStack(ELEMENT.getInstance().MANGANESE, 20), new MaterialStack(ELEMENT.getInstance().TITANIUM, 10) }); - public static final Material TALONITE = new Material("Talonite", // Material - // Name - new short[] { - 228, 75, 120, 0 - }, // Material - // Colour - 1454, // Melting - // Point - // in - // C - (ELEMENT.getInstance().MOLYBDENUM.getBoilingPointC() * 10 - + ELEMENT.getInstance().CHROMIUM.getBoilingPointC() * 30 - + ELEMENT.getInstance().COBALT.getBoilingPointC() * 40 - + ELEMENT.getInstance().PHOSPHORUS.getBoilingPointC() * 20) / 100, // Boiling - // Point - // in - // C - (ELEMENT.getInstance().MOLYBDENUM.getProtons() * 10 + ELEMENT.getInstance().CHROMIUM.getProtons() * 30 - + ELEMENT.getInstance().COBALT.getProtons() * 40 - + ELEMENT.getInstance().PHOSPHORUS.getProtons() * 20) / 100, // Protons - (ELEMENT.getInstance().MOLYBDENUM.getNeutrons() * 10 + ELEMENT.getInstance().CHROMIUM.getNeutrons() * 30 - + ELEMENT.getInstance().COBALT.getNeutrons() * 40 - + ELEMENT.getInstance().PHOSPHORUS.getNeutrons() * 20) / 100, // Neutrons - false, // Uses - // Blast - // furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack[] { + public static final Material TALONITE = new Material( + "Talonite", //Material Name + new short[]{228, 75, 120, 0}, //Material Colour + 1454, //Melting Point in C + ((ELEMENT.getInstance().MOLYBDENUM.getBoilingPointC()*10)+(ELEMENT.getInstance().CHROMIUM.getBoilingPointC()*30)+(ELEMENT.getInstance().COBALT.getBoilingPointC()*40)+(ELEMENT.getInstance().PHOSPHORUS.getBoilingPointC()*20))/100, //Boiling Point in C + ((ELEMENT.getInstance().MOLYBDENUM.getProtons()*10)+(ELEMENT.getInstance().CHROMIUM.getProtons()*30)+(ELEMENT.getInstance().COBALT.getProtons()*40)+(ELEMENT.getInstance().PHOSPHORUS.getProtons()*20))/100, //Protons + ((ELEMENT.getInstance().MOLYBDENUM.getNeutrons()*10)+(ELEMENT.getInstance().CHROMIUM.getNeutrons()*30)+(ELEMENT.getInstance().COBALT.getNeutrons()*40)+(ELEMENT.getInstance().PHOSPHORUS.getNeutrons()*20))/100, //Neutrons + false, //Uses Blast furnace? + //Material Stacks with Percentage of required elements. + new MaterialStack[]{ new MaterialStack(ELEMENT.getInstance().COBALT, 40), new MaterialStack(ELEMENT.getInstance().CHROMIUM, 30), new MaterialStack(ELEMENT.getInstance().PHOSPHORUS, 20), new MaterialStack(ELEMENT.getInstance().MOLYBDENUM, 10) }); - public static final Material HASTELLOY_W = new Material("Hastelloy-W", // Material - // Name - new short[] { - 218, 165, 32, 0 - }, // Material - // Colour - 1350, // Melting - // Point - // in - // C - (ELEMENT.getInstance().IRON.getBoilingPointC() * 6 - + ELEMENT.getInstance().MOLYBDENUM.getBoilingPointC() * 24 - + ELEMENT.getInstance().CHROMIUM.getBoilingPointC() * 5 - + ELEMENT.getInstance().NICKEL.getBoilingPointC() * 65) / 100, // Boiling - // Point - // in - // C - (ELEMENT.getInstance().IRON.getProtons() * 6 + ELEMENT.getInstance().MOLYBDENUM.getProtons() * 24 - + ELEMENT.getInstance().CHROMIUM.getProtons() * 5 + ELEMENT.getInstance().NICKEL.getProtons() * 65) - / 100, // Protons - (ELEMENT.getInstance().IRON.getNeutrons() * 6 + ELEMENT.getInstance().MOLYBDENUM.getNeutrons() * 24 - + ELEMENT.getInstance().CHROMIUM.getNeutrons() * 5 - + ELEMENT.getInstance().NICKEL.getNeutrons() * 65) / 100, // Neutrons - false, // Uses - // Blast - // furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack[] { + public static final Material HASTELLOY_W = new Material( + "Hastelloy-W", //Material Name + new short[]{218, 165, 32, 0}, //Material Colour + 1350, //Melting Point in C + ((ELEMENT.getInstance().IRON.getBoilingPointC()*6)+(ELEMENT.getInstance().MOLYBDENUM.getBoilingPointC()*24)+(ELEMENT.getInstance().CHROMIUM.getBoilingPointC()*5)+(ELEMENT.getInstance().NICKEL.getBoilingPointC()*65))/100, //Boiling Point in C + ((ELEMENT.getInstance().IRON.getProtons()*6)+(ELEMENT.getInstance().MOLYBDENUM.getProtons()*24)+(ELEMENT.getInstance().CHROMIUM.getProtons()*5)+(ELEMENT.getInstance().NICKEL.getProtons()*65))/100, //Protons + ((ELEMENT.getInstance().IRON.getNeutrons()*6)+(ELEMENT.getInstance().MOLYBDENUM.getNeutrons()*24)+(ELEMENT.getInstance().CHROMIUM.getNeutrons()*5)+(ELEMENT.getInstance().NICKEL.getNeutrons()*65))/100, //Neutrons + false, //Uses Blast furnace? + //Material Stacks with Percentage of required elements. + new MaterialStack[]{ new MaterialStack(ELEMENT.getInstance().IRON, 06), new MaterialStack(ELEMENT.getInstance().MOLYBDENUM, 24), new MaterialStack(ELEMENT.getInstance().CHROMIUM, 8), new MaterialStack(ELEMENT.getInstance().NICKEL, 62) }); - /* - * public static final Material HASTELLOY_X = new Material( "Hastelloy-X", - * //Material Name new short[]{255, 193, 37, 0}, //Material Colour 1350, - * //Melting Point in C - * ((ELEMENT.getInstance().IRON.getBoilingPoint_C()*18)+(ELEMENT.getInstance - * ().MOLYBDENUM.getBoilingPoint_C()*9)+(ELEMENT.getInstance().CHROMIUM. - * getBoilingPoint_C()*22)+(ELEMENT.getInstance().NICKEL.getBoilingPoint_C() - * *51))/100, //Boiling Point in C - * ((ELEMENT.getInstance().IRON.getProtons()*18)+(ELEMENT.getInstance(). - * MOLYBDENUM.getProtons()*9)+(ELEMENT.getInstance().CHROMIUM.getProtons()* - * 22)+(ELEMENT.getInstance().NICKEL.getProtons()*51))/100, //Protons - * ((ELEMENT.getInstance().IRON.getNeutrons()*18)+(ELEMENT.getInstance(). - * MOLYBDENUM.getNeutrons()*9)+(ELEMENT.getInstance().CHROMIUM.getNeutrons() - * *22)+(ELEMENT.getInstance().NICKEL.getNeutrons()*51))/100, //Neutrons - * false, //Uses Blast furnace? //Material Stacks with Percentage of - * required elements. new MaterialStack[]{ new - * MaterialStack(ELEMENT.getInstance().IRON, 18), new - * MaterialStack(ELEMENT.getInstance().MOLYBDENUM, 9), new - * MaterialStack(ELEMENT.getInstance().CHROMIUM, 22), new - * MaterialStack(ELEMENT.getInstance().NICKEL, 51) }); - */ - - public static final Material HASTELLOY_X = new Material("Hastelloy-X", // Material - // Name - new short[] { - 255, 193, 37, 0 - }, // Material - // Colour - 1350, // Melting - // Point - // in - // C - (ELEMENT.getInstance().IRON.getBoilingPointC() * 18 - + ELEMENT.getInstance().MOLYBDENUM.getBoilingPointC() * 9 - + ELEMENT.getInstance().CHROMIUM.getBoilingPointC() * 22 - + ELEMENT.getInstance().NICKEL.getBoilingPointC() * 51) / 100, // Boiling - // Point - // in - // C - (ELEMENT.getInstance().IRON.getProtons() * 18 + ELEMENT.getInstance().MOLYBDENUM.getProtons() * 9 - + ELEMENT.getInstance().CHROMIUM.getProtons() * 22 + ELEMENT.getInstance().NICKEL.getProtons() * 51) - / 100, // Protons - (ELEMENT.getInstance().IRON.getNeutrons() * 18 + ELEMENT.getInstance().MOLYBDENUM.getNeutrons() * 9 - + ELEMENT.getInstance().CHROMIUM.getNeutrons() * 22 - + ELEMENT.getInstance().NICKEL.getNeutrons() * 51) / 100, // Neutrons - false, // Uses - // Blast - // furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack[] { + /*public static final Material HASTELLOY_X = new Material( + "Hastelloy-X", //Material Name + new short[]{255, 193, 37, 0}, //Material Colour + 1350, //Melting Point in C + ((ELEMENT.getInstance().IRON.getBoilingPoint_C()*18)+(ELEMENT.getInstance().MOLYBDENUM.getBoilingPoint_C()*9)+(ELEMENT.getInstance().CHROMIUM.getBoilingPoint_C()*22)+(ELEMENT.getInstance().NICKEL.getBoilingPoint_C()*51))/100, //Boiling Point in C + ((ELEMENT.getInstance().IRON.getProtons()*18)+(ELEMENT.getInstance().MOLYBDENUM.getProtons()*9)+(ELEMENT.getInstance().CHROMIUM.getProtons()*22)+(ELEMENT.getInstance().NICKEL.getProtons()*51))/100, //Protons + ((ELEMENT.getInstance().IRON.getNeutrons()*18)+(ELEMENT.getInstance().MOLYBDENUM.getNeutrons()*9)+(ELEMENT.getInstance().CHROMIUM.getNeutrons()*22)+(ELEMENT.getInstance().NICKEL.getNeutrons()*51))/100, //Neutrons + false, //Uses Blast furnace? + //Material Stacks with Percentage of required elements. + new MaterialStack[]{ + new MaterialStack(ELEMENT.getInstance().IRON, 18), + new MaterialStack(ELEMENT.getInstance().MOLYBDENUM, 9), + new MaterialStack(ELEMENT.getInstance().CHROMIUM, 22), + new MaterialStack(ELEMENT.getInstance().NICKEL, 51) + });*/ + + public static final Material HASTELLOY_X = new Material( + "Hastelloy-X", //Material Name + new short[]{255, 193, 37, 0}, //Material Colour + 1350, //Melting Point in C + ((ELEMENT.getInstance().IRON.getBoilingPointC()*18)+(ELEMENT.getInstance().MOLYBDENUM.getBoilingPointC()*9)+(ELEMENT.getInstance().CHROMIUM.getBoilingPointC()*22)+(ELEMENT.getInstance().NICKEL.getBoilingPointC()*51))/100, //Boiling Point in C + ((ELEMENT.getInstance().IRON.getProtons()*18)+(ELEMENT.getInstance().MOLYBDENUM.getProtons()*9)+(ELEMENT.getInstance().CHROMIUM.getProtons()*22)+(ELEMENT.getInstance().NICKEL.getProtons()*51))/100, //Protons + ((ELEMENT.getInstance().IRON.getNeutrons()*18)+(ELEMENT.getInstance().MOLYBDENUM.getNeutrons()*9)+(ELEMENT.getInstance().CHROMIUM.getNeutrons()*22)+(ELEMENT.getInstance().NICKEL.getNeutrons()*51))/100, //Neutrons + false, //Uses Blast furnace? + //Material Stacks with Percentage of required elements. + new MaterialStack[]{ new MaterialStack(ELEMENT.getInstance().IRON, 18), new MaterialStack(ELEMENT.getInstance().MOLYBDENUM, 9), new MaterialStack(ELEMENT.getInstance().CHROMIUM, 22), new MaterialStack(ELEMENT.getInstance().NICKEL, 51) }); - public static final Material HASTELLOY_N = new Material("Hastelloy-N", // Material - // Name - new short[] { - 236, 213, 48, 0 - }, // Material - // Colour - 1350, // Melting - // Point - // in - // C - (ELEMENT.getInstance().YTTRIUM.getBoilingPointC() * 5 - + ELEMENT.getInstance().MOLYBDENUM.getBoilingPointC() * 16 - + ELEMENT.getInstance().CHROMIUM.getBoilingPointC() * 7 - + ELEMENT.getInstance().NICKEL.getBoilingPointC() * 72) / 100, // Boiling - // Point - // in - // C - (ELEMENT.getInstance().YTTRIUM.getProtons() * 5 + ELEMENT.getInstance().MOLYBDENUM.getProtons() * 16 - + ELEMENT.getInstance().CHROMIUM.getProtons() * 7 + ELEMENT.getInstance().NICKEL.getProtons() * 72) - / 100, // Protons - (ELEMENT.getInstance().YTTRIUM.getNeutrons() * 5 + ELEMENT.getInstance().MOLYBDENUM.getNeutrons() * 16 - + ELEMENT.getInstance().CHROMIUM.getNeutrons() * 7 - + ELEMENT.getInstance().NICKEL.getNeutrons() * 72) / 100, // Neutrons - true, // Uses - // Blast - // furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack[] { + public static final Material HASTELLOY_N = new Material( + "Hastelloy-N", //Material Name + new short[]{236, 213, 48, 0}, //Material Colour + 1350, //Melting Point in C + ((ELEMENT.getInstance().YTTRIUM.getBoilingPointC()*5)+(ELEMENT.getInstance().MOLYBDENUM.getBoilingPointC()*16)+(ELEMENT.getInstance().CHROMIUM.getBoilingPointC()*7)+(ELEMENT.getInstance().NICKEL.getBoilingPointC()*72))/100, //Boiling Point in C + ((ELEMENT.getInstance().YTTRIUM.getProtons()*5)+(ELEMENT.getInstance().MOLYBDENUM.getProtons()*16)+(ELEMENT.getInstance().CHROMIUM.getProtons()*7)+(ELEMENT.getInstance().NICKEL.getProtons()*72))/100, //Protons + ((ELEMENT.getInstance().YTTRIUM.getNeutrons()*5)+(ELEMENT.getInstance().MOLYBDENUM.getNeutrons()*16)+(ELEMENT.getInstance().CHROMIUM.getNeutrons()*7)+(ELEMENT.getInstance().NICKEL.getNeutrons()*72))/100, //Neutrons + true, //Uses Blast furnace? + //Material Stacks with Percentage of required elements. + new MaterialStack[]{ new MaterialStack(ELEMENT.getInstance().YTTRIUM, 10), new MaterialStack(ELEMENT.getInstance().MOLYBDENUM, 16), new MaterialStack(ELEMENT.getInstance().CHROMIUM, 10), new MaterialStack(ELEMENT.getInstance().NICKEL, 64) }); - public static final Material HASTELLOY_C276 = new Material("Hastelloy-C276", // Material - // Name - new short[] { - 238, 180, 34, 0 - }, // Material - // Colour - 1350, // Melting - // Point - // in - // C - (ELEMENT.getInstance().COBALT.getBoilingPointC() * 2 - + ELEMENT.getInstance().MOLYBDENUM.getBoilingPointC() * 16 - + ELEMENT.getInstance().CHROMIUM.getBoilingPointC() * 16 - + ELEMENT.getInstance().NICKEL.getBoilingPointC() * 66) / 100, // Boiling - // Point - // in - // C - (ELEMENT.getInstance().COBALT.getProtons() * 2 + ELEMENT.getInstance().MOLYBDENUM.getProtons() * 16 - + ELEMENT.getInstance().CHROMIUM.getProtons() * 16 + ELEMENT.getInstance().NICKEL.getProtons() * 66) - / 100, // Protons - (ELEMENT.getInstance().COBALT.getNeutrons() * 2 + ELEMENT.getInstance().MOLYBDENUM.getNeutrons() * 16 - + ELEMENT.getInstance().CHROMIUM.getNeutrons() * 16 - + ELEMENT.getInstance().NICKEL.getNeutrons() * 66) / 100, // Neutrons - true, // Uses - // Blast - // furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack[] { + public static final Material HASTELLOY_C276 = new Material( + "Hastelloy-C276", //Material Name + new short[]{238, 180, 34, 0}, //Material Colour + 1350, //Melting Point in C + ((ELEMENT.getInstance().COBALT.getBoilingPointC()*2)+(ELEMENT.getInstance().MOLYBDENUM.getBoilingPointC()*16)+(ELEMENT.getInstance().CHROMIUM.getBoilingPointC()*16)+(ELEMENT.getInstance().NICKEL.getBoilingPointC()*66))/100, //Boiling Point in C + ((ELEMENT.getInstance().COBALT.getProtons()*2)+(ELEMENT.getInstance().MOLYBDENUM.getProtons()*16)+(ELEMENT.getInstance().CHROMIUM.getProtons()*16)+(ELEMENT.getInstance().NICKEL.getProtons()*66))/100, //Protons + ((ELEMENT.getInstance().COBALT.getNeutrons()*2)+(ELEMENT.getInstance().MOLYBDENUM.getNeutrons()*16)+(ELEMENT.getInstance().CHROMIUM.getNeutrons()*16)+(ELEMENT.getInstance().NICKEL.getNeutrons()*66))/100, //Neutrons + true, //Uses Blast furnace? + //Material Stacks with Percentage of required elements. + new MaterialStack[]{ new MaterialStack(ELEMENT.getInstance().COBALT, 02), new MaterialStack(ELEMENT.getInstance().MOLYBDENUM, 16), new MaterialStack(ELEMENT.getInstance().CHROMIUM, 16), new MaterialStack(ELEMENT.getInstance().NICKEL, 66) }); - public static final Material INCOLOY_020 = new Material("Incoloy-020", // Material - // Name - new short[] { - 101, 81, 71, 0 - }, // Material - // Colour - 1425, // Melting - // Point - // in - // C - (ELEMENT.getInstance().IRON.getBoilingPointC() * 40 + ELEMENT.getInstance().COPPER.getBoilingPointC() * 4 - + ELEMENT.getInstance().CHROMIUM.getBoilingPointC() * 20 - + ELEMENT.getInstance().NICKEL.getBoilingPointC() * 36) / 100, // Boiling - // Point - // in - // C - (ELEMENT.getInstance().IRON.getProtons() * 40 + ELEMENT.getInstance().COPPER.getProtons() * 4 - + ELEMENT.getInstance().CHROMIUM.getProtons() * 20 + ELEMENT.getInstance().NICKEL.getProtons() * 36) - / 100, // Protons - (ELEMENT.getInstance().IRON.getNeutrons() * 40 + ELEMENT.getInstance().COPPER.getNeutrons() * 4 - + ELEMENT.getInstance().CHROMIUM.getNeutrons() * 20 - + ELEMENT.getInstance().NICKEL.getNeutrons() * 36) / 100, // Neutrons - false, // Uses - // Blast - // furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack[] { + public static final Material INCOLOY_020 = new Material( + "Incoloy-020", //Material Name + new short[]{101, 81, 71, 0}, //Material Colour + 1425, //Melting Point in C + ((ELEMENT.getInstance().IRON.getBoilingPointC()*40)+(ELEMENT.getInstance().COPPER.getBoilingPointC()*4)+(ELEMENT.getInstance().CHROMIUM.getBoilingPointC()*20)+(ELEMENT.getInstance().NICKEL.getBoilingPointC()*36))/100, //Boiling Point in C + ((ELEMENT.getInstance().IRON.getProtons()*40)+(ELEMENT.getInstance().COPPER.getProtons()*4)+(ELEMENT.getInstance().CHROMIUM.getProtons()*20)+(ELEMENT.getInstance().NICKEL.getProtons()*36))/100, //Protons + ((ELEMENT.getInstance().IRON.getNeutrons()*40)+(ELEMENT.getInstance().COPPER.getNeutrons()*4)+(ELEMENT.getInstance().CHROMIUM.getNeutrons()*20)+(ELEMENT.getInstance().NICKEL.getNeutrons()*36))/100, //Neutrons + false, //Uses Blast furnace? + //Material Stacks with Percentage of required elements. + new MaterialStack[]{ new MaterialStack(ELEMENT.getInstance().IRON, 40), new MaterialStack(ELEMENT.getInstance().COPPER, 4), new MaterialStack(ELEMENT.getInstance().CHROMIUM, 20), new MaterialStack(ELEMENT.getInstance().NICKEL, 36) }); - public static final Material INCOLOY_DS = new Material("Incoloy-DS", // Material - // Name - new short[] { - 71, 101, 81, 0 - }, // Material - // Colour - 1425, // Melting - // Point - // in - // C - (ELEMENT.getInstance().IRON.getBoilingPointC() * 46 + ELEMENT.getInstance().COBALT.getBoilingPointC() * 18 - + ELEMENT.getInstance().CHROMIUM.getBoilingPointC() * 18 - + ELEMENT.getInstance().NICKEL.getBoilingPointC() * 18) / 100, // Boiling - // Point - // in - // C - (ELEMENT.getInstance().IRON.getProtons() * 46 + ELEMENT.getInstance().COBALT.getProtons() * 18 - + ELEMENT.getInstance().CHROMIUM.getProtons() * 18 + ELEMENT.getInstance().NICKEL.getProtons() * 18) - / 100, // Protons - (ELEMENT.getInstance().IRON.getNeutrons() * 46 + ELEMENT.getInstance().COBALT.getNeutrons() * 18 - + ELEMENT.getInstance().CHROMIUM.getNeutrons() * 18 - + ELEMENT.getInstance().NICKEL.getNeutrons() * 18) / 100, // Neutrons - false, // Uses - // Blast - // furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack[] { + public static final Material INCOLOY_DS = new Material( + "Incoloy-DS", //Material Name + new short[]{71, 101, 81, 0}, //Material Colour + 1425, //Melting Point in C + ((ELEMENT.getInstance().IRON.getBoilingPointC()*46)+(ELEMENT.getInstance().COBALT.getBoilingPointC()*18)+(ELEMENT.getInstance().CHROMIUM.getBoilingPointC()*18)+(ELEMENT.getInstance().NICKEL.getBoilingPointC()*18))/100, //Boiling Point in C + ((ELEMENT.getInstance().IRON.getProtons()*46)+(ELEMENT.getInstance().COBALT.getProtons()*18)+(ELEMENT.getInstance().CHROMIUM.getProtons()*18)+(ELEMENT.getInstance().NICKEL.getProtons()*18))/100, //Protons + ((ELEMENT.getInstance().IRON.getNeutrons()*46)+(ELEMENT.getInstance().COBALT.getNeutrons()*18)+(ELEMENT.getInstance().CHROMIUM.getNeutrons()*18)+(ELEMENT.getInstance().NICKEL.getNeutrons()*18))/100, //Neutrons + false, //Uses Blast furnace? + //Material Stacks with Percentage of required elements. + new MaterialStack[]{ new MaterialStack(ELEMENT.getInstance().IRON, 46), new MaterialStack(ELEMENT.getInstance().COBALT, 18), new MaterialStack(ELEMENT.getInstance().CHROMIUM, 18), new MaterialStack(ELEMENT.getInstance().NICKEL, 18) }); - public static final Material INCOLOY_MA956 = new Material("Incoloy-MA956", // Material - // Name - new short[] { - 81, 71, 101, 0 - }, // Material - // Colour - 1425, // Melting - // Point - // in - // C - (ELEMENT.getInstance().IRON.getBoilingPointC() * 75 + ELEMENT.getInstance().ALUMINIUM.getBoilingPointC() * 4 - + ELEMENT.getInstance().CHROMIUM.getBoilingPointC() * 20 - + ELEMENT.getInstance().YTTRIUM.getBoilingPointC() * 1) / 100, // Boiling - // Point - // in - // C - (ELEMENT.getInstance().IRON.getProtons() * 75 + ELEMENT.getInstance().ALUMINIUM.getProtons() * 4 - + ELEMENT.getInstance().CHROMIUM.getProtons() * 20 + ELEMENT.getInstance().YTTRIUM.getProtons() * 1) - / 100, // Protons - (ELEMENT.getInstance().IRON.getNeutrons() * 75 + ELEMENT.getInstance().ALUMINIUM.getNeutrons() * 4 - + ELEMENT.getInstance().CHROMIUM.getNeutrons() * 20 - + ELEMENT.getInstance().YTTRIUM.getNeutrons() * 1) / 100, // Neutrons - true, // Uses - // Blast - // furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack[] { + public static final Material INCOLOY_MA956 = new Material( + "Incoloy-MA956", //Material Name + new short[]{81, 71, 101, 0}, //Material Colour + 1425, //Melting Point in C + ((ELEMENT.getInstance().IRON.getBoilingPointC()*75)+(ELEMENT.getInstance().ALUMINIUM.getBoilingPointC()*4)+(ELEMENT.getInstance().CHROMIUM.getBoilingPointC()*20)+(ELEMENT.getInstance().YTTRIUM.getBoilingPointC()*1))/100, //Boiling Point in C + ((ELEMENT.getInstance().IRON.getProtons()*75)+(ELEMENT.getInstance().ALUMINIUM.getProtons()*4)+(ELEMENT.getInstance().CHROMIUM.getProtons()*20)+(ELEMENT.getInstance().YTTRIUM.getProtons()*1))/100, //Protons + ((ELEMENT.getInstance().IRON.getNeutrons()*75)+(ELEMENT.getInstance().ALUMINIUM.getNeutrons()*4)+(ELEMENT.getInstance().CHROMIUM.getNeutrons()*20)+(ELEMENT.getInstance().YTTRIUM.getNeutrons()*1))/100, //Neutrons + true, //Uses Blast furnace? + //Material Stacks with Percentage of required elements. + new MaterialStack[]{ new MaterialStack(ELEMENT.getInstance().IRON, 64), new MaterialStack(ELEMENT.getInstance().ALUMINIUM, 12), new MaterialStack(ELEMENT.getInstance().CHROMIUM, 20), new MaterialStack(ELEMENT.getInstance().YTTRIUM, 4) }); - public static final Material TUNGSTEN_CARBIDE = new Material("Tungsten Carbide", // Material - // Name - new short[] { - 44, 44, 44, 0 - }, // Material - // Colour - 3422, // Melting - // Point - // in - // C - (ELEMENT.getInstance().TUNGSTEN.getBoilingPointC() * 5 - + ELEMENT.getInstance().CARBON.getBoilingPointC() * 5) / 10, // Boiling - // Point - // in - // C - (ELEMENT.getInstance().TUNGSTEN.getProtons() * 5 + ELEMENT.getInstance().CARBON.getProtons() * 5) / 10, // Protons - (ELEMENT.getInstance().TUNGSTEN.getNeutrons() * 5 + ELEMENT.getInstance().CARBON.getNeutrons() * 5) / 10, // Neutrons - true, // Uses - // Blast - // furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack[] { + public static final Material TUNGSTEN_CARBIDE = new Material( + "Tungsten Carbide", //Material Name + new short[]{44, 44, 44, 0}, //Material Colour + 3422, //Melting Point in C + ((ELEMENT.getInstance().TUNGSTEN.getBoilingPointC()*5)+(ELEMENT.getInstance().CARBON.getBoilingPointC()*5))/10, //Boiling Point in C + ((ELEMENT.getInstance().TUNGSTEN.getProtons()*5)+(ELEMENT.getInstance().CARBON.getProtons()*5))/10, //Protons + ((ELEMENT.getInstance().TUNGSTEN.getNeutrons()*5)+(ELEMENT.getInstance().CARBON.getNeutrons()*5))/10, //Neutrons + true, //Uses Blast furnace? + //Material Stacks with Percentage of required elements. + new MaterialStack[]{ new MaterialStack(ELEMENT.getInstance().CARBON, 50), new MaterialStack(ELEMENT.getInstance().TUNGSTEN, 50) }); - public static final Material SILICON_CARBIDE = new Material("Silicon Carbide", // Material - // Name - new short[] { - 40, 48, 36, 0 - }, // Material - // Colour - 1414, // Melting - // Point - // in - // C - (ELEMENT.getInstance().SILICON.getBoilingPointC() * 5 + ELEMENT.getInstance().CARBON.getBoilingPointC() * 5) - / 10, // Boiling - // Point - // in - // C - (ELEMENT.getInstance().SILICON.getProtons() * 5 + ELEMENT.getInstance().CARBON.getProtons() * 5) / 10, // Protons - (ELEMENT.getInstance().SILICON.getNeutrons() * 5 + ELEMENT.getInstance().CARBON.getNeutrons() * 5) / 10, // Neutrons - false, // Uses - // Blast - // furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack[] { + public static final Material SILICON_CARBIDE = new Material( + "Silicon Carbide", //Material Name + new short[]{40, 48, 36, 0}, //Material Colour + 1414, //Melting Point in C + ((ELEMENT.getInstance().SILICON.getBoilingPointC()*5)+(ELEMENT.getInstance().CARBON.getBoilingPointC()*5))/10, //Boiling Point in C + ((ELEMENT.getInstance().SILICON.getProtons()*5)+(ELEMENT.getInstance().CARBON.getProtons()*5))/10, //Protons + ((ELEMENT.getInstance().SILICON.getNeutrons()*5)+(ELEMENT.getInstance().CARBON.getNeutrons()*5))/10, //Neutrons + false, //Uses Blast furnace? + //Material Stacks with Percentage of required elements. + new MaterialStack[]{ new MaterialStack(ELEMENT.getInstance().SILICON, 40), new MaterialStack(ELEMENT.getInstance().CARBON, 50), new MaterialStack(ELEMENT.getInstance().OXYGEN, 10) }); - public static final Material TANTALUM_CARBIDE = new Material("Tantalum Carbide", // Material - // Name - new short[] { - 139, 136, 120, 0 - }, // Material - // Colour - 2980, // Melting - // Point - // in - // C - (ELEMENT.getInstance().TANTALUM.getBoilingPointC() * 5 - + ELEMENT.getInstance().CARBON.getBoilingPointC() * 5) / 10, // Boiling - // Point - // in - // C - (ELEMENT.getInstance().TANTALUM.getProtons() * 5 + ELEMENT.getInstance().CARBON.getProtons() * 5) / 10, // Protons - (ELEMENT.getInstance().TANTALUM.getNeutrons() * 5 + ELEMENT.getInstance().CARBON.getNeutrons() * 5) / 10, // Neutrons - true, // Uses - // Blast - // furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack[] { + public static final Material TANTALUM_CARBIDE = new Material( + "Tantalum Carbide", //Material Name + new short[]{139, 136, 120, 0}, //Material Colour + 2980, //Melting Point in C + ((ELEMENT.getInstance().TANTALUM.getBoilingPointC()*5)+(ELEMENT.getInstance().CARBON.getBoilingPointC()*5))/10, //Boiling Point in C + ((ELEMENT.getInstance().TANTALUM.getProtons()*5)+(ELEMENT.getInstance().CARBON.getProtons()*5))/10, //Protons + ((ELEMENT.getInstance().TANTALUM.getNeutrons()*5)+(ELEMENT.getInstance().CARBON.getNeutrons()*5))/10, //Neutrons + true, //Uses Blast furnace? + //Material Stacks with Percentage of required elements. + new MaterialStack[]{ new MaterialStack(ELEMENT.getInstance().TANTALUM, 40), new MaterialStack(ELEMENT.getInstance().CARBON, 50), new MaterialStack(ELEMENT.getInstance().OXYGEN, 10) }); - public static final Material ZIRCONIUM_CARBIDE = new Material("Zirconium Carbide", // Material - // Name - new short[] { - 222, 202, 180, 0 - }, // Material - // Colour - 1855, // Melting - // Point - // in - // C - (ELEMENT.getInstance().ZIRCONIUM.getBoilingPointC() * 5 - + ELEMENT.getInstance().CARBON.getBoilingPointC() * 5) / 10, // Boiling - // Point - // in - // C - (ELEMENT.getInstance().ZIRCONIUM.getProtons() * 5 + ELEMENT.getInstance().CARBON.getProtons() * 5) / 10, // Protons - (ELEMENT.getInstance().ZIRCONIUM.getNeutrons() * 5 + ELEMENT.getInstance().CARBON.getNeutrons() * 5) / 10, // Neutrons - true, // Uses - // Blast - // furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack[] { + public static final Material ZIRCONIUM_CARBIDE = new Material( + "Zirconium Carbide", //Material Name + new short[]{222, 202, 180, 0}, //Material Colour + 1855, //Melting Point in C + ((ELEMENT.getInstance().ZIRCONIUM.getBoilingPointC()*5)+(ELEMENT.getInstance().CARBON.getBoilingPointC()*5))/10, //Boiling Point in C + ((ELEMENT.getInstance().ZIRCONIUM.getProtons()*5)+(ELEMENT.getInstance().CARBON.getProtons()*5))/10, //Protons + ((ELEMENT.getInstance().ZIRCONIUM.getNeutrons()*5)+(ELEMENT.getInstance().CARBON.getNeutrons()*5))/10, //Neutrons + true, //Uses Blast furnace? + //Material Stacks with Percentage of required elements. + new MaterialStack[]{ new MaterialStack(ELEMENT.getInstance().ZIRCONIUM, 40), new MaterialStack(ELEMENT.getInstance().CARBON, 50), new MaterialStack(ELEMENT.getInstance().OXYGEN, 10) }); - public static final Material NIOBIUM_CARBIDE = new Material("Niobium Carbide", // Material - // Name - new short[] { - 205, 197, 191, 0 - }, // Material - // Colour - 2477, // Melting - // Point - // in - // C - (ELEMENT.getInstance().NIOBIUM.getBoilingPointC() * 5 + ELEMENT.getInstance().CARBON.getBoilingPointC() * 5) - / 10, // Boiling - // Point - // in - // C - (ELEMENT.getInstance().NIOBIUM.getProtons() * 5 + ELEMENT.getInstance().CARBON.getProtons() * 5) / 10, // Protons - (ELEMENT.getInstance().NIOBIUM.getNeutrons() * 5 + ELEMENT.getInstance().CARBON.getNeutrons() * 5) / 10, // Neutrons - true, // Uses - // Blast - // furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack[] { + public static final Material NIOBIUM_CARBIDE = new Material( + "Niobium Carbide", //Material Name + new short[]{205, 197, 191, 0}, //Material Colour + 2477, //Melting Point in C + ((ELEMENT.getInstance().NIOBIUM.getBoilingPointC()*5)+(ELEMENT.getInstance().CARBON.getBoilingPointC()*5))/10, //Boiling Point in C + ((ELEMENT.getInstance().NIOBIUM.getProtons()*5)+(ELEMENT.getInstance().CARBON.getProtons()*5))/10, //Protons + ((ELEMENT.getInstance().NIOBIUM.getNeutrons()*5)+(ELEMENT.getInstance().CARBON.getNeutrons()*5))/10, //Neutrons + true, //Uses Blast furnace? + //Material Stacks with Percentage of required elements. + new MaterialStack[]{ new MaterialStack(ELEMENT.getInstance().NIOBIUM, 40), new MaterialStack(ELEMENT.getInstance().CARBON, 50), new MaterialStack(ELEMENT.getInstance().OXYGEN, 10) }); - - public static final Material LEAGRISIUM = new Material("Grisium", // Material - // Name - new short[] { - 53, 93, 106, 0 - }, // Material - // Colour - 9001, // Melting - // Point - // in - // C - 25000, // Boiling - // Point - // in - // C - 96, // Protons - 128, // Neutrons - true, // Uses - // Blast - // furnace? - new MaterialStack[] { + + + public static final Material LEAGRISIUM = new Material( + "Grisium", //Material Name + new short[]{53, 93, 106, 0}, //Material Colour + 9001, //Melting Point in C + 25000, //Boiling Point in C + 96, //Protons + 128, //Neutrons + true, //Uses Blast furnace? + new MaterialStack[]{ new MaterialStack(ELEMENT.getInstance().TITANIUM, 18), new MaterialStack(ELEMENT.getInstance().CARBON, 18), new MaterialStack(ELEMENT.getInstance().POTASSIUM, 18), new MaterialStack(ELEMENT.getInstance().LITHIUM, 18), new MaterialStack(ELEMENT.getInstance().SULFUR, 18), new MaterialStack(ELEMENT.getInstance().HYDROGEN, 10) - }); // Material - // Stacks - // with - // Percentage - // of - // required - // elements. - - // Quantum - public static final Material QUANTUM = new Material("Quantum", // Material - // Name - new short[] { - 128, 128, 255, 50 - }, // Material - // Colour - 9999, // Melting - // Point - // in - // C - 25000, // Boiling - // Point - // in - // C - 150, // Protons - 200, // Neutrons - true, // Uses - // Blast - // furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack[] { - new MaterialStack(ALLOY.LEAGRISIUM, 25), new MaterialStack(ALLOY.ENERGYCRYSTAL, 25), + }); //Material Stacks with Percentage of required elements. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + //Quantum + public static final Material QUANTUM = new Material( + "Quantum", //Material Name + new short[]{128, 128, 255, 50}, //Material Colour + 9999, //Melting Point in C + 25000, //Boiling Point in C + 150, //Protons + 200, //Neutrons + true, //Uses Blast furnace? + //Material Stacks with Percentage of required elements. + new MaterialStack[]{ + new MaterialStack(ALLOY.LEAGRISIUM, 25), + new MaterialStack(ALLOY.ENERGYCRYSTAL, 25), new MaterialStack(ALLOY.ZIRCONIUM_CARBIDE, 25), new MaterialStack(ELEMENT.getInstance().MANGANESE, 5), new MaterialStack(ELEMENT.getInstance().MOLYBDENUM, 5), @@ -1017,5 +561,7 @@ public final class ALLOY { new MaterialStack(ELEMENT.getInstance().BERYLLIUM, 5), new MaterialStack(ELEMENT.getInstance().BISMUTH, 5) }); + + } diff --git a/src/Java/gtPlusPlus/core/material/ELEMENT.java b/src/Java/gtPlusPlus/core/material/ELEMENT.java index a8a474a6c2..73d49e2694 100644 --- a/src/Java/gtPlusPlus/core/material/ELEMENT.java +++ b/src/Java/gtPlusPlus/core/material/ELEMENT.java @@ -4,102 +4,91 @@ import gregtech.api.enums.Materials; import gtPlusPlus.core.util.materials.MaterialUtils; public final class ELEMENT { - + private static final ELEMENT thisClass = new ELEMENT(); - - public static ELEMENT getInstance() { - return ELEMENT.thisClass; + + public ELEMENT(){ + + } + + public static ELEMENT getInstance(){ + return thisClass; } - // First 50 Elements - public final Material HYDROGEN = MaterialUtils.generateMaterialFromGtENUM(Materials.Hydrogen); + //First 50 Elements + public final Material HYDROGEN = MaterialUtils.generateMaterialFromGtENUM(Materials.Hydrogen); + public final Material HELIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Helium); + public final Material LITHIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Lithium); + public final Material BERYLLIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Beryllium); + public final Material BORON = MaterialUtils.generateMaterialFromGtENUM(Materials.Boron); + public final Material CARBON = MaterialUtils.generateMaterialFromGtENUM(Materials.Carbon); + public final Material NITROGEN = MaterialUtils.generateMaterialFromGtENUM(Materials.Nitrogen); + public final Material OXYGEN = MaterialUtils.generateMaterialFromGtENUM(Materials.Oxygen); + public final Material FLUORINE = MaterialUtils.generateMaterialFromGtENUM(Materials.Fluorine); + //public final Material NEON = MaterialUtils.generateMaterialFromGtENUM(Materials.Ne); + public final Material SODIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Sodium); + public final Material MAGNESIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Magnesium); + public final Material ALUMINIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Aluminium); + public final Material SILICON = MaterialUtils.generateMaterialFromGtENUM(Materials.Silicon); + public final Material PHOSPHORUS = MaterialUtils.generateMaterialFromGtENUM(Materials.Phosphorus); + public final Material SULFUR = MaterialUtils.generateMaterialFromGtENUM(Materials.Sulfur); + public final Material CHLORINE = MaterialUtils.generateMaterialFromGtENUM(Materials.Chlorine); + public final Material ARGON = MaterialUtils.generateMaterialFromGtENUM(Materials.Argon); + public final Material POTASSIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Potassium); + public final Material CALCIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Calcium); + public final Material SCANDIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Scandium); + public final Material TITANIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Titanium); + public final Material VANADIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Vanadium); + public final Material CHROMIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Chrome); + public final Material MANGANESE = MaterialUtils.generateMaterialFromGtENUM(Materials.Manganese); + public final Material IRON = MaterialUtils.generateMaterialFromGtENUM(Materials.Iron); + public final Material COBALT = MaterialUtils.generateMaterialFromGtENUM(Materials.Cobalt); + public final Material NICKEL = MaterialUtils.generateMaterialFromGtENUM(Materials.Nickel); + public final Material COPPER = MaterialUtils.generateMaterialFromGtENUM(Materials.Copper); + public final Material ZINC = MaterialUtils.generateMaterialFromGtENUM(Materials.Zinc); + public final Material GALLIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Gallium); + //public final Material GERMANIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Germanium); + public final Material ARSENIC = MaterialUtils.generateMaterialFromGtENUM(Materials.Arsenic); + //public final Material SELENIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Selenium); + //public final Material BROMINE = MaterialUtils.generateMaterialFromGtENUM(Materials.Bromine); + //public final Material KRYPTON = MaterialUtils.generateMaterialFromGtENUM(Materials.Krypton); + public final Material RUBIDIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Rubidium); + public final Material STRONTIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Strontium); + public final Material YTTRIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Yttrium); + public final Material ZIRCONIUM = new Material("Zirconium", new short[]{255, 250, 205}, 1855, 4377, 40, 51, false, "Zr", 0);//Not a GT Inherited Material + public final Material NIOBIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Niobium); + public final Material MOLYBDENUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Molybdenum); + //public final Material TECHNETIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Technetium); + //public final Material RUTHENIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Ruthenium); + //public final Material RHODIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Rhodium); + public final Material PALLADIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Palladium); + public final Material SILVER = MaterialUtils.generateMaterialFromGtENUM(Materials.Silver); + public final Material CADMIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Cadmium); + public final Material INDIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Indium); + public final Material TIN = MaterialUtils.generateMaterialFromGtENUM(Materials.Tin); - public final Material HELIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Helium); - public final Material LITHIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Lithium); - public final Material BERYLLIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Beryllium); - public final Material BORON = MaterialUtils.generateMaterialFromGtENUM(Materials.Boron); - public final Material CARBON = MaterialUtils.generateMaterialFromGtENUM(Materials.Carbon); - public final Material NITROGEN = MaterialUtils.generateMaterialFromGtENUM(Materials.Nitrogen); - public final Material OXYGEN = MaterialUtils.generateMaterialFromGtENUM(Materials.Oxygen); - public final Material FLUORINE = MaterialUtils.generateMaterialFromGtENUM(Materials.Fluorine); - // public final Material NEON = - // MaterialUtils.generateMaterialFromGtENUM(Materials.Ne); - public final Material SODIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Sodium); - public final Material MAGNESIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Magnesium); - public final Material ALUMINIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Aluminium); - public final Material SILICON = MaterialUtils.generateMaterialFromGtENUM(Materials.Silicon); - public final Material PHOSPHORUS = MaterialUtils.generateMaterialFromGtENUM(Materials.Phosphorus); - public final Material SULFUR = MaterialUtils.generateMaterialFromGtENUM(Materials.Sulfur); - public final Material CHLORINE = MaterialUtils.generateMaterialFromGtENUM(Materials.Chlorine); - public final Material ARGON = MaterialUtils.generateMaterialFromGtENUM(Materials.Argon); - public final Material POTASSIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Potassium); - public final Material CALCIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Calcium); - public final Material SCANDIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Scandium); - public final Material TITANIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Titanium); - public final Material VANADIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Vanadium); - public final Material CHROMIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Chrome); - public final Material MANGANESE = MaterialUtils.generateMaterialFromGtENUM(Materials.Manganese); - public final Material IRON = MaterialUtils.generateMaterialFromGtENUM(Materials.Iron); - public final Material COBALT = MaterialUtils.generateMaterialFromGtENUM(Materials.Cobalt); - public final Material NICKEL = MaterialUtils.generateMaterialFromGtENUM(Materials.Nickel); - public final Material COPPER = MaterialUtils.generateMaterialFromGtENUM(Materials.Copper); - public final Material ZINC = MaterialUtils.generateMaterialFromGtENUM(Materials.Zinc); - public final Material GALLIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Gallium); - // public final Material GERMANIUM = - // MaterialUtils.generateMaterialFromGtENUM(Materials.Germanium); - public final Material ARSENIC = MaterialUtils.generateMaterialFromGtENUM(Materials.Arsenic); - // public final Material SELENIUM = - // MaterialUtils.generateMaterialFromGtENUM(Materials.Selenium); - // public final Material BROMINE = - // MaterialUtils.generateMaterialFromGtENUM(Materials.Bromine); - // public final Material KRYPTON = - // MaterialUtils.generateMaterialFromGtENUM(Materials.Krypton); - public final Material RUBIDIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Rubidium); - public final Material STRONTIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Strontium); - public final Material YTTRIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Yttrium); - public final Material ZIRCONIUM = new Material("Zirconium", new short[] { - 255, 250, 205 - }, 1855, 4377, 40, 51, false, "Zr", 0); // Not - // a - // GT - // Inherited - // Material - public final Material NIOBIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Niobium); - public final Material MOLYBDENUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Molybdenum); - // public final Material TECHNETIUM = - // MaterialUtils.generateMaterialFromGtENUM(Materials.Technetium); - // public final Material RUTHENIUM = - // MaterialUtils.generateMaterialFromGtENUM(Materials.Ruthenium); - // public final Material RHODIUM = - // MaterialUtils.generateMaterialFromGtENUM(Materials.Rhodium); - public final Material PALLADIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Palladium); - public final Material SILVER = MaterialUtils.generateMaterialFromGtENUM(Materials.Silver); - public final Material CADMIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Cadmium); - public final Material INDIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Indium); - public final Material TIN = MaterialUtils.generateMaterialFromGtENUM(Materials.Tin); - // Second 50 elements - public final Material TANTALUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Tantalum); - public final Material TUNGSTEN = MaterialUtils.generateMaterialFromGtENUM(Materials.Tungsten); - public final Material OSMIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Osmium); - public final Material IRIDIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Iridium); - public final Material PLATINUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Platinum); - public final Material GOLD = MaterialUtils.generateMaterialFromGtENUM(Materials.Gold); - 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 URANIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Uranium); - public final Material PLUTONIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Plutonium); - 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 ELEMENT() { - } + + + + + + + //Second 50 elements + public final Material TANTALUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Tantalum); + public final Material TUNGSTEN = MaterialUtils.generateMaterialFromGtENUM(Materials.Tungsten); + public final Material OSMIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Osmium); + public final Material IRIDIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Iridium); + public final Material PLATINUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Platinum); + public final Material GOLD = MaterialUtils.generateMaterialFromGtENUM(Materials.Gold); + 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 URANIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Uranium); + public final Material PLUTONIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Plutonium); + 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 + } diff --git a/src/Java/gtPlusPlus/core/material/Material.java b/src/Java/gtPlusPlus/core/material/Material.java index 20ffd9cb6b..893b310ba4 100644 --- a/src/Java/gtPlusPlus/core/material/Material.java +++ b/src/Java/gtPlusPlus/core/material/Material.java @@ -1,14 +1,18 @@ package gtPlusPlus.core.material; -import java.util.ArrayList; - -import gregtech.api.enums.*; +import static gregtech.api.enums.GT_Values.M; +import gregtech.api.enums.ItemList; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; import gtPlusPlus.core.item.base.cell.BaseItemCell; import gtPlusPlus.core.util.Utils; import gtPlusPlus.core.util.fluid.FluidUtils; import gtPlusPlus.core.util.item.ItemUtils; import gtPlusPlus.core.util.materials.MaterialUtils; import gtPlusPlus.core.util.math.MathUtils; + +import java.util.ArrayList; + import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraftforge.fluids.Fluid; @@ -16,76 +20,63 @@ import net.minecraftforge.fluids.FluidStack; public class Material { - private final String unlocalizedName; - private final String localizedName; - - private final Fluid vMoltenFluid; - - protected Object dataVar; - - private ArrayList<MaterialStack> vMaterialInput = new ArrayList<MaterialStack>(); - public final long[] vSmallestRatio; - - private final short[] RGBA; - - private final boolean usesBlastFurnace; - public final boolean isRadioactive; - public final byte vRadioationLevel; - - private final int meltingPointK; - private final int boilingPointK; - private final int meltingPointC; - private final int boilingPointC; - private final long vProtons; - private final long vNeutrons; - private final long vMass; - public final int smallestStackSizeWhenProcessing; // Add - // a - // check - // for - // <=0 - // || - // > - // 64 - public final int vTier; - public final int vVoltageMultiplier; - public final String vChemicalFormula; - public final String vChemicalSymbol; - - public Material(final String materialName, final short[] rgba, final int meltingPoint, final int boilingPoint, - final long protons, final long neutrons, final boolean blastFurnace, final int radiationLevel, - final MaterialStack... inputs) { - this(materialName, rgba, meltingPoint, boilingPoint, protons, neutrons, blastFurnace, "", radiationLevel, - inputs); - } - - public Material(final String materialName, final short[] rgba, final int meltingPoint, final int boilingPoint, - final long protons, final long neutrons, final boolean blastFurnace, final MaterialStack... inputs) { + private final String unlocalizedName; + private final String localizedName; + + private final Fluid vMoltenFluid; + + protected Object dataVar; + + private ArrayList<MaterialStack> vMaterialInput = new ArrayList<MaterialStack>(); + public final long[] vSmallestRatio; + + private final short[] RGBA; + + private final boolean usesBlastFurnace; + public final boolean isRadioactive; + public final byte vRadioationLevel; + + private final int meltingPointK; + private final int boilingPointK; + private final int meltingPointC; + private final int boilingPointC; + private final long vProtons; + private final long vNeutrons; + private final long vMass; + public final int smallestStackSizeWhenProcessing; //Add a check for <=0 || > 64 + public final int vTier; + public final int vVoltageMultiplier; + public final String vChemicalFormula; + public final String vChemicalSymbol; + + public Material(final String materialName, final short[] rgba, final int meltingPoint, final int boilingPoint, final long protons, final long neutrons, final boolean blastFurnace, final MaterialStack... inputs){ this(materialName, rgba, meltingPoint, boilingPoint, protons, neutrons, blastFurnace, "", 0, inputs); } - public Material(final String materialName, final short[] rgba, final int meltingPoint, final int boilingPoint, - final long protons, final long neutrons, final boolean blastFurnace, final String chemicalSymbol, - final int radiationLevel, final MaterialStack... inputs) { + public Material(final String materialName, final short[] rgba, final int meltingPoint, final int boilingPoint, final long protons, final long neutrons, final boolean blastFurnace, final int radiationLevel, MaterialStack... inputs){ + this(materialName, rgba, meltingPoint, boilingPoint, protons, neutrons, blastFurnace, "", radiationLevel, inputs); + } + + public Material(final String materialName, final short[] rgba, final int meltingPoint, final int boilingPoint, final long protons, final long neutrons, final boolean blastFurnace, final String chemicalSymbol, final int radiationLevel, final MaterialStack... inputs){ this.unlocalizedName = Utils.sanitizeString(materialName); this.localizedName = materialName; this.RGBA = rgba; this.meltingPointC = meltingPoint; - if (boilingPoint != 0) { + if (boilingPoint != 0){ this.boilingPointC = boilingPoint; } else { - this.boilingPointC = meltingPoint * 4; + this.boilingPointC = meltingPoint*4; } - this.meltingPointK = (int) MathUtils.celsiusToKelvin(this.meltingPointC); - this.boilingPointK = (int) MathUtils.celsiusToKelvin(this.boilingPointC); + this.meltingPointK = (int) MathUtils.celsiusToKelvin(meltingPointC); + this.boilingPointK = (int) MathUtils.celsiusToKelvin(boilingPointC); this.vProtons = protons; this.vNeutrons = neutrons; - this.vMass = this.getMass(); + this.vMass = getMass(); - // Sets the Rad level - if (radiationLevel != 0) { + //Sets the Rad level + if (radiationLevel != 0){ this.isRadioactive = true; this.vRadioationLevel = (byte) radiationLevel; } @@ -94,384 +85,339 @@ public class Material { this.vRadioationLevel = (byte) radiationLevel; } - // Sets the materials 'tier'. Will probably replace this logic. + //Sets the materials 'tier'. Will probably replace this logic. this.vTier = MaterialUtils.getTierOfMaterial((int) MathUtils.celsiusToKelvin(meltingPoint)); this.usesBlastFurnace = blastFurnace; this.vVoltageMultiplier = this.getMeltingPointK() >= 2800 ? 64 : 16; - if (inputs == null) { - this.vMaterialInput = null; + if (inputs == null){ + this.vMaterialInput = null; } else { - if (inputs.length != 0) { - for (int i = 0; i < inputs.length; i++) { - if (inputs[i] != null) { + if (inputs.length != 0){ + for (int i=0; i < inputs.length; i++){ + if (inputs[i] != null){ this.vMaterialInput.add(i, inputs[i]); } } } } - this.vSmallestRatio = this.getSmallestRatio(this.vMaterialInput); + this.vSmallestRatio = getSmallestRatio(vMaterialInput); int tempSmallestSize = 0; - if (this.vSmallestRatio != null) { - for (int v = 0; v < this.vSmallestRatio.length; v++) { - tempSmallestSize = (int) (tempSmallestSize + this.vSmallestRatio[v]); + if (vSmallestRatio != null){ + for (int v=0;v<this.vSmallestRatio.length;v++){ + tempSmallestSize=(int) (tempSmallestSize+vSmallestRatio[v]); } - this.smallestStackSizeWhenProcessing = tempSmallestSize; // Valid - // stacksizes + this.smallestStackSizeWhenProcessing = tempSmallestSize; //Valid stacksizes } else { - this.smallestStackSizeWhenProcessing = 1; // Valid stacksizes + this.smallestStackSizeWhenProcessing = 1; //Valid stacksizes } - // Makes a Fancy Chemical Tooltip + + //Makes a Fancy Chemical Tooltip this.vChemicalSymbol = chemicalSymbol; - if (this.vMaterialInput != null) { - this.vChemicalFormula = this.getToolTip(chemicalSymbol, OrePrefixes.dust.mMaterialAmount / GT_Values.M, - true); + if (vMaterialInput != null){ + this.vChemicalFormula = getToolTip(chemicalSymbol, OrePrefixes.dust.mMaterialAmount / M, true); } - else if (!this.vChemicalSymbol.equals("")) { + else if (!this.vChemicalSymbol.equals("")){ Utils.LOG_WARNING("materialInput is null, using a valid chemical symbol."); this.vChemicalFormula = this.vChemicalSymbol; } - else { + else{ Utils.LOG_WARNING("MaterialInput == null && chemicalSymbol probably equals nothing"); this.vChemicalFormula = "??"; } - final Materials isValid = Materials.get(this.getLocalizedName()); - if (isValid == Materials._NULL) { - this.vMoltenFluid = this.generateFluid(); + Materials isValid = Materials.get(getLocalizedName()); + if (isValid == Materials._NULL){ + this.vMoltenFluid = generateFluid(); } else { - if (isValid.mFluid != null) { + if (isValid.mFluid != null){ this.vMoltenFluid = isValid.mFluid; } - else if (isValid.mGas != null) { + else if (isValid.mGas != null){ this.vMoltenFluid = isValid.mGas; } - else if (isValid.mPlasma != null) { + else if (isValid.mPlasma != null){ this.vMoltenFluid = isValid.mPlasma; } else { - this.vMoltenFluid = this.generateFluid(); + this.vMoltenFluid = generateFluid(); } } - // dataVar = MathUtils.generateSingularRandomHexValue(); + //dataVar = MathUtils.generateSingularRandomHexValue(); String ratio = ""; - if (this.vSmallestRatio != null) { - for (int hu = 0; hu < this.vSmallestRatio.length; hu++) { - if (ratio.equals("")) { - ratio = String.valueOf(this.vSmallestRatio[hu]); + if (vSmallestRatio != null) + for (int hu=0;hu<vSmallestRatio.length;hu++){ + if (ratio.equals("")){ + ratio = String.valueOf(vSmallestRatio[hu]); } else { - ratio = ratio + ":" + this.vSmallestRatio[hu]; - } + ratio = ratio + ":" +vSmallestRatio[hu]; + } } - } - Utils.LOG_INFO("Creating a Material instance for " + materialName); - Utils.LOG_INFO("Formula: " + this.vChemicalFormula + " Smallest Stack: " + this.smallestStackSizeWhenProcessing - + " Smallest Ratio:" + ratio); - Utils.LOG_INFO("Protons: " + this.vProtons); - Utils.LOG_INFO("Neutrons: " + this.vNeutrons); - Utils.LOG_INFO("Mass: " + this.vMass + "/units"); - Utils.LOG_INFO("Melting Point: " + this.meltingPointC + "C."); - Utils.LOG_INFO("Boiling Point: " + this.boilingPointC + "C."); + Utils.LOG_INFO("Creating a Material instance for "+materialName); + Utils.LOG_INFO("Formula: "+vChemicalFormula + " Smallest Stack: "+smallestStackSizeWhenProcessing+" Smallest Ratio:"+ratio); + Utils.LOG_INFO("Protons: "+vProtons); + Utils.LOG_INFO("Neutrons: "+vNeutrons); + Utils.LOG_INFO("Mass: "+vMass+"/units"); + Utils.LOG_INFO("Melting Point: "+meltingPointC+"C."); + Utils.LOG_INFO("Boiling Point: "+boilingPointC+"C."); } - final Fluid generateFluid() { - if (Materials.get(this.localizedName).mFluid == null) { - Utils.LOG_WARNING("Generating our own fluid."); - - // Generate a Cell if we need to - if (ItemUtils.getItemStackOfAmountFromOreDictNoBroken("cell" + this.getUnlocalizedName(), 1) == null) { - @SuppressWarnings("unused") - final Item temp = new BaseItemCell(this); - } - return FluidUtils.addGTFluid(this.getUnlocalizedName(), "Molten " + this.getLocalizedName(), this.RGBA, 4, - this.getMeltingPointK(), - ItemUtils.getItemStackOfAmountFromOreDictNoBroken("cell" + this.getUnlocalizedName(), 1), - ItemList.Cell_Empty.get(1L, new Object[0]), 1000); - } - Utils.LOG_WARNING("Getting the fluid from a GT material instead."); - return Materials.get(this.localizedName).mFluid; + final public String getLocalizedName(){ + return localizedName; } - final public int getBoilingPointC() { - return this.boilingPointC; + final public String getUnlocalizedName(){ + return unlocalizedName; } - final public int getBoilingPointK() { - return this.boilingPointK; + final public short[] getRGBA(){ + return this.RGBA; } - final public ItemStack getBolt(final int stacksize) { - return ItemUtils.getItemStackOfAmountFromOreDictNoBroken("bolt" + this.unlocalizedName, stacksize); - } + final public int getRgbAsHex(){ - final public ArrayList<MaterialStack> getComposites() { - return this.vMaterialInput; + int returnValue = Utils.rgbtoHexValue(RGBA[0], RGBA[1], RGBA[2]); + if (returnValue == 0){ + return (int) dataVar; + } + return Utils.rgbtoHexValue(RGBA[0], RGBA[1], RGBA[2]); } - final public ItemStack getDust(final int stacksize) { - return ItemUtils.getItemStackOfAmountFromOreDictNoBroken("dust" + this.unlocalizedName, stacksize); + final public long getProtons() { + return vProtons; } - final public FluidStack getFluid(final int fluidAmount) { - Utils.LOG_WARNING("Attempting to get " + fluidAmount + "L of " + this.vMoltenFluid.getName()); + final public long getNeutrons() { + return vNeutrons; + } - final FluidStack moltenFluid = new FluidStack(this.vMoltenFluid, fluidAmount); + final public long getMass() { + return vProtons + vNeutrons; + } - Utils.LOG_WARNING("Info: " + moltenFluid.getFluid().getName() + " Info: " + moltenFluid.amount + " Info: " - + moltenFluid.getFluidID()); + final public int getMeltingPointC() { + return meltingPointC; + } - // FluidStack moltenFluid = - // FluidUtils.getFluidStack(this.vMoltenFluid.getName(), fluidAmount); - /* - * boolean isNull = (moltenFluid == null); if (isNull) - * Utils.LOG_WARNING("Did not obtain fluid."); else Utils.LOG_WARNING( - * "Found fluid."); if (isNull){ return null; } - */ - return moltenFluid; + final public int getBoilingPointC() { + return boilingPointC; } - final public ItemStack getFrameBox(final int stacksize) { - return ItemUtils.getItemStackOfAmountFromOreDictNoBroken("frameGt" + this.unlocalizedName, stacksize); + final public int getMeltingPointK() { + return meltingPointK; } - final public ItemStack getGear(final int stacksize) { - return ItemUtils.getItemStackOfAmountFromOreDictNoBroken("gear" + this.unlocalizedName, stacksize); + final public int getBoilingPointK() { + return boilingPointK; } - final public ItemStack getIngot(final int stacksize) { - return ItemUtils.getItemStackOfAmountFromOreDictNoBroken("ingot" + this.unlocalizedName, stacksize); + final public boolean requiresBlastFurnace(){ + return usesBlastFurnace; } - final public String getLocalizedName() { - return this.localizedName; + final public ItemStack getDust(int stacksize){ + return ItemUtils.getItemStackOfAmountFromOreDictNoBroken("dust"+unlocalizedName, stacksize); } - final public ItemStack getLongRod(final int stacksize) { - return ItemUtils.getItemStackOfAmountFromOreDictNoBroken("stickLong" + this.unlocalizedName, stacksize); + final public ItemStack getSmallDust(int stacksize){ + return ItemUtils.getItemStackOfAmountFromOreDictNoBroken("dustSmall"+unlocalizedName, stacksize); } - final public long getMass() { - return this.vProtons + this.vNeutrons; - } - - final public ItemStack[] getMaterialComposites() { - // Utils.LOG_WARNING("Something requested the materials needed for - // "+localizedName); - if (this.vMaterialInput != null) { - if (!this.vMaterialInput.isEmpty()) { - final ItemStack[] temp = new ItemStack[this.vMaterialInput.size()]; - for (int i = 0; i < this.vMaterialInput.size(); i++) { - // Utils.LOG_WARNING("i:"+i); - ItemStack testNull = null; - try { - testNull = this.vMaterialInput.get(i).getDustStack(); - } - catch (final Throwable r) { - Utils.LOG_WARNING("Failed gathering material stack for " + this.localizedName + "."); - Utils.LOG_WARNING("What Failed: Length:" + this.vMaterialInput.size() + " current:" + i); - } - try { - if (testNull != null) { - // Utils.LOG_WARNING("not null"); - temp[i] = this.vMaterialInput.get(i).getDustStack(); - } - } - catch (final Throwable r) { - Utils.LOG_WARNING("Failed setting slot " + i + ", using " + this.localizedName); - } - } - return temp; - } - } - return new ItemStack[] {}; + final public ItemStack getTinyDust(int stacksize){ + return ItemUtils.getItemStackOfAmountFromOreDictNoBroken("dustTiny"+unlocalizedName, stacksize); } - final public int[] getMaterialCompositeStackSizes() { - if (!this.vMaterialInput.isEmpty()) { - final int[] temp = new int[this.vMaterialInput.size()]; - for (int i = 0; i < this.vMaterialInput.size(); i++) { - if (this.vMaterialInput.get(i) != null) { - temp[i] = this.vMaterialInput.get(i).getDustStack().stackSize; - } - else { - temp[i] = 0; - } - } - return temp; - } - return new int[] {}; + final public ItemStack[] getValidInputStacks(){ + return ItemUtils.validItemsForOreDict(unlocalizedName); } - final public int getMeltingPointC() { - return this.meltingPointC; + final public ItemStack getIngot(int stacksize){ + return ItemUtils.getItemStackOfAmountFromOreDictNoBroken("ingot"+unlocalizedName, stacksize); } - final public int getMeltingPointK() { - return this.meltingPointK; + final public ItemStack getPlate(int stacksize){ + return ItemUtils.getItemStackOfAmountFromOreDictNoBroken("plate"+unlocalizedName, stacksize); } - final public long getNeutrons() { - return this.vNeutrons; + final public ItemStack getPlateDouble(int stacksize){ + return ItemUtils.getItemStackOfAmountFromOreDictNoBroken("plateDouble"+unlocalizedName, stacksize); } - final public ItemStack getPlate(final int stacksize) { - return ItemUtils.getItemStackOfAmountFromOreDictNoBroken("plate" + this.unlocalizedName, stacksize); + final public ItemStack getGear(int stacksize){ + return ItemUtils.getItemStackOfAmountFromOreDictNoBroken("gear"+unlocalizedName, stacksize); } - final public ItemStack getPlateDouble(final int stacksize) { - return ItemUtils.getItemStackOfAmountFromOreDictNoBroken("plateDouble" + this.unlocalizedName, stacksize); + final public ItemStack getRod(int stacksize){ + return ItemUtils.getItemStackOfAmountFromOreDictNoBroken("stick"+unlocalizedName, stacksize); } - final public long getProtons() { - return this.vProtons; + final public ItemStack getLongRod(int stacksize){ + return ItemUtils.getItemStackOfAmountFromOreDictNoBroken("stickLong"+unlocalizedName, stacksize); } - final public short[] getRGBA() { - return this.RGBA; + final public ItemStack getBolt(int stacksize){ + return ItemUtils.getItemStackOfAmountFromOreDictNoBroken("bolt"+unlocalizedName, stacksize); } - final public int getRgbAsHex() { + final public ItemStack getScrew(int stacksize){ + return ItemUtils.getItemStackOfAmountFromOreDictNoBroken("screw"+unlocalizedName, stacksize); + } - final int returnValue = Utils.rgbtoHexValue(this.RGBA[0], this.RGBA[1], this.RGBA[2]); - if (returnValue == 0) { - return (int) this.dataVar; - } - return Utils.rgbtoHexValue(this.RGBA[0], this.RGBA[1], this.RGBA[2]); + final public ItemStack getRing(int stacksize){ + return ItemUtils.getItemStackOfAmountFromOreDictNoBroken("ring"+unlocalizedName, stacksize); } - final public ItemStack getRing(final int stacksize) { - return ItemUtils.getItemStackOfAmountFromOreDictNoBroken("ring" + this.unlocalizedName, stacksize); + final public ItemStack getRotor(int stacksize){ + return ItemUtils.getItemStackOfAmountFromOreDictNoBroken("rotor"+unlocalizedName, stacksize); } - final public ItemStack getRod(final int stacksize) { - return ItemUtils.getItemStackOfAmountFromOreDictNoBroken("stick" + this.unlocalizedName, stacksize); + final public ItemStack getFrameBox(int stacksize){ + return ItemUtils.getItemStackOfAmountFromOreDictNoBroken("frameGt"+unlocalizedName, stacksize); } - final public ItemStack getRotor(final int stacksize) { - return ItemUtils.getItemStackOfAmountFromOreDictNoBroken("rotor" + this.unlocalizedName, stacksize); + final public ItemStack[] getMaterialComposites(){ + //Utils.LOG_WARNING("Something requested the materials needed for "+localizedName); + if (vMaterialInput != null){ + if (!vMaterialInput.isEmpty()){ + ItemStack[] temp = new ItemStack[vMaterialInput.size()]; + for (int i=0;i<vMaterialInput.size();i++){ + //Utils.LOG_WARNING("i:"+i); + ItemStack testNull = null; + try { + testNull = vMaterialInput.get(i).getDustStack(); + } catch (Throwable r){ + Utils.LOG_WARNING("Failed gathering material stack for "+localizedName+"."); + Utils.LOG_WARNING("What Failed: Length:"+vMaterialInput.size()+" current:"+i); + } + try { + if (testNull != null){ + //Utils.LOG_WARNING("not null"); + temp[i] = vMaterialInput.get(i).getDustStack(); + } + } catch (Throwable r){ + Utils.LOG_WARNING("Failed setting slot "+i+", using "+localizedName); + } + } + return temp; + } + } + return new ItemStack[]{}; } - final public ItemStack getScrew(final int stacksize) { - return ItemUtils.getItemStackOfAmountFromOreDictNoBroken("screw" + this.unlocalizedName, stacksize); + final public ArrayList<MaterialStack> getComposites(){ + return this.vMaterialInput; } - final public ItemStack getSmallDust(final int stacksize) { - return ItemUtils.getItemStackOfAmountFromOreDictNoBroken("dustSmall" + this.unlocalizedName, stacksize); + final public int[] getMaterialCompositeStackSizes(){ + if (!vMaterialInput.isEmpty()){ + int[] temp = new int[vMaterialInput.size()]; + for (int i=0;i<vMaterialInput.size();i++){ + if (vMaterialInput.get(i) != null) + temp[i] = vMaterialInput.get(i).getDustStack().stackSize; + else + temp[i]=0; + } + return temp; + } + return new int[]{}; } + @SuppressWarnings("static-method") - final public long[] getSmallestRatio(final ArrayList<MaterialStack> tempInput) { - if (tempInput != null) { - if (!tempInput.isEmpty()) { - Utils.LOG_WARNING("length: " + tempInput.size()); - Utils.LOG_WARNING("(inputs != null): " + (tempInput != null)); - // Utils.LOG_WARNING("length: "+inputs.length); - final long[] tempRatio = new long[tempInput.size()]; - for (int x = 0; x < tempInput.size(); x++) { - // tempPercentage = - // tempPercentage+inputs[x].percentageToUse; - // this.mMaterialList.add(inputs[x]); - if (tempInput.get(x) != null) { - tempRatio[x] = tempInput.get(x).getPartsPerOneHundred(); + final public long[] getSmallestRatio(ArrayList<MaterialStack> tempInput){ + if (tempInput != null){ + if (!tempInput.isEmpty()){ + Utils.LOG_WARNING("length: "+tempInput.size()); + Utils.LOG_WARNING("(inputs != null): "+(tempInput != null)); + //Utils.LOG_WARNING("length: "+inputs.length); + long[] tempRatio = new long[tempInput.size()]; + for (int x=0;x<tempInput.size();x++){ + //tempPercentage = tempPercentage+inputs[x].percentageToUse; + //this.mMaterialList.add(inputs[x]); + if (tempInput.get(x) != null){ + tempRatio[x] = tempInput.get(x).getPartsPerOneHundred(); } } - final long[] smallestRatio = MathUtils.simplifyNumbersToSmallestForm(tempRatio); + long[] smallestRatio = MathUtils.simplifyNumbersToSmallestForm(tempRatio); - if (smallestRatio.length > 0) { + if (smallestRatio.length > 0){ String tempRatioStringThing1 = ""; - for (int r = 0; r < tempRatio.length; r++) { - tempRatioStringThing1 = tempRatioStringThing1 + tempRatio[r] + " : "; + for (int r=0;r<tempRatio.length;r++){ + tempRatioStringThing1 = tempRatioStringThing1 + tempRatio[r] +" : "; } - Utils.LOG_WARNING("Default Ratio: " + tempRatioStringThing1); + Utils.LOG_WARNING("Default Ratio: "+tempRatioStringThing1); String tempRatioStringThing = ""; int tempSmallestCraftingUseSize = 0; - for (int r = 0; r < smallestRatio.length; r++) { - tempRatioStringThing = tempRatioStringThing + smallestRatio[r] + " : "; + for (int r=0;r<smallestRatio.length;r++){ + tempRatioStringThing = tempRatioStringThing + smallestRatio[r] +" : "; tempSmallestCraftingUseSize = (int) (tempSmallestCraftingUseSize + smallestRatio[r]); } - // this.smallestStackSizeWhenProcessing = - // tempSmallestCraftingUseSize; - Utils.LOG_WARNING("Smallest Ratio: " + tempRatioStringThing); + //this.smallestStackSizeWhenProcessing = tempSmallestCraftingUseSize; + Utils.LOG_WARNING("Smallest Ratio: "+tempRatioStringThing); return smallestRatio; } - } + } } return null; } - final public ItemStack getTinyDust(final int stacksize) { - return ItemUtils.getItemStackOfAmountFromOreDictNoBroken("dustTiny" + this.unlocalizedName, stacksize); - } - @SuppressWarnings("unused") - final String getToolTip(final String chemSymbol, final long aMultiplier, final boolean aShowQuestionMarks) { - if (!aShowQuestionMarks && (this.vChemicalFormula.equals("?") || this.vChemicalFormula.equals("??"))) { - return ""; - } - Utils.LOG_WARNING( - "===============| Calculating Atomic Formula for " + this.localizedName + " |==============="); - if (!chemSymbol.equals("")) { + final String getToolTip(String chemSymbol, long aMultiplier, boolean aShowQuestionMarks) { + if (!aShowQuestionMarks && (vChemicalFormula.equals("?")||vChemicalFormula.equals("??"))) return ""; + Utils.LOG_WARNING("===============| Calculating Atomic Formula for "+this.localizedName+" |==============="); + if (!chemSymbol.equals("")) return chemSymbol; - } - final ArrayList<MaterialStack> tempInput = this.vMaterialInput; - if (tempInput != null) { - if (!tempInput.isEmpty()) { + ArrayList<MaterialStack> tempInput = vMaterialInput; + if (tempInput != null){ + if (!tempInput.isEmpty()){ String dummyFormula = ""; - final long[] dummyFormulaArray = this.getSmallestRatio(tempInput); - if (dummyFormulaArray != null) { - if (dummyFormulaArray.length >= 1) { - for (int e = 0; e < tempInput.size(); e++) { - if (tempInput.get(e) != null) { - if (tempInput.get(e).getStackMaterial() != null) { - if (!tempInput.get(e).getStackMaterial().vChemicalSymbol.equals("??")) { - if (dummyFormulaArray[e] > 1) { - - if (tempInput.get(e).getStackMaterial().vChemicalFormula.length() > 3) { - dummyFormula = dummyFormula + "(" - + tempInput.get(e).getStackMaterial().vChemicalFormula + ")" - + dummyFormulaArray[e]; + long[] dummyFormulaArray = getSmallestRatio(tempInput); + if (dummyFormulaArray != null){ + if (dummyFormulaArray.length >= 1){ + for (int e=0;e<tempInput.size();e++){ + if (tempInput.get(e) != null){ + if (tempInput.get(e).getStackMaterial() != null){ + if (!tempInput.get(e).getStackMaterial().vChemicalSymbol.equals("??")){ + if (dummyFormulaArray[e] > 1){ + + if (tempInput.get(e).getStackMaterial().vChemicalFormula.length() > 3){ + dummyFormula = dummyFormula + "(" + tempInput.get(e).getStackMaterial().vChemicalFormula + ")" + dummyFormulaArray[e]; } else { - dummyFormula = dummyFormula - + tempInput.get(e).getStackMaterial().vChemicalFormula - + dummyFormulaArray[e]; + dummyFormula = dummyFormula + tempInput.get(e).getStackMaterial().vChemicalFormula + dummyFormulaArray[e]; } } - else if (dummyFormulaArray[e] == 1) { - if (tempInput.get(e).getStackMaterial().vChemicalFormula.length() > 3) { - dummyFormula = dummyFormula + "(" - + tempInput.get(e).getStackMaterial().vChemicalFormula + ")"; + else if (dummyFormulaArray[e] == 1){ + if (tempInput.get(e).getStackMaterial().vChemicalFormula.length() > 3){ + dummyFormula = dummyFormula + "(" +tempInput.get(e).getStackMaterial().vChemicalFormula + ")"; } else { - dummyFormula = dummyFormula - + tempInput.get(e).getStackMaterial().vChemicalFormula; + dummyFormula = dummyFormula +tempInput.get(e).getStackMaterial().vChemicalFormula; } } } - else { + else dummyFormula = dummyFormula + "??"; - } } - else { + else dummyFormula = dummyFormula + "▓▓"; - } } } return MaterialUtils.subscript(dummyFormula); - // return dummyFormula; + //return dummyFormula; } Utils.LOG_WARNING("dummyFormulaArray <= 0"); } @@ -484,16 +430,74 @@ public class Material { } - final public String getUnlocalizedName() { - return this.unlocalizedName; - } + final Fluid generateFluid(){ + if (Materials.get(localizedName).mFluid == null){ + Utils.LOG_WARNING("Generating our own fluid."); - final public ItemStack[] getValidInputStacks() { - return ItemUtils.validItemsForOreDict(this.unlocalizedName); + //Generate a Cell if we need to + if (ItemUtils.getItemStackOfAmountFromOreDictNoBroken("cell"+getUnlocalizedName(), 1) == null){ + @SuppressWarnings("unused") + Item temp = new BaseItemCell(this); + } + return FluidUtils.addGTFluid( + this.getUnlocalizedName(), + "Molten "+this.getLocalizedName(), + this.RGBA, + 4, + this.getMeltingPointK(), + ItemUtils.getItemStackOfAmountFromOreDictNoBroken("cell"+getUnlocalizedName(), 1), + ItemList.Cell_Empty.get(1L, new Object[0]), + 1000); + } + Utils.LOG_WARNING("Getting the fluid from a GT material instead."); + return Materials.get(localizedName).mFluid; } - final public boolean requiresBlastFurnace() { - return this.usesBlastFurnace; + final public FluidStack getFluid(int fluidAmount) { + Utils.LOG_WARNING("Attempting to get "+fluidAmount+"L of "+this.vMoltenFluid.getName()); + + FluidStack moltenFluid = new FluidStack(this.vMoltenFluid, fluidAmount); + + Utils.LOG_WARNING("Info: "+moltenFluid.getFluid().getName()+" Info: "+moltenFluid.amount+" Info: "+moltenFluid.getFluidID()); + + //FluidStack moltenFluid = FluidUtils.getFluidStack(this.vMoltenFluid.getName(), fluidAmount); + /*boolean isNull = (moltenFluid == null); + if (isNull) Utils.LOG_WARNING("Did not obtain fluid."); + else Utils.LOG_WARNING("Found fluid."); + if (isNull){ + return null; + }*/ + return moltenFluid; } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + } diff --git a/src/Java/gtPlusPlus/core/material/MaterialGenerator.java b/src/Java/gtPlusPlus/core/material/MaterialGenerator.java index 472acd5abe..d5b5cf34ab 100644 --- a/src/Java/gtPlusPlus/core/material/MaterialGenerator.java +++ b/src/Java/gtPlusPlus/core/material/MaterialGenerator.java @@ -17,65 +17,62 @@ import gtPlusPlus.core.item.base.rotors.BaseItemRotor; import gtPlusPlus.core.item.base.screws.BaseItemScrew; import gtPlusPlus.core.util.Utils; import gtPlusPlus.core.util.item.ItemUtils; -import gtPlusPlus.xmod.gregtech.loaders.*; +import gtPlusPlus.xmod.gregtech.loaders.RecipeGen_BlastSmelter; +import gtPlusPlus.xmod.gregtech.loaders.RecipeGen_DustGeneration; +import gtPlusPlus.xmod.gregtech.loaders.RecipeGen_Extruder; +import gtPlusPlus.xmod.gregtech.loaders.RecipeGen_Plates; +import gtPlusPlus.xmod.gregtech.loaders.RecipeGen_ShapedCrafting; import net.minecraft.block.Block; import net.minecraft.item.Item; -public class MaterialGenerator { +public class MaterialGenerator { @SuppressWarnings("unused") - public static void generate(final Material matInfo) { - final String unlocalizedName = matInfo.getUnlocalizedName(); - final String materialName = matInfo.getLocalizedName(); - final short[] C = matInfo.getRGBA(); - final int Colour = Utils.rgbtoHexValue(C[0], C[1], C[2]); - final boolean hotIngot = matInfo.requiresBlastFurnace(); - int materialTier = matInfo.vTier; // TODO - - if (materialTier > 10 || materialTier <= 0) { + public static void generate(final Material matInfo){ + String unlocalizedName = matInfo.getUnlocalizedName(); + String materialName = matInfo.getLocalizedName(); + short[] C = matInfo.getRGBA(); + int Colour = Utils.rgbtoHexValue(C[0], C[1], C[2]); + boolean hotIngot = matInfo.requiresBlastFurnace(); + int materialTier = matInfo.vTier; //TODO + + if (materialTier > 10 || materialTier <= 0){ materialTier = 2; - } - + } + int sRadiation = 0; - if (ItemUtils.isRadioactive(materialName)) { + if (ItemUtils.isRadioactive(materialName)){ sRadiation = ItemUtils.getRadioactivityLevel(materialName); } - - if (sRadiation >= 1) { + + if (sRadiation >= 1){ Item temp; Block tempBlock; - tempBlock = new BlockBaseModular(unlocalizedName, materialName, BlockTypes.STANDARD, Colour); - temp = new BaseItemIngot("itemIngot" + unlocalizedName, materialName, Colour, sRadiation); - - temp = new BaseItemDust("itemDust" + unlocalizedName, materialName, matInfo, Colour, "Dust", materialTier, - sRadiation); - temp = new BaseItemDust("itemDustTiny" + unlocalizedName, materialName, matInfo, Colour, "Tiny", - materialTier, sRadiation); - temp = new BaseItemDust("itemDustSmall" + unlocalizedName, materialName, matInfo, Colour, "Small", - materialTier, sRadiation); + tempBlock = new BlockBaseModular(unlocalizedName, materialName,BlockTypes.STANDARD, Colour); + temp = new BaseItemIngot("itemIngot"+unlocalizedName, materialName, Colour, sRadiation); + + temp = new BaseItemDust("itemDust"+unlocalizedName, materialName, matInfo, Colour, "Dust", materialTier, sRadiation); + temp = new BaseItemDust("itemDustTiny"+unlocalizedName, materialName, matInfo, Colour, "Tiny", materialTier, sRadiation); + temp = new BaseItemDust("itemDustSmall"+unlocalizedName, materialName, matInfo, Colour, "Small", materialTier, sRadiation); temp = new BaseItemNugget(matInfo); temp = new BaseItemPlate(matInfo); temp = new BaseItemRod(matInfo); temp = new BaseItemRodLong(matInfo); } - + else { Item temp; Block tempBlock; - tempBlock = new BlockBaseModular(unlocalizedName, materialName, BlockTypes.STANDARD, Colour); - tempBlock = new BlockBaseModular(unlocalizedName, materialName, BlockTypes.FRAME, Colour); - temp = new BaseItemIngot("itemIngot" + unlocalizedName, materialName, Colour, sRadiation); - if (hotIngot) { - final Item tempIngot = temp; - temp = new BaseItemIngotHot("itemHotIngot" + unlocalizedName, materialName, - ItemUtils.getSimpleStack(tempIngot, 1), materialTier); + tempBlock = new BlockBaseModular(unlocalizedName, materialName,BlockTypes.STANDARD, Colour); + tempBlock = new BlockBaseModular(unlocalizedName, materialName,BlockTypes.FRAME, Colour); + temp = new BaseItemIngot("itemIngot"+unlocalizedName, materialName, Colour, sRadiation); + if (hotIngot){ + Item tempIngot = temp; + temp = new BaseItemIngotHot("itemHotIngot"+unlocalizedName, materialName, ItemUtils.getSimpleStack(tempIngot, 1), materialTier); } - temp = new BaseItemDust("itemDust" + unlocalizedName, materialName, matInfo, Colour, "Dust", materialTier, - sRadiation); - temp = new BaseItemDust("itemDustTiny" + unlocalizedName, materialName, matInfo, Colour, "Tiny", - materialTier, sRadiation); - temp = new BaseItemDust("itemDustSmall" + unlocalizedName, materialName, matInfo, Colour, "Small", - materialTier, sRadiation); + temp = new BaseItemDust("itemDust"+unlocalizedName, materialName, matInfo, Colour, "Dust", materialTier, sRadiation); + temp = new BaseItemDust("itemDustTiny"+unlocalizedName, materialName, matInfo, Colour, "Tiny", materialTier, sRadiation); + temp = new BaseItemDust("itemDustSmall"+unlocalizedName, materialName, matInfo, Colour, "Small", materialTier, sRadiation); temp = new BaseItemNugget(matInfo); temp = new BaseItemPlate(matInfo); temp = new BaseItemPlateDouble(matInfo); @@ -86,15 +83,18 @@ public class MaterialGenerator { temp = new BaseItemScrew(matInfo); temp = new BaseItemRotor(matInfo); temp = new BaseItemGear(matInfo); - } - - // Add A jillion Recipes - old code + } + + + + + //Add A jillion Recipes - old code RecipeGen_Plates.generateRecipes(matInfo); RecipeGen_Extruder.generateRecipes(matInfo); RecipeGen_ShapedCrafting.generateRecipes(matInfo); RecipeGen_DustGeneration.generateRecipes(matInfo); - 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 85b5fca748..f2f8ff4e5a 100644 --- a/src/Java/gtPlusPlus/core/material/MaterialStack.java +++ b/src/Java/gtPlusPlus/core/material/MaterialStack.java @@ -1,84 +1,89 @@ package gtPlusPlus.core.material; +import gtPlusPlus.core.util.item.ItemUtils; + import java.math.BigDecimal; import java.math.RoundingMode; -import gtPlusPlus.core.util.item.ItemUtils; import net.minecraft.item.ItemStack; public class MaterialStack { - private transient final int[] vAmount; - private final Material stackMaterial; - private final double vPercentageToUse; + private transient final int[] vAmount; + private final Material stackMaterial; + private final double vPercentageToUse; - public MaterialStack(final Material inputs, final double partOutOf100) { + public MaterialStack(final Material inputs, final double partOutOf100){ this.stackMaterial = inputs; this.vPercentageToUse = partOutOf100; - this.vAmount = this.math(partOutOf100); + this.vAmount = math(partOutOf100); } - public ItemStack getDustStack() { - return this.stackMaterial.getDust(this.vAmount[0]); + @SuppressWarnings("static-method") + private int[] math(final double val){ + double i; + //Cast to a BigDecimal to round it. + final BigDecimal bd = new BigDecimal(val).setScale(2, RoundingMode.HALF_EVEN); + i = bd.doubleValue(); + //Split the string into xx.xx + final String[] arr=String.valueOf(i).split("\\."); + int[] intArr=new int[2]; + intArr[0]=Integer.parseInt(arr[0]); + intArr[1]=Integer.parseInt(arr[1]); + return intArr; } - public ItemStack getDustStack(final int amount) { + public ItemStack getDustStack(){ + return this.stackMaterial.getDust(this.vAmount[0]); + } + + public ItemStack getDustStack(final int amount){ return this.stackMaterial.getDust(amount); } - - public ItemStack getLeftOverStacksFromDecimalValue() { + + public Material getStackMaterial(){ + return this.stackMaterial; + } + + public double getvPercentageToUse(){ + return this.vPercentageToUse; + } + + public long[] getSmallestStackSizes(){ + return this.stackMaterial.getSmallestRatio(stackMaterial.getComposites()); + } + + public int getPartsPerOneHundred(){ + if (this.vAmount != null){ + if (this.vAmount[0] >= 1 && this.vAmount[0] <= 100){ + return this.vAmount[0]; + } + } + return 100; + } + public ItemStack getLeftOverStacksFromDecimalValue(){ final int temp = this.vAmount[1]; int getCount; - if (temp >= 25 && temp <= 99) { - getCount = temp / 25; + if (temp >= 25 && temp <=99){ + getCount = temp/25; return this.stackMaterial.getSmallDust(getCount); } - else if (temp >= 11 && temp <= 24) { - getCount = temp / 11; + else if (temp >= 11 && temp <= 24){ + getCount = temp/11; return this.stackMaterial.getTinyDust(getCount); } else { return null; - } + } } - public int getPartsPerOneHundred() { - if (this.vAmount != null) { - if (this.vAmount[0] >= 1 && this.vAmount[0] <= 100) { - return this.vAmount[0]; - } - } - return 100; + public ItemStack[] getValidItemStacks(){ + return ItemUtils.validItemsForOreDict(stackMaterial.getUnlocalizedName()); } - public long[] getSmallestStackSizes() { - return this.stackMaterial.getSmallestRatio(this.stackMaterial.getComposites()); - } - public Material getStackMaterial() { - return this.stackMaterial; - } - public ItemStack[] getValidItemStacks() { - return ItemUtils.validItemsForOreDict(this.stackMaterial.getUnlocalizedName()); - } - public double getvPercentageToUse() { - return this.vPercentageToUse; - } - @SuppressWarnings("static-method") - private int[] math(final double val) { - double i; - // Cast to a BigDecimal to round it. - final BigDecimal bd = new BigDecimal(val).setScale(2, RoundingMode.HALF_EVEN); - i = bd.doubleValue(); - // Split the string into xx.xx - final String[] arr = String.valueOf(i).split("\\."); - final int[] intArr = new int[2]; - intArr[0] = Integer.parseInt(arr[0]); - intArr[1] = Integer.parseInt(arr[1]); - return intArr; - } } |