diff options
author | draknyte1 <draknyte1@hotmail.com> | 2017-02-22 21:01:37 +1000 |
---|---|---|
committer | draknyte1 <draknyte1@hotmail.com> | 2017-02-22 21:01:37 +1000 |
commit | a1540dee487183de00bcc02ac7517790da00f9d9 (patch) | |
tree | 3c8af4109055b4c7617f392bb8ff7796f6b3b232 /src/Java/gtPlusPlus | |
parent | 108d12cf3398d9934eb4d61d7531b8bdd122d4e0 (diff) | |
download | GT5-Unofficial-a1540dee487183de00bcc02ac7517790da00f9d9.tar.gz GT5-Unofficial-a1540dee487183de00bcc02ac7517790da00f9d9.tar.bz2 GT5-Unofficial-a1540dee487183de00bcc02ac7517790da00f9d9.zip |
+ Added MaterialState.java
% Changed handling of Fluid generation for materials to now use MaterialState, instead of always being a molten metal.
Diffstat (limited to 'src/Java/gtPlusPlus')
9 files changed, 227 insertions, 128 deletions
diff --git a/src/Java/gtPlusPlus/core/item/ModItems.java b/src/Java/gtPlusPlus/core/item/ModItems.java index 5f58c60144..6a9ded65b9 100644 --- a/src/Java/gtPlusPlus/core/item/ModItems.java +++ b/src/Java/gtPlusPlus/core/item/ModItems.java @@ -25,6 +25,7 @@ import gtPlusPlus.core.lib.CORE.configSwitches; import gtPlusPlus.core.material.*; import gtPlusPlus.core.material.nuclear.FLUORIDES; import gtPlusPlus.core.material.nuclear.NUCLIDE; +import gtPlusPlus.core.material.state.MaterialState; import gtPlusPlus.core.util.Utils; import gtPlusPlus.core.util.debug.DEBUG_INIT; import gtPlusPlus.core.util.fluid.FluidUtils; @@ -528,13 +529,13 @@ public final class ModItems { itemDustConductiveIron = ItemUtils.generateSpecialUseDusts("ConductiveIron", "Conductive Iron", Utils.rgbtoHexValue(164,109,100))[0]; //EnderIO Plates - itemPlateSoularium = new BaseItemPlate("itemPlate"+"Soularium", "Soularium", new short[]{95, 90, 54}, 2, 0); - itemPlateRedstoneAlloy = new BaseItemPlate("itemPlate"+"RedstoneAlloy", "Redstone Alloy", new short[]{178,34,34}, 2, 0); - itemPlateElectricalSteel =new BaseItemPlate("itemPlate"+"ElectricalSteel", "Electrical Steel", new short[]{194, 194, 194}, 2, 0); - itemPlatePulsatingIron = new BaseItemPlate("itemPlate"+"PhasedIron", "Phased Iron", new short[]{50, 91, 21}, 2, 0); - itemPlateEnergeticAlloy = new BaseItemPlate("itemPlate"+"EnergeticAlloy", "Energetic Alloy", new short[]{252, 152, 45}, 2, 0); - itemPlateVibrantAlloy = new BaseItemPlate("itemPlate"+"VibrantAlloy", "Vibrant Alloy", new short[]{204, 242, 142}, 2, 0); - itemPlateConductiveIron = new BaseItemPlate("itemPlate"+"ConductiveIron", "Conductive Iron", new short[]{164, 109, 100}, 2, 0); + itemPlateSoularium = new BaseItemPlate("itemPlate"+"Soularium", "Soularium", MaterialState.SOLID, new short[]{95, 90, 54}, 2, 0); + itemPlateRedstoneAlloy = new BaseItemPlate("itemPlate"+"RedstoneAlloy", "Redstone Alloy", MaterialState.SOLID, new short[]{178,34,34}, 2, 0); + itemPlateElectricalSteel =new BaseItemPlate("itemPlate"+"ElectricalSteel", "Electrical Steel", MaterialState.SOLID, new short[]{194, 194, 194}, 2, 0); + itemPlatePulsatingIron = new BaseItemPlate("itemPlate"+"PhasedIron", "Phased Iron", MaterialState.SOLID, new short[]{50, 91, 21}, 2, 0); + itemPlateEnergeticAlloy = new BaseItemPlate("itemPlate"+"EnergeticAlloy", "Energetic Alloy", MaterialState.SOLID, new short[]{252, 152, 45}, 2, 0); + itemPlateVibrantAlloy = new BaseItemPlate("itemPlate"+"VibrantAlloy", "Vibrant Alloy", MaterialState.SOLID, new short[]{204, 242, 142}, 2, 0); + itemPlateConductiveIron = new BaseItemPlate("itemPlate"+"ConductiveIron", "Conductive Iron", MaterialState.SOLID, new short[]{164, 109, 100}, 2, 0); //Register dumb naming conventions - Who chose fucking phased Iron/Gold? GT_OreDictUnificator.registerOre("dustPhasedGold", ItemUtils.getSimpleStack(itemDustVibrantAlloy)); @@ -550,9 +551,9 @@ public final class ModItems { if (LoadedMods.Big_Reactors|| LOAD_ALL_CONTENT){ Utils.LOG_INFO("BigReactors Found - Loading Resources."); //Item Init - itemPlateBlutonium = new BaseItemPlate("itemPlate"+"Blutonium", "Blutonium", new short[]{0, 0, 255}, 2, 0); - itemPlateCyanite = new BaseItemPlate("itemPlate"+"Cyanite", "Cyanite", new short[]{0, 191, 255}, 2, 0); - itemPlateLudicrite = new BaseItemPlate("itemPlate"+"Ludicrite", "Ludicrite", new short[]{167, 5, 179}, 2, 0); + itemPlateBlutonium = new BaseItemPlate("itemPlate"+"Blutonium", "Blutonium", MaterialState.SOLID, new short[]{0, 0, 255}, 2, 0); + itemPlateCyanite = new BaseItemPlate("itemPlate"+"Cyanite", "Cyanite", MaterialState.SOLID, new short[]{0, 191, 255}, 2, 0); + itemPlateLudicrite = new BaseItemPlate("itemPlate"+"Ludicrite", "Ludicrite", MaterialState.SOLID, new short[]{167, 5, 179}, 2, 0); } else { @@ -566,7 +567,7 @@ public final class ModItems { try { ItemUtils.getItemForOreDict("Thaumcraft:ItemResource", "ingotVoidMetal", "Void Metal Ingot", 16); - itemPlateVoidMetal = new BaseItemPlate("itemPlate"+"Void", "Void", new short[]{82, 17, 82}, 2, 0); + itemPlateVoidMetal = new BaseItemPlate("itemPlate"+"Void", "Void", MaterialState.SOLID, new short[]{82, 17, 82}, 2, 0); GT_OreDictUnificator.registerOre("plateVoidMetal", new ItemStack(ModItems.itemPlateVoidMetal)); } catch (NullPointerException e){ e.getClass(); @@ -594,7 +595,7 @@ public final class ModItems { if (LoadedMods.PneumaticCraft|| LOAD_ALL_CONTENT){ Utils.LOG_INFO("PneumaticCraft Found - Loading Resources."); //Item Init - itemPlateCompressedIron = new BaseItemPlate("itemPlate"+"CompressedIron", "Compressed Iron", new short[]{128, 128, 128}, 2, 0); + itemPlateCompressedIron = new BaseItemPlate("itemPlate"+"CompressedIron", "Compressed Iron", MaterialState.SOLID, new short[]{128, 128, 128}, 2, 0); } else { Utils.LOG_WARNING("PneumaticCraft not Found - Skipping Resources."); @@ -616,7 +617,7 @@ public final class ModItems { if (LoadedMods.RFTools|| LOAD_ALL_CONTENT){ Utils.LOG_INFO("rfTools Found - Loading Resources."); //Item Init - itemPlateDimensionShard = new BaseItemPlate("itemPlate"+"DimensionShard", "Dimensional Shard", new short[]{170, 230, 230}, 2, 0); + itemPlateDimensionShard = new BaseItemPlate("itemPlate"+"DimensionShard", "Dimensional Shard", MaterialState.SOLID, new short[]{170, 230, 230}, 2, 0); } else { Utils.LOG_WARNING("rfTools not Found - Skipping Resources."); @@ -647,7 +648,7 @@ public final class ModItems { //Special Item Handling Case if (configSwitches.enableAlternativeBatteryAlloy) { //ModItems.itemIngotBatteryAlloy = new BaseItemIngot("itemIngotBatteryAlloy", "Battery Alloy", new short[]{35, 228, 141}, 0); TODO - ModItems.itemPlateBatteryAlloy = new BaseItemPlate("itemPlateBatteryAlloy", "Battery Alloy", new short[]{35, 228, 141}, 2, 0); + ModItems.itemPlateBatteryAlloy = new BaseItemPlate("itemPlateBatteryAlloy", "Battery Alloy", MaterialState.SOLID, new short[]{35, 228, 141}, 2, 0); } diff --git a/src/Java/gtPlusPlus/core/item/base/plates/BaseItemPlate.java b/src/Java/gtPlusPlus/core/item/base/plates/BaseItemPlate.java index 3d1153eb6a..a905e75186 100644 --- a/src/Java/gtPlusPlus/core/item/base/plates/BaseItemPlate.java +++ b/src/Java/gtPlusPlus/core/item/base/plates/BaseItemPlate.java @@ -2,6 +2,7 @@ package gtPlusPlus.core.item.base.plates; import gtPlusPlus.core.item.base.BaseItemComponent; import gtPlusPlus.core.material.Material; +import gtPlusPlus.core.material.state.MaterialState; import gtPlusPlus.core.util.materials.MaterialUtils; public class BaseItemPlate extends BaseItemComponent{ @@ -10,8 +11,8 @@ public class BaseItemPlate extends BaseItemComponent{ super(material, BaseItemComponent.ComponentTypes.PLATE); } - public BaseItemPlate(String unlocalizedName, String materialName, short[] colour, int tier, int sRadioactivity) { - this(MaterialUtils.generateQuickMaterial(materialName, new short[]{colour[0], colour[1], colour[2], 0}, sRadioactivity)); + public BaseItemPlate(String unlocalizedName, String materialName, MaterialState state, short[] colour, int tier, int sRadioactivity) { + this(MaterialUtils.generateQuickMaterial(materialName, state, new short[]{colour[0], colour[1], colour[2], 0}, sRadioactivity)); } diff --git a/src/Java/gtPlusPlus/core/material/ALLOY.java b/src/Java/gtPlusPlus/core/material/ALLOY.java index 54c8017b18..30dd7dc87e 100644 --- a/src/Java/gtPlusPlus/core/material/ALLOY.java +++ b/src/Java/gtPlusPlus/core/material/ALLOY.java @@ -1,11 +1,12 @@ package gtPlusPlus.core.material; - +import gtPlusPlus.core.material.state.MaterialState; public final class ALLOY { public static final Material ENERGYCRYSTAL = new Material( "Energy Crystal", //Material Name + MaterialState.SOLID, //State new short[]{228, 255, 0, 0}, //Material Colour 5660, //Melting Point in C 0, //Boiling Point in C @@ -22,6 +23,7 @@ public final class ALLOY { public static final Material BLOODSTEEL = new Material( "Blood Steel", //Material Name + MaterialState.SOLID, //State new short[]{142, 28, 0, 0}, //Material Colour 2500, //Melting Point in C 0, //Boiling Point in C @@ -36,6 +38,7 @@ public final class ALLOY { public static final Material STABALLOY = new Material( "Staballoy", //Material Name + MaterialState.SOLID, //State new short[]{68, 75, 66, 0}, //Material Colour 3450, //Melting Point in C ((ELEMENT.getInstance().URANIUM238.getBoilingPointC()*9)+(ELEMENT.getInstance().TITANIUM.getBoilingPointC()*1))/10, //Boiling Point in C @@ -50,6 +53,7 @@ public final class ALLOY { public static final Material TANTALLOY_60 = new Material( "Tantalloy-60", //Material Name + MaterialState.SOLID, //State 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 @@ -64,6 +68,7 @@ public final class ALLOY { public static final Material TANTALLOY_61 = new Material( "Tantalloy-61", //Material Name + MaterialState.SOLID, //State 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 @@ -79,6 +84,7 @@ public final class ALLOY { public static final Material BRONZE = new Material( "Bronze", //Material Name + MaterialState.SOLID, //State 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 @@ -94,6 +100,7 @@ public final class ALLOY { public static final Material TUMBAGA = new Material( "Tumbaga", //Material Name + MaterialState.SOLID, //State 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 @@ -109,6 +116,7 @@ public final class ALLOY { public static final Material POTIN = new Material( "Potin", //Material Name + MaterialState.SOLID, //State 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 @@ -135,6 +143,7 @@ public final class ALLOY { public static final Material INCONEL_625 = new Material( "Inconel-625", //Material Name + MaterialState.SOLID, //State 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 @@ -151,6 +160,7 @@ public final class ALLOY { public static final Material INCONEL_690 = new Material( "Inconel-690", //Material Name + MaterialState.SOLID, //State 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 @@ -167,6 +177,7 @@ public final class ALLOY { public static final Material INCONEL_792 = new Material( "Inconel-792", //Material Name + MaterialState.SOLID, //State 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 @@ -183,6 +194,7 @@ public final class ALLOY { public static final Material STEEL = new Material( "Steel", //Material Name + MaterialState.SOLID, //State 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 @@ -199,6 +211,7 @@ public final class ALLOY { public static final Material ZERON_100 = new Material( "Zeron-100", //Material Name + MaterialState.SOLID, //State 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 @@ -217,6 +230,7 @@ public final class ALLOY { public static final Material MARAGING250 = new Material( "Maraging Steel 250", //Material Name + MaterialState.SOLID, //State 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 @@ -234,6 +248,7 @@ public final class ALLOY { public static final Material MARAGING300 = new Material( "Maraging Steel 300", //Material Name + MaterialState.SOLID, //State 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 @@ -251,6 +266,7 @@ public final class ALLOY { public static final Material MARAGING350 = new Material( "Maraging Steel 350", //Material Name + MaterialState.SOLID, //State 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 @@ -268,6 +284,7 @@ public final class ALLOY { public static final Material STELLITE = new Material( "Stellite", //Material Name + MaterialState.SOLID, //State 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 @@ -284,6 +301,7 @@ public final class ALLOY { public static final Material TALONITE = new Material( "Talonite", //Material Name + MaterialState.SOLID, //State 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 @@ -300,6 +318,7 @@ public final class ALLOY { public static final Material HASTELLOY_W = new Material( "Hastelloy-W", //Material Name + MaterialState.SOLID, //State 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 @@ -332,6 +351,7 @@ public final class ALLOY { public static final Material HASTELLOY_X = new Material( "Hastelloy-X", //Material Name + MaterialState.SOLID, //State 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 @@ -348,6 +368,7 @@ public final class ALLOY { public static final Material HASTELLOY_N = new Material( "Hastelloy-N", //Material Name + MaterialState.SOLID, //State 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 @@ -364,6 +385,7 @@ public final class ALLOY { public static final Material HASTELLOY_C276 = new Material( "Hastelloy-C276", //Material Name + MaterialState.SOLID, //State 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 @@ -380,6 +402,7 @@ public final class ALLOY { public static final Material INCOLOY_020 = new Material( "Incoloy-020", //Material Name + MaterialState.SOLID, //State 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 @@ -396,6 +419,7 @@ public final class ALLOY { public static final Material INCOLOY_DS = new Material( "Incoloy-DS", //Material Name + MaterialState.SOLID, //State 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 @@ -412,6 +436,7 @@ public final class ALLOY { public static final Material INCOLOY_MA956 = new Material( "Incoloy-MA956", //Material Name + MaterialState.SOLID, //State 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 @@ -428,6 +453,7 @@ public final class ALLOY { public static final Material TUNGSTEN_CARBIDE = new Material( "Tungsten Carbide", //Material Name + MaterialState.SOLID, //State 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 @@ -442,6 +468,7 @@ public final class ALLOY { public static final Material SILICON_CARBIDE = new Material( "Silicon Carbide", //Material Name + MaterialState.SOLID, //State 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 @@ -457,6 +484,7 @@ public final class ALLOY { public static final Material TANTALUM_CARBIDE = new Material( "Tantalum Carbide", //Material Name + MaterialState.SOLID, //State 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 @@ -472,6 +500,7 @@ public final class ALLOY { public static final Material ZIRCONIUM_CARBIDE = new Material( "Zirconium Carbide", //Material Name + MaterialState.SOLID, //State 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 @@ -487,6 +516,7 @@ public final class ALLOY { public static final Material NIOBIUM_CARBIDE = new Material( "Niobium Carbide", //Material Name + MaterialState.SOLID, //State 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 @@ -502,6 +532,7 @@ public final class ALLOY { public static final Material LEAGRISIUM = new Material( "Grisium", //Material Name + MaterialState.SOLID, //State new short[]{53, 93, 106, 0}, //Material Colour 9001, //Melting Point in C 25000, //Boiling Point in C @@ -528,30 +559,10 @@ public final class ALLOY { - - - - - - - - - - - - - - - - - - - - - //Quantum public static final Material QUANTUM = new Material( "Quantum", //Material Name + MaterialState.SOLID, //State new short[]{128, 128, 255, 50}, //Material Colour 9999, //Melting Point in C 25000, //Boiling Point in C diff --git a/src/Java/gtPlusPlus/core/material/ELEMENT.java b/src/Java/gtPlusPlus/core/material/ELEMENT.java index f3e695478b..0fee6f3fbd 100644 --- a/src/Java/gtPlusPlus/core/material/ELEMENT.java +++ b/src/Java/gtPlusPlus/core/material/ELEMENT.java @@ -1,6 +1,7 @@ package gtPlusPlus.core.material; import gregtech.api.enums.Materials; +import gtPlusPlus.core.material.state.MaterialState; import gtPlusPlus.core.util.materials.MaterialUtils; public final class ELEMENT { @@ -25,7 +26,7 @@ public final class ELEMENT { 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 = new Material("Neon", 12800, new short[]{255, 255, 255}, -248, -246, 10, 10, false, "Ne", 0);//Not a GT Inherited Material + public final Material NEON = new Material("Neon", MaterialState.GAS, 12800, new short[]{255, 255, 255}, -248, -246, 10, 10, false, "Ne", 0);//Not a GT Inherited Material public final Material SODIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Sodium); public final Material MAGNESIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Magnesium); public final Material ALUMINIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Aluminium); @@ -47,29 +48,29 @@ public final class ELEMENT { 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 = new Material("Germanium", 51200, new short[]{200, 200, 200}, 937, 2830, 32, 41, false, "Ge", 0);//Not a GT Inherited Material + public final Material GERMANIUM = new Material("Germanium", MaterialState.SOLID, 51200, new short[]{200, 200, 200}, 937, 2830, 32, 41, false, "Ge", 0);//Not a GT Inherited Material public final Material ARSENIC = MaterialUtils.generateMaterialFromGtENUM(Materials.Arsenic); - public final Material SELENIUM = new Material("Selenium", 51200, new short[]{190, 190, 190}, 217, 685, 34, 45, false, "Se", 0);//Not a GT Inherited Material - public final Material BROMINE = new Material("Bromine", 51200, new short[]{200, 25, 25}, -7, 58, 35, 45, false, "Br", 0);//Not a GT Inherited Material - public final Material KRYPTON = new Material("Krypton", 12800, new short[]{255, 255, 255}, -157, -153, 36, 48, false, "Kr", 0);//Not a GT Inherited Material + public final Material SELENIUM = new Material("Selenium", MaterialState.SOLID, 51200, new short[]{190, 190, 190}, 217, 685, 34, 45, false, "Se", 0);//Not a GT Inherited Material + public final Material BROMINE = new Material("Bromine", MaterialState.LIQUID, 51200, new short[]{200, 25, 25}, -7, 58, 35, 45, false, "Br", 0);//Not a GT Inherited Material + public final Material KRYPTON = new Material("Krypton", MaterialState.GAS, 12800, new short[]{255, 255, 255}, -157, -153, 36, 48, false, "Kr", 0);//Not a GT Inherited Material 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", 51200, new short[]{255, 250, 205}, 1855, 4377, 40, 51, false, "Zr", 0);//Not a GT Inherited Material + public final Material ZIRCONIUM = new Material("Zirconium", MaterialState.SOLID, 51200, 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 = new Material("Technetium", 25600, new short[]{220, 220, 220}, 2200, 4877, 43, 55, false, "Tc", 2);//Not a GT Inherited Material - public final Material RUTHENIUM = new Material("Ruthenium", 25600, new short[]{220, 220, 220}, 2250, 3900, 44, 57, false, "Ru", 0);//Not a GT Inherited Material - public final Material RHODIUM = new Material("Rhodium", 25600, new short[]{220, 220, 220}, 1966, 3727, 45, 58, false, "Rh", 0);//Not a GT Inherited Material + public final Material TECHNETIUM = new Material("Technetium", MaterialState.SOLID, 25600, new short[]{220, 220, 220}, 2200, 4877, 43, 55, false, "Tc", 2);//Not a GT Inherited Material + public final Material RUTHENIUM = new Material("Ruthenium", MaterialState.SOLID, 25600, new short[]{220, 220, 220}, 2250, 3900, 44, 57, false, "Ru", 0);//Not a GT Inherited Material + public final Material RHODIUM = new Material("Rhodium", MaterialState.SOLID, 25600, new short[]{220, 220, 220}, 1966, 3727, 45, 58, false, "Rh", 0);//Not a GT Inherited Material 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 ANTIMONY = MaterialUtils.generateMaterialFromGtENUM(Materials.Antimony); - public final Material TELLURIUM = new Material("Tellurium", 25600, new short[]{210, 210, 210}, 449, 989, 52, 76, false, "Te", 0);//Not a GT Inherited Material - public final Material IODINE = new Material("Iodine", 25600, new short[]{96, 96, 96}, 114, 184, 53, 74, false, "I", 0);//Not a GT Inherited Material - public final Material XENON = new Material("Xenon", 12800, new short[]{255, 255, 255}, -111, -108, 54, 77, false, "Xe", 0);//Not a GT Inherited Material + public final Material TELLURIUM = new Material("Tellurium", MaterialState.SOLID, 25600, new short[]{210, 210, 210}, 449, 989, 52, 76, false, "Te", 0);//Not a GT Inherited Material + public final Material IODINE = new Material("Iodine", MaterialState.SOLID, 25600, new short[]{96, 96, 96}, 114, 184, 53, 74, false, "I", 0);//Not a GT Inherited Material + public final Material XENON = new Material("Xenon", MaterialState.GAS, 12800, new short[]{255, 255, 255}, -111, -108, 54, 77, false, "Xe", 0);//Not a GT Inherited Material public final Material CESIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Caesium); public final Material BARIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Barium); public final Material LANTHANUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Lanthanum); @@ -81,45 +82,45 @@ public final class ELEMENT { public final Material EUROPIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Europium); public final Material GADOLINIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Gadolinium); public final Material TERBIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Terbium); - public final Material DYSPROSIUM = new Material("Dysprosium", 25600, new short[]{180, 180, 180}, 1412, 2562, 66, 97, false, "Dy", 0);//Not a GT Inherited Material + public final Material DYSPROSIUM = new Material("Dysprosium", MaterialState.SOLID, 25600, new short[]{180, 180, 180}, 1412, 2562, 66, 97, false, "Dy", 0);//Not a GT Inherited Material public final Material HOLMIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Holmium); public final Material ERBIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Erbium); public final Material THULIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Thulium); public final Material YTTERBIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Ytterbium); public final Material LUTETIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Lutetium); - public final Material HAFNIUM = new Material("Hafnium", 25600, new short[]{128, 128, 128}, 2150, 5400, 72, 106, false, "Hf", 0);//Not a GT Inherited Material + public final Material HAFNIUM = new Material("Hafnium", MaterialState.SOLID, 25600, new short[]{128, 128, 128}, 2150, 5400, 72, 106, false, "Hf", 0);//Not a GT Inherited Material //Second 50 elements public final Material TANTALUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Tantalum); public final Material TUNGSTEN = MaterialUtils.generateMaterialFromGtENUM(Materials.Tungsten); - public final Material RHENIUM = new Material("Rhenium", 25600, new short[]{150, 150, 150}, 3180, 3627, 75, 111, false, "Re", 0);//Not a GT Inherited Material + public final Material RHENIUM = new Material("Rhenium", MaterialState.SOLID, 25600, new short[]{150, 150, 150}, 3180, 3627, 75, 111, false, "Re", 0);//Not a GT Inherited Material 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 MERCURY = MaterialUtils.generateMaterialFromGtENUM(Materials.Mercury); //Mercury - public final Material THALLIUM = new Material("Thallium", 25600, new short[]{175, 175, 175}, 304, 1457, 81, 123, false, "Tl", 0);//Not a GT Inherited Material + public final Material THALLIUM = new Material("Thallium", MaterialState.SOLID, 25600, new short[]{175, 175, 175}, 304, 1457, 81, 123, false, "Tl", 0);//Not a GT Inherited Material public final Material LEAD = MaterialUtils.generateMaterialFromGtENUM(Materials.Lead); public final Material BISMUTH = MaterialUtils.generateMaterialFromGtENUM(Materials.Bismuth); - public final Material POLONIUM = new Material("Polonium", 25600, new short[]{180, 170, 180}, 254, 962, 84, 125, false, "Po", 1);//Not a GT Inherited Material - public final Material ASTATINE = new Material("Astatine", 25600, new short[]{170, 180, 170}, 302, 337, 85, 125, false, "At", 1);//Not a GT Inherited Material + public final Material POLONIUM = new Material("Polonium", MaterialState.SOLID, 25600, new short[]{180, 170, 180}, 254, 962, 84, 125, false, "Po", 1);//Not a GT Inherited Material + public final Material ASTATINE = new Material("Astatine", MaterialState.SOLID, 25600, new short[]{170, 180, 170}, 302, 337, 85, 125, false, "At", 1);//Not a GT Inherited Material public final Material RADON = MaterialUtils.generateMaterialFromGtENUM(Materials.Radon); - public final Material FRANCIUM = new Material("Francium", 25600, new short[]{170, 160, 170}, 27, 677, 87, 136, false, "Fr", 1);//Not a GT Inherited Material - public final Material RADIUM = new Material("Radium", 25600, new short[]{165, 165, 165}, 700, 1737, 88, 138, false, "Ra", 1);//Not a GT Inherited Material - public final Material ACTINIUM = new Material("Actinium", 25600, new short[]{150, 165, 165}, 1050, 3200, 89, 138, false, "Ac", 1);//Not a GT Inherited Material - public final Material THORIUM = new Material("Thorium", 51200, Materials.Thorium.mRGBa, Materials.Thorium.mMeltingPoint, Materials.Thorium.mBlastFurnaceTemp, 90, 142, false, MaterialUtils.superscript("Th"), 1); - public final Material PROTACTINIUM = new Material("Protactinium", 25600, new short[]{190, 150, 170}, 1568, 4027, 91, 140, false, "Pa", 1);//Not a GT Inherited Material + public final Material FRANCIUM = new Material("Francium", MaterialState.SOLID, 25600, new short[]{170, 160, 170}, 27, 677, 87, 136, false, "Fr", 1);//Not a GT Inherited Material + public final Material RADIUM = new Material("Radium", MaterialState.SOLID, 25600, new short[]{165, 165, 165}, 700, 1737, 88, 138, false, "Ra", 1);//Not a GT Inherited Material + public final Material ACTINIUM = new Material("Actinium", MaterialState.SOLID, 25600, new short[]{150, 165, 165}, 1050, 3200, 89, 138, false, "Ac", 1);//Not a GT Inherited Material + public final Material THORIUM = new Material("Thorium", MaterialState.SOLID, 51200, Materials.Thorium.mRGBa, Materials.Thorium.mMeltingPoint, Materials.Thorium.mBlastFurnaceTemp, 90, 142, false, MaterialUtils.superscript("Th"), 1); + public final Material PROTACTINIUM = new Material("Protactinium", MaterialState.SOLID, 25600, new short[]{190, 150, 170}, 1568, 4027, 91, 140, false, "Pa", 1);//Not a GT Inherited Material public final Material URANIUM238 = MaterialUtils.generateMaterialFromGtENUM(Materials.Uranium); public final Material URANIUM235 = MaterialUtils.generateMaterialFromGtENUM(Materials.Uranium235); - public final Material NEPTUNIUM = new Material("Neptunium", 25600, new short[]{200, 220, 205}, 640, 3902, 93, 144, false, "Np", 2);//Not a GT Inherited Material + public final Material NEPTUNIUM = new Material("Neptunium", MaterialState.SOLID, 25600, new short[]{200, 220, 205}, 640, 3902, 93, 144, false, "Np", 2);//Not a GT Inherited Material public final Material PLUTONIUM244 = MaterialUtils.generateMaterialFromGtENUM(Materials.Plutonium); public final Material PLUTONIUM241 = MaterialUtils.generateMaterialFromGtENUM(Materials.Plutonium241); public final Material AMERICIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Americium); //Americium - public final Material CURIUM = new Material("Curium", 25600, new short[]{175, 85, 110}, 1340, 3110, 96, 151, false, "Cm", 3);//Not a GT Inherited Material - public final Material BERKELIUM = new Material("Berkelium", 25600, new short[]{110, 250, 85}, 985, 710, 97, 150, false, "Bk", 4);//Not a GT Inherited Material - public final Material CALIFORNIUM = new Material("Californium", 25600, new short[]{85, 110, 205}, 899, 1472, 98, 153, false, "Cf", 4);//Not a GT Inherited Material - public final Material EINSTEINIUM = new Material("Einsteinium", 25600, new short[]{255, 85, 110}, 860, 3500, 99, 153, false, "Es", 5);//Not a GT Inherited Material //Boiling Point is made up - public final Material FERMIUM = new Material("Fermium", 25600, new short[]{75, 90, 25}, 1527, 3850, 100, 157, false, "Fm", 5);//Not a GT Inherited Material //Boiling Point is made up + public final Material CURIUM = new Material("Curium", MaterialState.SOLID, 25600, new short[]{175, 85, 110}, 1340, 3110, 96, 151, false, "Cm", 3);//Not a GT Inherited Material + public final Material BERKELIUM = new Material("Berkelium", MaterialState.SOLID, 25600, new short[]{110, 250, 85}, 985, 710, 97, 150, false, "Bk", 4);//Not a GT Inherited Material + public final Material CALIFORNIUM = new Material("Californium", MaterialState.SOLID, 25600, new short[]{85, 110, 205}, 899, 1472, 98, 153, false, "Cf", 4);//Not a GT Inherited Material + public final Material EINSTEINIUM = new Material("Einsteinium", MaterialState.SOLID, 25600, new short[]{255, 85, 110}, 860, 3500, 99, 153, false, "Es", 5);//Not a GT Inherited Material //Boiling Point is made up + public final Material FERMIUM = new Material("Fermium", MaterialState.LIQUID, 25600, new short[]{75, 90, 25}, 1527, 3850, 100, 157, false, "Fm", 5);//Not a GT Inherited Material //Boiling Point is made up //Misc public final Material AER = MaterialUtils.generateMaterialFromGtENUM(Materials.InfusedAir); diff --git a/src/Java/gtPlusPlus/core/material/Material.java b/src/Java/gtPlusPlus/core/material/Material.java index e1aa0d730b..d7153544eb 100644 --- a/src/Java/gtPlusPlus/core/material/Material.java +++ b/src/Java/gtPlusPlus/core/material/Material.java @@ -3,6 +3,7 @@ package gtPlusPlus.core.material; import static gregtech.api.enums.GT_Values.M; import gregtech.api.enums.*; import gtPlusPlus.core.item.base.cell.BaseItemCell; +import gtPlusPlus.core.material.state.MaterialState; import gtPlusPlus.core.util.Utils; import gtPlusPlus.core.util.fluid.FluidUtils; import gtPlusPlus.core.util.item.ItemUtils; @@ -21,6 +22,8 @@ public class Material { private final String unlocalizedName; private final String localizedName; + + private final MaterialState materialState; private final Fluid vMoltenFluid; private final Fluid vPlasma; @@ -54,26 +57,27 @@ public class Material { public final int vToolQuality; public final int vHarvestLevel; - 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, 0, rgba, meltingPoint, boilingPoint, protons, neutrons, blastFurnace, "", 0, inputs); + public Material(final String materialName, MaterialState defaultState,final short[] rgba, final int meltingPoint, final int boilingPoint, final long protons, final long neutrons, final boolean blastFurnace, final MaterialStack... inputs){ + this(materialName, defaultState, 0, 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 int radiationLevel, MaterialStack... inputs){ - this(materialName, 0, rgba, meltingPoint, boilingPoint, protons, neutrons, blastFurnace, "", radiationLevel, inputs); + public Material(final String materialName, MaterialState defaultState,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, defaultState, 0, rgba, meltingPoint, boilingPoint, protons, neutrons, blastFurnace, "", radiationLevel, inputs); } - public Material(final String materialName, final long durability, 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, durability, rgba, meltingPoint, boilingPoint, protons, neutrons, blastFurnace, "", radiationLevel, inputs); + public Material(final String materialName, MaterialState defaultState,final long durability, 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, defaultState, durability, 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(materialName, 0, rgba, meltingPoint, boilingPoint, protons, neutrons, blastFurnace, chemicalSymbol, radiationLevel, inputs); + public Material(final String materialName, MaterialState defaultState,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(materialName, defaultState, 0, rgba, meltingPoint, boilingPoint, protons, neutrons, blastFurnace, chemicalSymbol, radiationLevel, inputs); } - public Material(final String materialName, final long durability, 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, MaterialState defaultState, final long durability, 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.materialState = defaultState; this.RGBA = rgba; this.meltingPointC = meltingPoint; if (boilingPoint != 0){ @@ -553,15 +557,43 @@ public class Material { @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); + + if (this.materialState == MaterialState.SOLID){ + return FluidUtils.addGTFluid( + this.getUnlocalizedName(), + "Molten "+this.getLocalizedName(), + this.RGBA, + this.materialState.ID(), + this.getMeltingPointK(), + ItemUtils.getItemStackOfAmountFromOreDictNoBroken("cell"+getUnlocalizedName(), 1), + ItemList.Cell_Empty.get(1L, new Object[0]), + 1000); + } + else if (this.materialState == MaterialState.LIQUID){ + return FluidUtils.addGTFluid( + this.getUnlocalizedName(), + this.getLocalizedName(), + this.RGBA, + this.materialState.ID(), + this.getMeltingPointK(), + ItemUtils.getItemStackOfAmountFromOreDictNoBroken("cell"+getUnlocalizedName(), 1), + ItemList.Cell_Empty.get(1L, new Object[0]), + 1000); + } + else if (this.materialState == MaterialState.GAS){ + return FluidUtils.addGTFluid( + this.getUnlocalizedName(), + this.getLocalizedName()+" Gas", + this.RGBA, + this.materialState.ID(), + this.getMeltingPointK(), + ItemUtils.getItemStackOfAmountFromOreDictNoBroken("cell"+getUnlocalizedName(), 1), + ItemList.Cell_Empty.get(1L, new Object[0]), + 1000); + } + else { //Plasma + return generatePlasma(); + } } Utils.LOG_WARNING("Getting the fluid from a GT material instead."); return Materials.get(localizedName).mFluid; diff --git a/src/Java/gtPlusPlus/core/material/nuclear/FLUORIDES.java b/src/Java/gtPlusPlus/core/material/nuclear/FLUORIDES.java index 8c4c797e12..a95703349e 100644 --- a/src/Java/gtPlusPlus/core/material/nuclear/FLUORIDES.java +++ b/src/Java/gtPlusPlus/core/material/nuclear/FLUORIDES.java @@ -2,6 +2,7 @@ package gtPlusPlus.core.material.nuclear; import gregtech.api.enums.Materials; import gtPlusPlus.core.material.*; +import gtPlusPlus.core.material.state.MaterialState; public class FLUORIDES { @@ -11,6 +12,7 @@ public class FLUORIDES { public static final Material FLUORITE = new Material( "Fluorite", //Material Name + MaterialState.SOLID, //State new short[]{75, 70, 25, 0}, //Material Colour Materials.Fluorine.mMeltingPoint, //Melting Point in C Materials.Fluorine.mBlastFurnaceTemp, //Boiling Point in C @@ -25,6 +27,7 @@ public class FLUORIDES { public static final Material THORIUM_TETRAFLUORIDE = new Material( "Thorium Tetrafluoride", //Material Name + MaterialState.LIQUID, //State new short[]{25, 70, 25, 0}, //Material Colour Materials.Thorium.mMeltingPoint, //Melting Point in C Materials.Thorium.mBlastFurnaceTemp, //Boiling Point in C @@ -39,6 +42,7 @@ public class FLUORIDES { public static final Material THORIUM_HEXAFLUORIDE = new Material( "Thorium Hexafluoride", //Material Name + MaterialState.LIQUID, //State new short[]{10, 50, 10, 0}, //Material Colour Materials.Thorium.mMeltingPoint, //Melting Point in C Materials.Thorium.mBlastFurnaceTemp, //Boiling Point in C @@ -54,6 +58,7 @@ public class FLUORIDES { public static final Material URANIUM_TETRAFLUORIDE = new Material( "Uranium Tetrafluoride", //Material Name + MaterialState.LIQUID, //State new short[]{50, 240, 50, 0}, //Material Colour Materials.Uranium235.mMeltingPoint, //Melting Point in C Materials.Uranium235.mBlastFurnaceTemp, //Boiling Point in C @@ -68,6 +73,7 @@ public class FLUORIDES { public static final Material URANIUM_HEXAFLUORIDE = new Material( "Uranium Hexafluoride", //Material Name + MaterialState.LIQUID, //State new short[]{70, 250, 70, 0}, //Material Colour Materials.Uranium235.mMeltingPoint, //Melting Point in C Materials.Uranium235.mBlastFurnaceTemp, //Boiling Point in C @@ -84,6 +90,7 @@ public class FLUORIDES { public static final Material ZIRCONIUM_TETRAFLUORIDE = new Material( "Zirconium Tetrafluoride", //Material Name + MaterialState.LIQUID, //State ELEMENT.getInstance().ZIRCONIUM.getRGBA(), //Material Colour ELEMENT.getInstance().ZIRCONIUM.getMeltingPointC(), //Melting Point in C ELEMENT.getInstance().ZIRCONIUM.getBoilingPointC(), //Boiling Point in C @@ -98,6 +105,7 @@ public class FLUORIDES { public static final Material BERYLLIUM_FLUORIDE = new Material( "Beryllium Tetrafluoride", //Material Name + MaterialState.LIQUID, //State new short[]{120, 180, 120, 0}, //Material Colour Materials.Beryllium.mMeltingPoint, //Melting Point in C Materials.Beryllium.mBlastFurnaceTemp, //Boiling Point in C @@ -112,6 +120,7 @@ public class FLUORIDES { public static final Material LITHIUM_FLUORIDE = new Material( "Lithium Tetrafluoride", //Material Name + MaterialState.LIQUID, //State new short[]{225, 220, 255, 0}, //Material Colour Materials.Lithium.mMeltingPoint, //Melting Point in C Materials.Lithium.mBlastFurnaceTemp, //Boiling Point in C @@ -130,6 +139,7 @@ public class FLUORIDES { public static final Material NEPTUNIUM_HEXAFLUORIDE = new Material( "Neptunium Hexafluoride", //Material Name + MaterialState.GAS, //State ELEMENT.getInstance().NEPTUNIUM.getRGBA(), //Material Colour ELEMENT.getInstance().NEPTUNIUM.getMeltingPointC(), //Melting Point in C ELEMENT.getInstance().NEPTUNIUM.getBoilingPointC(), //Boiling Point in C @@ -144,6 +154,7 @@ public class FLUORIDES { public static final Material TECHNETIUM_HEXAFLUORIDE = new Material( "Technetium Hexafluoride", //Material Name + MaterialState.GAS, //State ELEMENT.getInstance().TECHNETIUM.getRGBA(), //Material Colour ELEMENT.getInstance().TECHNETIUM.getMeltingPointC(), //Melting Point in C ELEMENT.getInstance().TECHNETIUM.getBoilingPointC(), //Boiling Point in C @@ -158,6 +169,7 @@ public class FLUORIDES { public static final Material SELENIUM_HEXAFLUORIDE = new Material( "Selenium Hexafluoride", //Material Name + MaterialState.GAS, //State ELEMENT.getInstance().SELENIUM.getRGBA(), //Material Colour ELEMENT.getInstance().SELENIUM.getMeltingPointC(), //Melting Point in C ELEMENT.getInstance().SELENIUM.getBoilingPointC(), //Boiling Point in C diff --git a/src/Java/gtPlusPlus/core/material/nuclear/NUCLIDE.java b/src/Java/gtPlusPlus/core/material/nuclear/NUCLIDE.java index a94d8a5077..f598102630 100644 --- a/src/Java/gtPlusPlus/core/material/nuclear/NUCLIDE.java +++ b/src/Java/gtPlusPlus/core/material/nuclear/NUCLIDE.java @@ -2,6 +2,7 @@ package gtPlusPlus.core.material.nuclear; import gregtech.api.enums.Materials; import gtPlusPlus.core.material.*; +import gtPlusPlus.core.material.state.MaterialState; import gtPlusPlus.core.util.materials.MaterialUtils; @@ -12,16 +13,17 @@ public final class NUCLIDE { public static NUCLIDE getInstance(){return thisClass;} //Custom Isotopes - public final Material LITHIUM7 = new Material("Lithium 7", Materials.Lithium.mRGBa, Materials.Lithium.mMeltingPoint, Materials.Lithium.mBlastFurnaceTemp, Materials.Lithium.getProtons(), Materials.Lithium.getNeutrons(), Materials.Lithium.mBlastFurnaceRequired, MaterialUtils.superscript("7Li"), 0);//Not a GT Inherited Material - public final Material URANIUM232 = new Material("Uranium 232", new short[]{88, 220, 103, 0}, 1132, 4131, 92, 140, false, MaterialUtils.superscript("232U"), 4);//Not a GT Inherited Material - public final Material URANIUM233 = new Material("Uranium 233", new short[]{73, 220, 83, 0}, 1132, 4131, 92, 141, false, MaterialUtils.superscript("233U"), 2);//Not a GT Inherited Material - public final Material THORIUM232 = new Material("Thorium 232", new short[]{15, 60, 15, 0}, Materials.Thorium.mMeltingPoint, Materials.Thorium.mBlastFurnaceTemp, 90, 142, false, MaterialUtils.superscript("232Th"), 1);//Not a GT Inherited Material - public final Material PLUTONIUM238 = new Material("Plutonium-238", 51200, Materials.Plutonium241.mRGBa, Materials.Plutonium241.mMeltingPoint, Materials.Plutonium241.mBlastFurnaceTemp, 94, 144, false, MaterialUtils.superscript("238Pu"), 2);//Not a GT Inherited Material + public final Material LITHIUM7 = new Material("Lithium 7", MaterialState.LIQUID, Materials.Lithium.mRGBa, Materials.Lithium.mMeltingPoint, Materials.Lithium.mBlastFurnaceTemp, Materials.Lithium.getProtons(), Materials.Lithium.getNeutrons(), Materials.Lithium.mBlastFurnaceRequired, MaterialUtils.superscript("7Li"), 0);//Not a GT Inherited Material + public final Material URANIUM232 = new Material("Uranium 232", MaterialState.SOLID, new short[]{88, 220, 103, 0}, 1132, 4131, 92, 140, false, MaterialUtils.superscript("232U"), 4);//Not a GT Inherited Material + public final Material URANIUM233 = new Material("Uranium 233", MaterialState.SOLID, new short[]{73, 220, 83, 0}, 1132, 4131, 92, 141, false, MaterialUtils.superscript("233U"), 2);//Not a GT Inherited Material + public final Material THORIUM232 = new Material("Thorium 232", MaterialState.SOLID, new short[]{15, 60, 15, 0}, Materials.Thorium.mMeltingPoint, Materials.Thorium.mBlastFurnaceTemp, 90, 142, false, MaterialUtils.superscript("232Th"), 1);//Not a GT Inherited Material + public final Material PLUTONIUM238 = new Material("Plutonium-238", MaterialState.SOLID, Materials.Plutonium241.mDurability, Materials.Plutonium241.mRGBa, Materials.Plutonium241.mMeltingPoint, Materials.Plutonium241.mBlastFurnaceTemp, 94, 144, false, MaterialUtils.superscript("238Pu"), 2);//Not a GT Inherited Material public static final Material LiFBeF2ThF4UF4 = new Material( "LiFBeF2ThF4UF4", //Material Name + MaterialState.LIQUID, //State new short[]{40, 90, 25, 0}, //Material Colour 566, //Melting Point in C 870, //Boiling Point in C @@ -40,6 +42,7 @@ public final class NUCLIDE { public static final Material LiFBeF2ZrF4UF4 = new Material( "LiFBeF2ZrF4UF4", //Material Name + MaterialState.LIQUID, //State new short[]{20, 70, 45, 0}, //Material Colour 650, //Melting Point in C 940, //Boiling Point in C @@ -58,6 +61,7 @@ public final class NUCLIDE { public static final Material LiFBeF2ZrF4U235 = new Material( "LiFBeF2ZrF4U235", //Material Name + MaterialState.LIQUID, //State new short[]{50, 70, 15, 0}, //Material Colour 590, //Melting Point in C 890, //Boiling Point in C diff --git a/src/Java/gtPlusPlus/core/material/state/MaterialState.java b/src/Java/gtPlusPlus/core/material/state/MaterialState.java new file mode 100644 index 0000000000..a640976281 --- /dev/null +++ b/src/Java/gtPlusPlus/core/material/state/MaterialState.java @@ -0,0 +1,15 @@ +package gtPlusPlus.core.material.state; + +public enum MaterialState { + SOLID(0), + LIQUID(1), + GAS(2), + PLASMA(3); + private int STATE; + private MaterialState (final int State){ + this.STATE = State; + } + public int ID() { + return STATE; + } +} diff --git a/src/Java/gtPlusPlus/core/util/materials/MaterialUtils.java b/src/Java/gtPlusPlus/core/util/materials/MaterialUtils.java index 0d01e83848..8e821cd850 100644 --- a/src/Java/gtPlusPlus/core/util/materials/MaterialUtils.java +++ b/src/Java/gtPlusPlus/core/util/materials/MaterialUtils.java @@ -4,6 +4,7 @@ import gregtech.api.enums.*; import gregtech.api.enums.TC_Aspects.TC_AspectStack; import gregtech.api.objects.MaterialStack; import gtPlusPlus.core.material.Material; +import gtPlusPlus.core.material.state.MaterialState; import gtPlusPlus.core.util.Utils; import java.util.ArrayList; @@ -14,7 +15,7 @@ import net.minecraftforge.common.util.EnumHelper; import net.minecraftforge.oredict.OreDictionary; public class MaterialUtils { - + public static short firstID = 791; private static Class[][] commonTypes = @@ -23,15 +24,15 @@ public class MaterialUtils { String.class, int.class, int.class, int.class, int.class, boolean.class, boolean.class, int.class, int.class, int.class, Dyes.class, int.class, List.class , List.class}}; - + public static Materials addGtMaterial(String enumNameForMaterial, TextureSet aIconSet, float aToolSpeed, int aToolDurability, int aToolQuality, int aTypes, int aR, int aG, int aB, int aA, String aLocalName, int aFuelType, int aFuelPower, int aMeltingPoint, int aBlastFurnaceTemp, boolean aBlastFurnaceRequired, boolean aTransparent, int aOreValue, int aDensityMultiplier, int aDensityDivider, Dyes aColor, int aExtraData, List<MaterialStack> aMaterialList, List<TC_AspectStack> aAspects) - { + { Utils.LOG_INFO("Attempting to add GT material: "+enumNameForMaterial); return EnumHelper.addEnum(Materials.class, enumNameForMaterial, commonTypes, firstID++, aIconSet, aToolSpeed, aToolDurability, aToolQuality, aTypes, aR, aG, aB, aA, aLocalName, aFuelType, aFuelPower, aMeltingPoint, aBlastFurnaceTemp, aBlastFurnaceRequired, aTransparent, aOreValue, aDensityMultiplier, aDensityDivider, aColor, aExtraData, aMaterialList, aAspects); - } - + } + public static List<?> oreDictValuesForEntry(String oredictName){ List<?> oredictItemNames; if(OreDictionary.doesOreNameExist(oredictName)){ @@ -41,7 +42,7 @@ public class MaterialUtils { } return null; } - + public static Material generateMaterialFromGtENUM(Materials material){ String name = material.name(); short[] rgba = material.mRGBa; @@ -51,28 +52,49 @@ public class MaterialUtils { long neutrons = material.getNeutrons(); boolean blastFurnace = material.mBlastFurnaceRequired; int durability = material.mDurability; + MaterialState materialState; String chemicalFormula = MaterialUtils.subscript(material.mChemicalFormula); Element element = material.mElement; int radioactivity = 0; if (material.isRadioactive()){ radioactivity = 1; } + + //Determine default state + if (material.getMolten(1) != null){ + materialState = MaterialState.SOLID; + } + else if (material.getFluid(1) != null){ + materialState = MaterialState.LIQUID; + } + else if (material.getGas(1) != null){ + materialState = MaterialState.GAS; + } + else if (material.getPlasma(1) != null){ + materialState = MaterialState.PLASMA; + } + else { + materialState = MaterialState.SOLID; + } + + if (name.toLowerCase().contains("infused")){ String tempname = name.substring(7, name.length()); name = "Infused " + tempname; - } + } if (hasValidRGBA(rgba) || element == Element.H || (material == Materials.InfusedAir || material == Materials.InfusedFire || material == Materials.InfusedEarth || material == Materials.InfusedWater)){ //ModItems.itemBaseDecidust = UtilsItems.generateDecidust(material); //ModItems.itemBaseCentidust = UtilsItems.generateCentidust(material); - return new Material(name, durability, rgba, melting, boiling, protons, neutrons, blastFurnace, chemicalFormula, radioactivity); + return new Material(name, materialState, durability, rgba, melting, boiling, protons, neutrons, blastFurnace, chemicalFormula, radioactivity); } return null; - + } - - public static Material generateQuickMaterial(String materialName, short[] colour, int sRadioactivity) { + + public static Material generateQuickMaterial(String materialName, MaterialState defaultState, short[] colour, int sRadioactivity) { Material temp = new Material( materialName, + defaultState, 0, //Durability colour, 1000, //melting @@ -84,7 +106,7 @@ public class MaterialUtils { sRadioactivity); return temp; } - + public static boolean hasValidRGBA(short[] rgba){ boolean test1 = false; boolean test2 = false; @@ -107,35 +129,35 @@ public class MaterialUtils { } return true; } - + public static String superscript(String str) { - str = str.replaceAll("0", "\u2070"); - str = str.replaceAll("1", "\u00B9"); - str = str.replaceAll("2", "\u00B2"); - str = str.replaceAll("3", "\u00B3"); - str = str.replaceAll("4", "\u2074"); - str = str.replaceAll("5", "\u2075"); - str = str.replaceAll("6", "\u2076"); - str = str.replaceAll("7", "\u2077"); - str = str.replaceAll("8", "\u2078"); - str = str.replaceAll("9", "\u2079"); - return str; + str = str.replaceAll("0", "\u2070"); + str = str.replaceAll("1", "\u00B9"); + str = str.replaceAll("2", "\u00B2"); + str = str.replaceAll("3", "\u00B3"); + str = str.replaceAll("4", "\u2074"); + str = str.replaceAll("5", "\u2075"); + str = str.replaceAll("6", "\u2076"); + str = str.replaceAll("7", "\u2077"); + str = str.replaceAll("8", "\u2078"); + str = str.replaceAll("9", "\u2079"); + return str; } public static String subscript(String str) { - str = str.replaceAll("0", "\u2080"); - str = str.replaceAll("1", "\u2081"); - str = str.replaceAll("2", "\u2082"); - str = str.replaceAll("3", "\u2083"); - str = str.replaceAll("4", "\u2084"); - str = str.replaceAll("5", "\u2085"); - str = str.replaceAll("6", "\u2086"); - str = str.replaceAll("7", "\u2087"); - str = str.replaceAll("8", "\u2088"); - str = str.replaceAll("9", "\u2089"); - return str; + str = str.replaceAll("0", "\u2080"); + str = str.replaceAll("1", "\u2081"); + str = str.replaceAll("2", "\u2082"); + str = str.replaceAll("3", "\u2083"); + str = str.replaceAll("4", "\u2084"); + str = str.replaceAll("5", "\u2085"); + str = str.replaceAll("6", "\u2086"); + str = str.replaceAll("7", "\u2087"); + str = str.replaceAll("8", "\u2088"); + str = str.replaceAll("9", "\u2089"); + return str; } - + public static int getTierOfMaterial(int M){ if (M >= 0 && M <= 750){ return 1; @@ -171,7 +193,7 @@ public class MaterialUtils { return 0; } } - + /* * That's shown, many times, in the EnumHelper code, all the add functions just wrap the addEnum function. @@ -189,7 +211,7 @@ public class MaterialUtils { List.class , List.class}], */ - + /*public static Materials GenerateGtMaterialForSingleUse(MaterialInfo s){ |