diff options
Diffstat (limited to 'src/Java/gtPlusPlus/core/material')
-rw-r--r-- | src/Java/gtPlusPlus/core/material/ELEMENT.java | 77 | ||||
-rw-r--r-- | src/Java/gtPlusPlus/core/material/Material.java | 341 | ||||
-rw-r--r-- | src/Java/gtPlusPlus/core/material/MaterialGenerator.java | 60 | ||||
-rw-r--r-- | src/Java/gtPlusPlus/core/material/NONMATERIAL.java | 22 | ||||
-rw-r--r-- | src/Java/gtPlusPlus/core/material/ORES.java | 28 |
5 files changed, 381 insertions, 147 deletions
diff --git a/src/Java/gtPlusPlus/core/material/ELEMENT.java b/src/Java/gtPlusPlus/core/material/ELEMENT.java index 9f37164aa0..5ff593da3f 100644 --- a/src/Java/gtPlusPlus/core/material/ELEMENT.java +++ b/src/Java/gtPlusPlus/core/material/ELEMENT.java @@ -1,7 +1,7 @@ package gtPlusPlus.core.material; import gregtech.api.enums.Materials; - +import gregtech.api.enums.TextureSet; import gtPlusPlus.api.objects.Logger; import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.material.state.MaterialState; @@ -20,7 +20,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", MaterialState.GAS, 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, 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); @@ -42,29 +42,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", MaterialState.SOLID, 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, 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", 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 SELENIUM = new Material("Selenium", MaterialState.SOLID, 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.PURE_LIQUID, 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, 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", MaterialState.SOLID, 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, 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", 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 TECHNETIUM = new Material("Technetium", MaterialState.SOLID, 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, 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, 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", 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 TELLURIUM = new Material("Tellurium", MaterialState.SOLID, 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, TextureSet.SET_SHINY, 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, 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); @@ -76,45 +76,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", MaterialState.SOLID, 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, 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", MaterialState.SOLID, 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, 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", MaterialState.SOLID, 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, 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", MaterialState.SOLID, 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, 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", 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 POLONIUM = new Material("Polonium", MaterialState.SOLID, 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, 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", 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, StringUtils.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 FRANCIUM = new Material("Francium", MaterialState.SOLID, 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, 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, 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, Materials.Thorium.mRGBa, Materials.Thorium.mMeltingPoint, Materials.Thorium.mBlastFurnaceTemp, 90, 142, false, StringUtils.superscript("Th"), 1); + public final Material PROTACTINIUM = new Material("Protactinium", MaterialState.SOLID, 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", MaterialState.SOLID, 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, 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", 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 + public final Material CURIUM = new Material("Curium", MaterialState.SOLID, TextureSet.SET_SHINY, 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, 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, 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, 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, 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); @@ -133,10 +133,10 @@ public final class ELEMENT { //Custom Isotopes - 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, StringUtils.superscript("7Li"), 0, false);//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, StringUtils.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, StringUtils.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, StringUtils.superscript("232Th"), 1, false);//Not a GT Inherited Material + public final Material LITHIUM7 = new Material("Lithium 7", MaterialState.LIQUID, TextureSet.SET_SHINY, Materials.Lithium.mRGBa, Materials.Lithium.mMeltingPoint, Materials.Lithium.mBlastFurnaceTemp, Materials.Lithium.getProtons(), Materials.Lithium.getNeutrons(), Materials.Lithium.mBlastFurnaceRequired, StringUtils.superscript("7Li"), 0, false);//Not a GT Inherited Material + public final Material URANIUM232 = new Material("Uranium 232", MaterialState.SOLID, TextureSet.SET_SHINY, new short[]{88, 220, 103, 0}, 1132, 4131, 92, 140, false, StringUtils.superscript("232U"), 4);//Not a GT Inherited Material + public final Material URANIUM233 = new Material("Uranium 233", MaterialState.SOLID, TextureSet.SET_SHINY, new short[]{73, 220, 83, 0}, 1132, 4131, 92, 141, false, StringUtils.superscript("233U"), 2);//Not a GT Inherited Material + public final Material THORIUM232 = new Material("Thorium 232", MaterialState.SOLID, TextureSet.SET_SHINY, new short[]{15, 60, 15, 0}, Materials.Thorium.mMeltingPoint, Materials.Thorium.mBlastFurnaceTemp, 90, 142, false, StringUtils.superscript("232Th"), 1, false);//Not a GT Inherited Material public final Material PLUTONIUM239 = new Material("Plutonium-239", MaterialState.SOLID, Materials.Plutonium.mIconSet, Materials.Plutonium.mDurability, Materials.Plutonium.mRGBa, Materials.Plutonium.mMeltingPoint, Materials.Plutonium.mBlastFurnaceTemp, 94, 145, false, StringUtils.superscript("239Pu"), 4, true);//Not a GT Inherited Material //RTG Fuels public final Material PLUTONIUM238 = new Material("Plutonium-238", MaterialState.SOLID, Materials.Plutonium241.mIconSet, Materials.Plutonium241.mDurability, Materials.Plutonium241.mRGBa, Materials.Plutonium241.mMeltingPoint, Materials.Plutonium241.mBlastFurnaceTemp, 94, 144, false, StringUtils.superscript("238Pu"), 2, false);//Not a GT Inherited Material @@ -192,11 +192,10 @@ public final class ELEMENT { TRINIUM_REFINED = TRINIUM; } - else { - TRINIUM = new Material("Trinium", MaterialState.SOLID, new short[]{70, 110, 30}, 604, 4057, 181, 133, false, "Ke", 0, false);//Not a GT Inherited Material - TRINIUM_REFINED = new Material("Refined Trinium", MaterialState.SOLID, new short[]{210, 255, 170}, 4304, 14057, 181, 133, false, "Ke", 0, new MaterialStack[]{new MaterialStack(TRINIUM, 1)});//Not a GT Inherited Material - - } + else { + TRINIUM = new Material("Trinium", MaterialState.SOLID, TextureSet.SET_FINE, new short[]{70, 110, 30}, 604, 4057, 181, 133, false, "Ke", 0, false);//Not a GT Inherited Material + TRINIUM_REFINED = new Material("Refined Trinium", MaterialState.SOLID, TextureSet.SET_SHINY, new short[]{210, 255, 170}, 4304, 14057, 181, 133, false, "Ke", 0, new MaterialStack[]{new MaterialStack(TRINIUM, 1)});//Not a GT Inherited Material + } } public static ELEMENT getInstance(){ diff --git a/src/Java/gtPlusPlus/core/material/Material.java b/src/Java/gtPlusPlus/core/material/Material.java index 4dd88030bd..e5cacfdce7 100644 --- a/src/Java/gtPlusPlus/core/material/Material.java +++ b/src/Java/gtPlusPlus/core/material/Material.java @@ -3,7 +3,9 @@ package gtPlusPlus.core.material; import static gregtech.api.enums.GT_Values.M; import java.util.ArrayList; +import java.util.HashMap; import java.util.HashSet; +import java.util.Map; import java.util.Set; import net.minecraft.block.Block; @@ -15,6 +17,8 @@ import gregtech.api.enums.*; import gtPlusPlus.api.objects.Logger; import gtPlusPlus.api.objects.data.AutoMap; +import gtPlusPlus.core.item.ModItems; +import gtPlusPlus.core.item.base.BaseItemComponent; import gtPlusPlus.core.item.base.cell.BaseItemCell; import gtPlusPlus.core.material.state.MaterialState; import gtPlusPlus.core.util.Utils; @@ -30,6 +34,8 @@ import net.minecraftforge.fluids.FluidStack; public class Material { public static final Set<Material> mMaterialMap = new HashSet<Material>(); + + public static final Map<String, Map<String, BaseItemComponent>> mComponentMap = new HashMap<String, Map<String, BaseItemComponent>>(); private String unlocalizedName; private String localizedName; @@ -111,21 +117,31 @@ public class Material { public Material(final String materialName, final 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, boolean addCells,final MaterialStack... inputs) { this (materialName, defaultState, null, 0, rgba, meltingPoint, boilingPoint, protons, neutrons, blastFurnace, chemicalSymbol, radiationLevel, addCells, true, inputs); } + + public Material(final String materialName, final MaterialState defaultState, TextureSet textureSet,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, textureSet, 0, rgba, meltingPoint, boilingPoint, protons, neutrons, blastFurnace, chemicalSymbol, radiationLevel, true, true, inputs); + } + + public Material(final String materialName, final MaterialState defaultState, TextureSet textureSet,final short[] rgba, final int meltingPoint, final int boilingPoint, final long protons, final long neutrons, final boolean blastFurnace, final String chemicalSymbol, final int radiationLevel, boolean addCells,final MaterialStack... inputs) { + this (materialName, defaultState, textureSet, 0, rgba, meltingPoint, boilingPoint, protons, neutrons, blastFurnace, chemicalSymbol, radiationLevel, addCells, true, inputs); + } - public Material(final String materialName, final 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){ + private Material(final String materialName, final 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 (materialName, defaultState, null, durability, rgba, meltingPoint, boilingPoint, protons, neutrons, blastFurnace, chemicalSymbol, radiationLevel, true, true, inputs); } public Material(final String materialName, final MaterialState defaultState, final TextureSet set, 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, boolean generateCells, final MaterialStack... inputs){ - this (materialName, defaultState, null, durability, rgba, meltingPoint, boilingPoint, protons, neutrons, blastFurnace, chemicalSymbol, radiationLevel, true, true, inputs); - } + this (materialName, defaultState, set, durability, rgba, meltingPoint, boilingPoint, protons, neutrons, blastFurnace, chemicalSymbol, radiationLevel, true, true, inputs); + } public Material(final String materialName, final MaterialState defaultState, final TextureSet set, 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, boolean generateCells, boolean generateFluid, final MaterialStack... inputs){ if (mMaterialMap.add(this)) { - //Placeholder + } + mComponentMap.put(unlocalizedName, new HashMap<String, BaseItemComponent>()); + try { this.unlocalizedName = Utils.sanitizeString(materialName); this.localizedName = materialName; @@ -150,7 +166,6 @@ public class Material { } } } - this.textureSet = setTextureSet(set); //Set Melting/Boiling point, if value is -1 calculate it from compound inputs. @@ -283,8 +298,37 @@ public class Material { } } + if (vMaterialInput.size() > 0) { + AutoMap<Integer> aDataSet = new AutoMap<Integer>(); + + int bonus = 0; + bonus += this.vMaterialInput.size(); + bonus += MathUtils.roundToClosestInt(meltingPointC/1000); + + + + aDataSet.put(bonus); + + for (MaterialStack m : this.vMaterialInput) { + aDataSet.put(m.getStackMaterial().vTier); + } + int aAverage = MathUtils.getIntAverage(aDataSet); + if (aAverage > Integer.MAX_VALUE || aAverage < Integer.MIN_VALUE) { + aAverage = 0; + } + if (aAverage > 0) { + this.vTier = Math.min(aAverage, 10); + } + else { + this.vTier = MaterialUtils.getTierOfMaterial((int) MathUtils.celsiusToKelvin(meltingPoint)); + } + } + else { + this.vTier = MaterialUtils.getTierOfMaterial((int) MathUtils.celsiusToKelvin(meltingPoint)); + } + + //Sets the materials 'tier'. Will probably replace this logic. - this.vTier = MaterialUtils.getTierOfMaterial((int) MathUtils.celsiusToKelvin(meltingPoint)); this.usesBlastFurnace = blastFurnace; this.vVoltageMultiplier = MaterialUtils.getVoltageForTier(vTier); @@ -315,6 +359,7 @@ public class Material { } else{ Logger.MATERIALS("MaterialInput == null && chemicalSymbol probably equals nothing"); + this.vChemicalSymbol = "??"; this.vChemicalFormula = "??"; } @@ -355,7 +400,9 @@ public class Material { ratio = ratio + ":" +this.vSmallestRatio[hu]; } } - } + } + + this.textureSet = setTextureSet(set, vTier); Logger.MATERIALS("Creating a Material instance for "+materialName); Logger.MATERIALS("Formula: "+this.vChemicalFormula + " Smallest Stack: "+this.smallestStackSizeWhenProcessing+" Smallest Ratio:"+ratio); @@ -370,19 +417,149 @@ public class Material { } } + public Material(String string, MaterialState solid, TextureSet setShiny, int i, short[] s, int j, int k, int l, + int m, boolean b, String string2, int n) { + // TODO Auto-generated constructor stub + } + public final TextureSet getTextureSet() { synchronized(this) { return textureSet; } } + public TextureSet setTextureSet(TextureSet set) { + return setTextureSet(set, vTier); + } + + public TextureSet setTextureSet(TextureSet set, int aTier) { if (set != null) { + Logger.MATERIALS("Set textureset for "+this.localizedName+" to be "+set.mSetName+". This textureSet was supplied."); return set; } + + int aGem = 0; + int aShiny = 0; + TextureSet aSet = null; + + //Check Mixture Contents + for (MaterialStack m : this.getComposites()) { + + //Gems + if (m.getStackMaterial() == ELEMENT.getInstance().AER) { + aGem++; + } + else if (m.getStackMaterial() == ELEMENT.getInstance().AQUA) { + aGem++; + } + else if (m.getStackMaterial() == ELEMENT.getInstance().IGNIS) { + aGem++; + } + else if (m.getStackMaterial() == ELEMENT.getInstance().TERRA) { + aGem++; + } + else if (m.getStackMaterial() == ELEMENT.getInstance().MAGIC) { + aGem++; + } + else if (m.getStackMaterial() == ELEMENT.getInstance().FLUORINE) { + aGem++; + } + //Shiny Materials + if (m.getStackMaterial() == ELEMENT.getInstance().GOLD) { + aShiny++; + } + else if (m.getStackMaterial() == ELEMENT.getInstance().SILVER) { + aShiny++; + } + else if (m.getStackMaterial() == ELEMENT.getInstance().PLATINUM) { + aShiny++; + } + else if (m.getStackMaterial() == ELEMENT.getInstance().AMERICIUM) { + aShiny++; + } + else if (m.getStackMaterial() == ELEMENT.getInstance().TITANIUM) { + aShiny++; + } + else if (m.getStackMaterial() == ELEMENT.getInstance().GERMANIUM) { + aShiny++; + } + else if (m.getStackMaterial() == ELEMENT.getInstance().GALLIUM) { + aShiny++; + } + else if (m.getStackMaterial() == ELEMENT.getInstance().MERCURY) { + aShiny++; + } + else if (m.getStackMaterial() == ELEMENT.getInstance().MAGIC) { + aShiny++; + } + else if (m.getStackMaterial() == ELEMENT.getInstance().SAMARIUM) { + aShiny++; + } + else if (m.getStackMaterial() == ELEMENT.getInstance().TANTALUM) { + aShiny++; + } + } + + if (aSet == null) { + if (aGem >= this.getComposites().size()/2) { + if (MathUtils.isNumberEven(aGem)) { + Logger.MATERIALS("Set textureset for "+this.localizedName+" to be "+TextureSet.SET_GEM_HORIZONTAL.mSetName+"."); + return TextureSet.SET_GEM_HORIZONTAL; + } + else { + Logger.MATERIALS("Set textureset for "+this.localizedName+" to be "+TextureSet.SET_GEM_VERTICAL.mSetName+"."); + return TextureSet.SET_GEM_VERTICAL; + } + } + } + + if (aSet == null) { + if (aShiny >= this.getComposites().size()/3) { + Logger.MATERIALS("Set textureset for "+this.localizedName+" to be "+TextureSet.SET_SHINY.mSetName+"."); + return TextureSet.SET_SHINY; + } + } +/* + if (aTier <= 2) { + aSet = TextureSet.SET_DULL; + } + else if (aTier <= 4) { + aSet = TextureSet.SET_ROUGH; + } + else if (aTier <= 7) { + aSet = TextureSet.SET_METALLIC; + } + else if (aTier <= 10) { + aSet = TextureSet.SET_FINE; + } + else { + aSet = TextureSet.SET_METALLIC; + }*/ + + + /*int aPoint = this.getMeltingPointC(); + if (aPoint <= 300 && !this.requiresBlastFurnace()) { + aSet = TextureSet.SET_DULL; + } + else if (aPoint <= 1500) { + aSet = TextureSet.SET_ROUGH; + } + else if (aPoint <= 4000) { + aSet = TextureSet.SET_METALLIC; + } else { - // build hash table with count - AutoMap<Material> sets = new AutoMap<Material>(); + aSet = TextureSet.SET_FINE; + } + if (aSet == null) { + aSet = TextureSet.SET_METALLIC; + }*/ + + + + + // build hash table with count + AutoMap<Material> sets = new AutoMap<Material>(); if (this.vMaterialInput != null) { for (MaterialStack r : this.vMaterialInput) { if (r.getStackMaterial().getTextureSet().mSetName.toLowerCase().contains("fluid")) { @@ -392,15 +569,17 @@ public class Material { sets.put(r.getStackMaterial()); } } - TextureSet mostUsedTypeTextureSet = (TextureSet) MaterialUtils.getMostCommonTextureSet(new ArrayList<Material>(sets.values())); + TextureSet mostUsedTypeTextureSet = MaterialUtils.getMostCommonTextureSet(new ArrayList<Material>(sets.values())); if (mostUsedTypeTextureSet != null && mostUsedTypeTextureSet instanceof TextureSet) { Logger.MATERIALS("Set textureset for "+this.localizedName+" to be "+mostUsedTypeTextureSet.mSetName+"."); return mostUsedTypeTextureSet; } - } - } + } Logger.MATERIALS("Set textureset for "+this.localizedName+" to be "+Materials.Iron.mIconSet.mSetName+". [Fallback]"); - return Materials.Iron.mIconSet; + return Materials.Gold.mIconSet; + + + } public final String getLocalizedName(){ @@ -480,6 +659,28 @@ public class Material { public final boolean requiresBlastFurnace(){ return this.usesBlastFurnace; } + + public final ItemStack getComponentByPrefix(OrePrefixes aPrefix, int stacksize) { + Map<String, BaseItemComponent> g = mComponentMap.get(this.unlocalizedName); + if (g == null) { + Map<String, BaseItemComponent> aMap = new HashMap<String, BaseItemComponent>(); + mComponentMap.put(unlocalizedName, aMap); + g = aMap; + } + Item i = g.get(aPrefix.name()); + if (i != null) { + return ItemUtils.getSimpleStack(i, stacksize); + } + else { + ItemStack u = ItemUtils.getItemStackOfAmountFromOreDictNoBroken(aPrefix.name()+this.unlocalizedName, stacksize); + if (u != null) { + return u; + } + else { + return ItemUtils.getSimpleStack(ModItems.AAA_Broken); + } + } + } final public Block getBlock(){ return Block.getBlockFromItem(ItemUtils.getItemStackOfAmountFromOreDictNoBroken("block"+this.unlocalizedName, 1).getItem()); @@ -490,79 +691,76 @@ public class Material { } public final ItemStack getDust(final int stacksize){ - return ItemUtils.getGregtechDust("dust"+this.unlocalizedName, stacksize); + ItemStack i = getComponentByPrefix(OrePrefixes.dust, stacksize); + return i != null ? i : ItemUtils.getGregtechDust("dust"+this.unlocalizedName, stacksize); } public final ItemStack getSmallDust(final int stacksize){ - return ItemUtils.getItemStackOfAmountFromOreDictNoBroken("dustSmall"+this.unlocalizedName, stacksize); + return getComponentByPrefix(OrePrefixes.dustSmall, stacksize); } public final ItemStack getTinyDust(final int stacksize){ - return ItemUtils.getItemStackOfAmountFromOreDictNoBroken("dustTiny"+this.unlocalizedName, stacksize); - } - - public final ItemStack[] getValidInputStacks(){ - return ItemUtils.validItemsForOreDict(this.unlocalizedName); + return getComponentByPrefix(OrePrefixes.dustTiny, stacksize); } public final ItemStack getIngot(final int stacksize){ - return ItemUtils.getItemStackOfAmountFromOreDictNoBroken("ingot"+this.unlocalizedName, stacksize); + return getComponentByPrefix(OrePrefixes.ingot, stacksize); } public final ItemStack getHotIngot(final int stacksize){ - return ItemUtils.getItemStackOfAmountFromOreDictNoBroken("ingotHot"+this.unlocalizedName, stacksize); + return getComponentByPrefix(OrePrefixes.ingotHot, stacksize); } public final ItemStack getPlate(final int stacksize){ - return ItemUtils.getItemStackOfAmountFromOreDictNoBroken("plate"+this.unlocalizedName, stacksize); + return getComponentByPrefix(OrePrefixes.plate, stacksize); } public final ItemStack getPlateDouble(final int stacksize){ - return ItemUtils.getItemStackOfAmountFromOreDictNoBroken("plateDouble"+this.unlocalizedName, stacksize); + return getComponentByPrefix(OrePrefixes.plateDouble, stacksize); } public final ItemStack getGear(final int stacksize){ - return ItemUtils.getItemStackOfAmountFromOreDictNoBroken("gearGt"+this.unlocalizedName, stacksize); + return getComponentByPrefix(OrePrefixes.gearGt, stacksize); } public final ItemStack getRod(final int stacksize){ - return ItemUtils.getItemStackOfAmountFromOreDictNoBroken("stick"+this.unlocalizedName, stacksize); + return getComponentByPrefix(OrePrefixes.stick, stacksize); } public final ItemStack getLongRod(final int stacksize){ - return ItemUtils.getItemStackOfAmountFromOreDictNoBroken("stickLong"+this.unlocalizedName, stacksize); + return getComponentByPrefix(OrePrefixes.stickLong, stacksize); } public final ItemStack getBolt(final int stacksize){ - return ItemUtils.getItemStackOfAmountFromOreDictNoBroken("bolt"+this.unlocalizedName, stacksize); + return getComponentByPrefix(OrePrefixes.bolt, stacksize); } public final ItemStack getScrew(final int stacksize){ - return ItemUtils.getItemStackOfAmountFromOreDictNoBroken("screw"+this.unlocalizedName, stacksize); + return getComponentByPrefix(OrePrefixes.screw, stacksize); } public final ItemStack getRing(final int stacksize){ - return ItemUtils.getItemStackOfAmountFromOreDictNoBroken("ring"+this.unlocalizedName, stacksize); + return getComponentByPrefix(OrePrefixes.ring, stacksize); } public final ItemStack getRotor(final int stacksize){ - return ItemUtils.getItemStackOfAmountFromOreDictNoBroken("rotor"+this.unlocalizedName, stacksize); + return getComponentByPrefix(OrePrefixes.rotor, stacksize); } public final ItemStack getFrameBox(final int stacksize){ - return ItemUtils.getItemStackOfAmountFromOreDictNoBroken("frameGt"+this.unlocalizedName, stacksize); + return getComponentByPrefix(OrePrefixes.frameGt, stacksize); } public final ItemStack getCell(final int stacksize){ - return ItemUtils.getItemStackOfAmountFromOreDictNoBroken("cell"+this.unlocalizedName, stacksize); + return getComponentByPrefix(OrePrefixes.cell, stacksize); } public final ItemStack getPlasmaCell(final int stacksize){ - return ItemUtils.getItemStackOfAmountFromOreDictNoBroken("cellPlasma"+this.unlocalizedName, stacksize); + return getComponentByPrefix(OrePrefixes.cellPlasma, stacksize); } public final ItemStack getNugget(final int stacksize){ - return ItemUtils.getItemStackOfAmountFromOreDictNoBroken("nugget"+this.unlocalizedName, stacksize); + return getComponentByPrefix(OrePrefixes.nugget, stacksize); } /** @@ -737,31 +935,46 @@ public class Material { 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("??")){ + MaterialStack g = tempInput.get(e); + if (g != null){ + if (g.getStackMaterial() != null){ + + String aChemSymbol = g.getStackMaterial().vChemicalSymbol; + String aChemFormula = g.getStackMaterial().vChemicalFormula; + + if (aChemSymbol == null) { + aChemSymbol = "??"; + } + if (aChemFormula == null) { + aChemFormula = "??"; + } + + if (!aChemSymbol.equals("??")){ if (dummyFormulaArray[e] > 1){ - if (tempInput.get(e).getStackMaterial().vChemicalFormula.length() > 3){ - dummyFormula = dummyFormula + "(" + tempInput.get(e).getStackMaterial().vChemicalFormula + ")" + dummyFormulaArray[e]; + if (aChemFormula.length() > 3){ + dummyFormula = dummyFormula + "(" + aChemFormula + ")" + dummyFormulaArray[e]; } else { - dummyFormula = dummyFormula + tempInput.get(e).getStackMaterial().vChemicalFormula + dummyFormulaArray[e]; + dummyFormula = dummyFormula + aChemFormula + dummyFormulaArray[e]; } } else if (dummyFormulaArray[e] == 1){ - if (tempInput.get(e).getStackMaterial().vChemicalFormula.length() > 3){ - dummyFormula = dummyFormula + "(" +tempInput.get(e).getStackMaterial().vChemicalFormula + ")"; + if (aChemFormula.length() > 3){ + dummyFormula = dummyFormula + "(" +aChemFormula + ")"; } else { - dummyFormula = dummyFormula +tempInput.get(e).getStackMaterial().vChemicalFormula; + dummyFormula = dummyFormula +aChemFormula; } } + else { + dummyFormula = dummyFormula + "??"; + } } else { dummyFormula = dummyFormula + "??"; } } else { - dummyFormula = dummyFormula + "▓▓"; + dummyFormula = dummyFormula + "??"; } } } @@ -884,12 +1097,13 @@ public class Material { return aTest3.getFluid(); } - + ItemStack aFullCell = ItemUtils.getItemStackOfAmountFromOreDictNoBroken("cell"+this.getUnlocalizedName(), 1); Logger.MATERIALS("Generating our own fluid."); //Generate a Cell if we need to - if (ItemUtils.getItemStackOfAmountFromOreDictNoBroken("cell"+this.getUnlocalizedName(), 1) == null){ + if (aFullCell == null){ if (this.vGenerateCells){ - new BaseItemCell(this); + Item g = new BaseItemCell(this); + aFullCell = ItemUtils.getSimpleStack(g); Logger.MATERIALS("Generated a cell for "+this.getUnlocalizedName()); } else { @@ -902,33 +1116,36 @@ public class Material { this.getUnlocalizedName(), "Molten "+this.getLocalizedName(), this.RGBA, - this.materialState.ID(), + 4, this.getMeltingPointK(), - ItemUtils.getItemStackOfAmountFromOreDictNoBroken("cell"+this.getUnlocalizedName(), 1), + aFullCell, ItemUtils.getEmptyCell(), - 1000); + 1000, + this.vGenerateCells); } - else if (this.materialState == MaterialState.LIQUID){ + else if (this.materialState == MaterialState.LIQUID || this.materialState == MaterialState.PURE_LIQUID){ return FluidUtils.addGTFluid( this.getUnlocalizedName(), this.getLocalizedName(), this.RGBA, - this.materialState.ID(), + 0, this.getMeltingPointK(), - ItemUtils.getItemStackOfAmountFromOreDictNoBroken("cell"+this.getUnlocalizedName(), 1), + aFullCell, ItemUtils.getEmptyCell(), - 1000); + 1000, + this.vGenerateCells); } else if (this.materialState == MaterialState.GAS){ return FluidUtils.addGTFluid( this.getUnlocalizedName(), this.getLocalizedName()+" Gas", this.RGBA, - this.materialState.ID(), + 2, this.getMeltingPointK(), - ItemUtils.getItemStackOfAmountFromOreDictNoBroken("cell"+this.getUnlocalizedName(), 1), + aFullCell, ItemUtils.getEmptyCell(), - 1000); + 1000, + this.vGenerateCells); } else { //Plasma return this.generatePlasma(); @@ -971,7 +1188,7 @@ public class Material { final public int calculateMeltingPoint(){ try { - + AutoMap<Integer> aDataSet = new AutoMap<Integer>(); for (MaterialStack m : this.vMaterialInput) { aDataSet.put(m.getStackMaterial().getMeltingPointC()); @@ -986,7 +1203,7 @@ public class Material { final public int calculateBoilingPoint(){ try { - + AutoMap<Integer> aDataSet = new AutoMap<Integer>(); for (MaterialStack m : this.vMaterialInput) { aDataSet.put(m.getStackMaterial().getBoilingPointC()); @@ -1001,7 +1218,7 @@ public class Material { final public long calculateProtons(){ try { - + AutoMap<Long> aDataSet = new AutoMap<Long>(); for (MaterialStack m : this.vMaterialInput) { aDataSet.put(m.getStackMaterial().getProtons()); @@ -1016,7 +1233,7 @@ public class Material { final public long calculateNeutrons(){ try { - + AutoMap<Long> aDataSet = new AutoMap<Long>(); for (MaterialStack m : this.vMaterialInput) { aDataSet.put(m.getStackMaterial().getNeutrons()); diff --git a/src/Java/gtPlusPlus/core/material/MaterialGenerator.java b/src/Java/gtPlusPlus/core/material/MaterialGenerator.java index 01353a71d9..4ed8f4ceb3 100644 --- a/src/Java/gtPlusPlus/core/material/MaterialGenerator.java +++ b/src/Java/gtPlusPlus/core/material/MaterialGenerator.java @@ -15,8 +15,11 @@ import gtPlusPlus.api.objects.data.AutoMap; import gtPlusPlus.core.block.base.BasicBlock.BlockTypes; import gtPlusPlus.core.block.base.BlockBaseModular; import gtPlusPlus.core.block.base.BlockBaseOre; +import gtPlusPlus.core.item.base.BaseItemComponent; +import gtPlusPlus.core.item.base.BaseItemComponent.ComponentTypes; import gtPlusPlus.core.item.base.bolts.BaseItemBolt; import gtPlusPlus.core.item.base.dusts.BaseItemDust; +import gtPlusPlus.core.item.base.dusts.BaseItemDust.DustState; import gtPlusPlus.core.item.base.gears.BaseItemGear; import gtPlusPlus.core.item.base.ingots.BaseItemIngot; import gtPlusPlus.core.item.base.ingots.BaseItemIngotHot; @@ -105,12 +108,10 @@ public class MaterialGenerator { if (matInfo.getState() == MaterialState.SOLID){ if (generateEverything == true){ if (sRadiation >= 1){ - tempBlock = new BlockBaseModular(unlocalizedName, materialName,BlockTypes.STANDARD, Colour); + tempBlock = new BlockBaseModular(matInfo,BlockTypes.STANDARD); temp = new BaseItemIngot(matInfo); - temp = new BaseItemDust("itemDust"+unlocalizedName, materialName, matInfo, Colour, "Dust", materialTier); - temp = new BaseItemDust("itemDustTiny"+unlocalizedName, materialName, matInfo, Colour, "Tiny", materialTier); - temp = new BaseItemDust("itemDustSmall"+unlocalizedName, materialName, matInfo, Colour, "Small", materialTier); + temp = new BaseItemDust(matInfo); temp = new BaseItemNugget(matInfo); temp = new BaseItemPlate(matInfo); temp = new BaseItemRod(matInfo); @@ -118,15 +119,13 @@ public class MaterialGenerator { } else { - tempBlock = new BlockBaseModular(unlocalizedName, materialName,BlockTypes.STANDARD, Colour); - tempBlock = new BlockBaseModular(unlocalizedName, materialName,BlockTypes.FRAME, Colour); + tempBlock = new BlockBaseModular(matInfo,BlockTypes.STANDARD); + tempBlock = new BlockBaseModular(matInfo,BlockTypes.FRAME); temp = new BaseItemIngot(matInfo); if (hotIngot){ temp = new BaseItemIngotHot(matInfo); } - temp = new BaseItemDust("itemDust"+unlocalizedName, materialName, matInfo, Colour, "Dust", materialTier); - temp = new BaseItemDust("itemDustTiny"+unlocalizedName, materialName, matInfo, Colour, "Tiny", materialTier); - temp = new BaseItemDust("itemDustSmall"+unlocalizedName, materialName, matInfo, Colour, "Small", materialTier); + temp = new BaseItemDust(matInfo); temp = new BaseItemNugget(matInfo); temp = new BaseItemPlate(matInfo); temp = new BaseItemPlateDouble(matInfo); @@ -139,12 +138,10 @@ public class MaterialGenerator { temp = new BaseItemGear(matInfo); } } else { - tempBlock = new BlockBaseModular(unlocalizedName, materialName,BlockTypes.STANDARD, Colour); + tempBlock = new BlockBaseModular(matInfo,BlockTypes.STANDARD); temp = new BaseItemIngot(matInfo); - temp = new BaseItemDust("itemDust"+unlocalizedName, materialName, matInfo, Colour, "Dust", materialTier); - temp = new BaseItemDust("itemDustTiny"+unlocalizedName, materialName, matInfo, Colour, "Tiny", materialTier); - temp = new BaseItemDust("itemDustSmall"+unlocalizedName, materialName, matInfo, Colour, "Small", materialTier); + temp = new BaseItemDust(matInfo); temp = new BaseItemNugget(matInfo); temp = new BaseItemPlate(matInfo); temp = new BaseItemPlateDouble(matInfo); @@ -152,16 +149,18 @@ public class MaterialGenerator { } else if (matInfo.getState() == MaterialState.LIQUID){ if (generateEverything == true){ - tempBlock = new BlockBaseModular(unlocalizedName, materialName,BlockTypes.STANDARD, Colour); + tempBlock = new BlockBaseModular(matInfo,BlockTypes.STANDARD); } temp = new BaseItemIngot(matInfo); - temp = new BaseItemDust("itemDust"+unlocalizedName, materialName, matInfo, Colour, "Dust", materialTier); - temp = new BaseItemDust("itemDustTiny"+unlocalizedName, materialName, matInfo, Colour, "Tiny", materialTier); - temp = new BaseItemDust("itemDustSmall"+unlocalizedName, materialName, matInfo, Colour, "Small", materialTier); + temp = new BaseItemDust(matInfo); temp = new BaseItemNugget(matInfo); temp = new BaseItemPlate(matInfo); temp = new BaseItemPlateDouble(matInfo); } + else if (matInfo.getState() == MaterialState.GAS){ + temp = new BaseItemDust(matInfo); + FluidUtils.generateGas(unlocalizedName, materialName, matInfo.getMeltingPointK(), C, true); + } else if (matInfo.getState() == MaterialState.PURE_LIQUID){ FluidUtils.generateFluidNoPrefix(unlocalizedName, materialName, matInfo.getMeltingPointK(), C); return true; @@ -211,9 +210,7 @@ public class MaterialGenerator { } if (matInfo.getState() == MaterialState.SOLID){ - temp = new BaseItemDust("itemDust"+unlocalizedName, materialName, matInfo, Colour, "Dust", materialTier, false); - temp = new BaseItemDust("itemDustTiny"+unlocalizedName, materialName, matInfo, Colour, "Tiny", materialTier, false); - temp = new BaseItemDust("itemDustSmall"+unlocalizedName, materialName, matInfo, Colour, "Small", materialTier, false); + temp = new BaseItemDust(matInfo); } //Add A jillion Recipes - old code @@ -246,11 +243,8 @@ public class MaterialGenerator { sRadiation = matInfo.vRadiationLevel; } - tempBlock = new BlockBaseModular(unlocalizedName, materialName,BlockTypes.STANDARD, Colour); - temp = new BaseItemDust("itemDust"+unlocalizedName, materialName, matInfo, Colour, "Dust", 3); - temp = new BaseItemDust("itemDustTiny"+unlocalizedName, materialName, matInfo, Colour, "Tiny", 2); - temp = new BaseItemDust("itemDustSmall"+unlocalizedName, materialName, matInfo, Colour, "Small", 1); - + tempBlock = new BlockBaseModular(matInfo,BlockTypes.STANDARD); + temp = new BaseItemDust(matInfo); temp = new BaseItemIngot(matInfo); temp = new BaseItemNugget(matInfo); @@ -307,12 +301,18 @@ public class MaterialGenerator { tempBlock = new BlockBaseOre(matInfo, BlockTypes.ORE, Colour.intValue()); } - if (generateDust) { - temp = new BaseItemDust("itemDust"+unlocalizedName, materialName, matInfo, Colour, "Dust", matInfo.vTier, false); + DustState aState = new DustState(generateDust, generateSmallTinyDusts, generateSmallTinyDusts); + + if (!aState.generatesDust()) { + if (aState.generatesSmallDust()) { + temp = new BaseItemComponent(matInfo, ComponentTypes.DUSTSMALL); + } + if (aState.generatesTinyDust()) { + temp = new BaseItemComponent(matInfo, ComponentTypes.DUSTTINY); + } } - if (generateSmallTinyDusts) { - temp = new BaseItemDust("itemDustTiny"+unlocalizedName, materialName, matInfo, Colour, "Tiny", matInfo.vTier, false); - temp = new BaseItemDust("itemDustSmall"+unlocalizedName, materialName, matInfo, Colour, "Small", matInfo.vTier, false); + else { + temp = new BaseItemDust(aState, matInfo); } temp = new BaseItemCrushedOre(matInfo); diff --git a/src/Java/gtPlusPlus/core/material/NONMATERIAL.java b/src/Java/gtPlusPlus/core/material/NONMATERIAL.java index f0a7716199..4da34ae16c 100644 --- a/src/Java/gtPlusPlus/core/material/NONMATERIAL.java +++ b/src/Java/gtPlusPlus/core/material/NONMATERIAL.java @@ -1,7 +1,7 @@ package gtPlusPlus.core.material; import gregtech.api.enums.Materials; - +import gregtech.api.enums.TextureSet; import gtPlusPlus.core.util.minecraft.MaterialUtils; public class NONMATERIAL { @@ -14,9 +14,27 @@ public class NONMATERIAL { //Glowstone Dust public static final Material GLOWSTONE = MaterialUtils.generateMaterialFromGtENUM(Materials.Glowstone); - + //Enderpearl public static final Material ENDERPEARL = MaterialUtils.generateMaterialFromGtENUM(Materials.EnderPearl); + + //Raw Flesh + public static final Material MEAT = MaterialUtils.generateMaterialFromGtENUM(Materials.MeatRaw); + + //Clay + public static final Material CLAY = MaterialUtils.generateMaterialFromGtENUM(Materials.Clay); + + //Wrought Iron + public static final Material WROUGHT_IRON = MaterialUtils.generateMaterialFromGtENUM(Materials.WroughtIron); + + + + + static { + MEAT.setTextureSet(TextureSet.SET_ROUGH); + CLAY.setTextureSet(TextureSet.SET_ROUGH); + } + } diff --git a/src/Java/gtPlusPlus/core/material/ORES.java b/src/Java/gtPlusPlus/core/material/ORES.java index 75d6da07fe..a99cdc476d 100644 --- a/src/Java/gtPlusPlus/core/material/ORES.java +++ b/src/Java/gtPlusPlus/core/material/ORES.java @@ -1,7 +1,7 @@ package gtPlusPlus.core.material; import gregtech.api.enums.TextureSet; - +import gtPlusPlus.core.client.CustomTextureSet.TextureSets; import gtPlusPlus.core.material.state.MaterialState; public final class ORES { @@ -9,7 +9,7 @@ public final class ORES { public static final Material GEIKIELITE = new Material( "Geikielite", //Material Name MaterialState.ORE, //State - TextureSet.SET_GEM_HORIZONTAL, //Texture Set + TextureSets.GEM_A.get(), //Texture Set new short[]{187, 193, 204, 0}, //Material Colour 500, 1500, @@ -133,7 +133,7 @@ public final class ORES { public static final Material SAMARSKITE_Y = new Material( "Samarskite (Y)", //Material Name MaterialState.ORE, //State - TextureSet.SET_FINE, //Texture Set + TextureSets.ENRICHED.get(), //Texture Set new short[]{65, 163, 164, 0}, //Material Colour 500, 1500, @@ -153,7 +153,7 @@ public final class ORES { public static final Material SAMARSKITE_YB = new Material( "Samarskite (Yb)", //Material Name MaterialState.ORE, //State - TextureSet.SET_FINE, //Texture Set + TextureSets.ENRICHED.get(), //Texture Set new short[]{95, 193, 194, 0}, //Material Colour 500, 1500, @@ -172,7 +172,7 @@ public final class ORES { public static final Material ZIRCON = new Material( "Zircon", //Material Name MaterialState.ORE, //State - TextureSet.SET_GEM_VERTICAL, //Texture Set + TextureSets.GEM_A.get(), //Texture Set new short[]{195, 19, 19, 0}, //Material Colour 500, 1500, @@ -189,7 +189,7 @@ public final class ORES { public static final Material GADOLINITE_CE = new Material( "Gadolinite (Ce)", //Material Name MaterialState.ORE, //State - TextureSet.SET_FINE, //Texture Set + TextureSets.REFINED.get(), //Texture Set new short[]{15, 159, 59, 0}, //Material Colour 500, 1500, @@ -211,7 +211,7 @@ public final class ORES { public static final Material GADOLINITE_Y = new Material( "Gadolinite (Y)", //Material Name MaterialState.ORE, //State - TextureSet.SET_FINE, //Texture Set + TextureSets.REFINED.get(), //Texture Set new short[]{35, 189, 99, 0}, //Material Colour 500, 1500, @@ -323,7 +323,7 @@ public final class ORES { public static final Material ZIRCOPHYLLITE = new Material( "Zircophyllite", //Material Name MaterialState.ORE, //State - TextureSet.SET_FIERY, //Texture Set + TextureSets.REFINED.get(), //Texture Set new short[]{30, 0, 6, 0}, //Material Colour 500, 1500, @@ -346,7 +346,7 @@ public final class ORES { public static final Material ZIRKELITE = new Material( "Zirkelite", //Material Name MaterialState.ORE, //State - TextureSet.SET_GEM_HORIZONTAL, //Texture Set + TextureSets.GEM_A.get(), //Texture Set new short[]{229, 208, 48, 0}, //Material Colour 500, 1500, @@ -366,7 +366,7 @@ public final class ORES { public static final Material LANTHANITE_LA = new Material( "Lanthanite (La)", //Material Name MaterialState.ORE, //State - TextureSet.SET_METALLIC, //Texture Set + TextureSets.REFINED.get(), //Texture Set new short[]{219, 160, 214, 0}, //Material Colour 500, 1500, @@ -439,7 +439,7 @@ public final class ORES { public static final Material CERITE = new Material( "Cerite", //Material Name MaterialState.ORE, //State - TextureSet.SET_METALLIC, //Texture Set + TextureSets.REFINED.get(), //Texture Set new short[]{68, 13, 0, 0}, //Material Colour 500, 1500, @@ -608,7 +608,7 @@ public final class ORES { public static final Material LAFOSSAITE = new Material( "Lafossaite", //Material Name MaterialState.ORE, //State - TextureSet.SET_METALLIC, //Texture Set + TextureSets.REFINED.get(), //Texture Set new short[]{165, 105, 205, 0}, //Material Colour 500, 1500, @@ -644,7 +644,7 @@ public final class ORES { public static final Material COMANCHEITE = new Material( "Comancheite", //Material Name MaterialState.ORE, //State - TextureSet.SET_FINE, //Texture Set + TextureSets.REFINED.get(), //Texture Set new short[]{65, 205, 105, 0}, //Material Colour 500, 1500, @@ -759,7 +759,7 @@ public final class ORES { public static final Material IRARSITE = new Material( "Irarsite", //Material Name MaterialState.ORE, //State - TextureSet.SET_FIERY, //Texture Set + TextureSets.ENRICHED.get(), //Texture Set new short[]{125, 105, 105, 0}, //Material Colour 500, 1500, |