aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/core/material
diff options
context:
space:
mode:
authorAlkalus <3060479+draknyte1@users.noreply.github.com>2018-11-01 14:58:08 +0000
committerAlkalus <3060479+draknyte1@users.noreply.github.com>2018-11-01 14:58:08 +0000
commit2855aaffb538f5dae1fcbbbd051bfb4e3a5951c8 (patch)
tree140a276269b08386d24b35bf738d774b3079349d /src/Java/gtPlusPlus/core/material
parent1b5aaa09e22baa1f09d0777d1465fd61c2a810b4 (diff)
downloadGT5-Unofficial-2855aaffb538f5dae1fcbbbd051bfb4e3a5951c8.tar.gz
GT5-Unofficial-2855aaffb538f5dae1fcbbbd051bfb4e3a5951c8.tar.bz2
GT5-Unofficial-2855aaffb538f5dae1fcbbbd051bfb4e3a5951c8.zip
+ Added new Radioactive ore.
+ Added Custom Nuclear Texture Set. % More material work. $ Fixed issue allowing Multiblocks to have > 1 Control Core Hatch. $ Fixed Broken Ore texture for ENRICHED TextureSet. $ Fixed a few fluid recipes broken in the refactor.
Diffstat (limited to 'src/Java/gtPlusPlus/core/material')
-rw-r--r--src/Java/gtPlusPlus/core/material/ALLOY.java42
-rw-r--r--src/Java/gtPlusPlus/core/material/ELEMENT.java55
-rw-r--r--src/Java/gtPlusPlus/core/material/Material.java221
-rw-r--r--src/Java/gtPlusPlus/core/material/ORES.java509
-rw-r--r--src/Java/gtPlusPlus/core/material/nuclear/FLUORIDES.java148
-rw-r--r--src/Java/gtPlusPlus/core/material/nuclear/NUCLIDE.java30
6 files changed, 602 insertions, 403 deletions
diff --git a/src/Java/gtPlusPlus/core/material/ALLOY.java b/src/Java/gtPlusPlus/core/material/ALLOY.java
index 53f778455c..f52856b824 100644
--- a/src/Java/gtPlusPlus/core/material/ALLOY.java
+++ b/src/Java/gtPlusPlus/core/material/ALLOY.java
@@ -212,7 +212,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
+ null, //Material Colour
2413, //Melting Point in C
4555,
-1,
@@ -230,7 +230,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
+ null, //Material Colour
2413, //Melting Point in C
4555,
-1,
@@ -248,7 +248,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
+ null, //Material Colour
2413, //Melting Point in C
4555,
-1,
@@ -266,7 +266,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
+ null, //Material Colour
4310, //Melting Point in C
6250,
-1,
@@ -283,7 +283,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
+ null, //Material Colour
3454, //Melting Point in C
5500,
-1,
@@ -300,7 +300,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
+ null, //Material Colour
3350, //Melting Point in C
5755,
-1,
@@ -318,7 +318,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
+ null, //Material Colour
3350, //Melting Point in C
5755,
-1,
@@ -337,7 +337,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
+ null, //Material Colour
4350, //Melting Point in C
6875,
-1,
@@ -355,7 +355,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
+ null, //Material Colour
4350, //Melting Point in C
6520,
-1,
@@ -374,7 +374,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
+ null, //Material Colour
3425, //Melting Point in C
5420,
-1,
@@ -391,7 +391,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
+ null, //Material Colour
3425, //Melting Point in C
5420,
-1,
@@ -408,7 +408,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
+ null, //Material Colour
4425, //Melting Point in C
6875,
-1,
@@ -523,7 +523,7 @@ public final class ALLOY {
public static final Material EGLIN_STEEL_BASE = new Material(
"Eglin Steel Base Compound", //Material Name
MaterialState.SOLID, //State
- new short[]{139,69,19, 0}, //Material Colour
+ null, //Material Colour
-1, //Melting Point in C
-1, //Boiling Point in C
-1,
@@ -579,7 +579,7 @@ public final class ALLOY {
public static final Material TRINIUM_TITANIUM = new Material(
"Trinium Titanium Alloy", //Material Name
MaterialState.SOLID, //State
- new short[]{239,210,200, 0}, //Material Colour
+ null, //Material Colour
3750, //Melting Point in C
7210, //Boiling Point in C
-1,
@@ -592,7 +592,7 @@ public final class ALLOY {
public static final Material TRINIUM_NAQUADAH = new Material(
"Trinium Naquadah Alloy", //Material Name
MaterialState.SOLID, //State
- new short[]{255, 243, 117, 0}, //Material Colour
+ null, //Material Colour
4200, //Melting Point in C
7400, //Boiling Point in C
-1,
@@ -605,7 +605,7 @@ public final class ALLOY {
public static final Material TRINIUM_NAQUADAH_CARBON = new Material(
"Trinium Naquadah Carbonite", //Material Name
MaterialState.SOLID, //State
- new short[]{255, 233, 0, 0}, //Material Colour
+ null, //Material Colour
6500, //Melting Point in C
9000, //Boiling Point in C
-1,
@@ -645,7 +645,7 @@ public final class ALLOY {
public static final Material LAFIUM = new Material(
"Lafium Compound", //Material Name
MaterialState.SOLID, //State
- new short[]{75,180,255, 0}, //Material Colour
+ null, //Material Colour
6750, //Melting Point in C
9865, //Boiling Point in C
-1,
@@ -667,7 +667,7 @@ public final class ALLOY {
public static final Material CINOBITE = new Material(
"Cinobite A243", //Material Name
MaterialState.SOLID, //State
- new short[]{255,75,45, 0}, //Material Colour
+ null, //Material Colour
7350, //Melting Point in C
12565, //Boiling Point in C
-1,
@@ -689,7 +689,7 @@ public final class ALLOY {
public static final Material PIKYONIUM = new Material(
"Pikyonium 64B", //Material Name
MaterialState.SOLID, //State
- new short[]{110,255,20, 0}, //Material Colour
+ null, //Material Colour
7850, //Melting Point in C
11765, //Boiling Point in C
-1,
@@ -711,7 +711,7 @@ public final class ALLOY {
public static final Material ABYSSAL = new Material(
"Abyssal Alloy", //Material Name
MaterialState.SOLID, //State
- new short[]{85,0,85, 0}, //Material Colour
+ null, //Material Colour
9650, //Melting Point in C
13765, //Boiling Point in C
-1,
@@ -733,7 +733,7 @@ public final class ALLOY {
public static final Material QUANTUM = new Material(
"Quantum", //Material Name
MaterialState.SOLID, //State
- new short[]{128, 128, 255, 50}, //Material Colour
+ null, //Material Colour
9500, //Melting Point in C
25000, //Boiling Point in C
150, //Protons
diff --git a/src/Java/gtPlusPlus/core/material/ELEMENT.java b/src/Java/gtPlusPlus/core/material/ELEMENT.java
index 5ff593da3f..675b04c14f 100644
--- a/src/Java/gtPlusPlus/core/material/ELEMENT.java
+++ b/src/Java/gtPlusPlus/core/material/ELEMENT.java
@@ -3,6 +3,7 @@ package gtPlusPlus.core.material;
import gregtech.api.enums.Materials;
import gregtech.api.enums.TextureSet;
import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.core.client.CustomTextureSet.TextureSets;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.material.state.MaterialState;
import gtPlusPlus.core.util.data.StringUtils;
@@ -53,7 +54,7 @@ public final class ELEMENT {
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, new short[]{220, 220, 220}, 2200, 4877, 43, 55, false, "Tc", 2);//Not a GT Inherited Material
+ public final Material TECHNETIUM = new Material("Technetium", MaterialState.SOLID, TextureSets.NUCLEAR.get(), 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);
@@ -96,34 +97,34 @@ public final class ELEMENT {
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, 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 POLONIUM = new Material("Polonium", MaterialState.SOLID, TextureSets.NUCLEAR.get(), 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, TextureSets.NUCLEAR.get(), 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, 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 FRANCIUM = new Material("Francium", MaterialState.SOLID, TextureSets.NUCLEAR.get(), 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, TextureSets.NUCLEAR.get(), 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, TextureSets.NUCLEAR.get(), 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 PROTACTINIUM = new Material("Protactinium", MaterialState.SOLID, TextureSets.NUCLEAR.get(), 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, 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, TextureSets.NUCLEAR.get(), 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, 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
+ public final Material CURIUM = new Material("Curium", MaterialState.SOLID, TextureSets.NUCLEAR.get(), 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, TextureSets.NUCLEAR.get(), 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, TextureSets.NUCLEAR.get(), 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, TextureSets.NUCLEAR.get(), 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, TextureSets.NUCLEAR.get(), 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);
- public final Material IGNIS = MaterialUtils.generateMaterialFromGtENUM(Materials.InfusedFire);
- public final Material TERRA = MaterialUtils.generateMaterialFromGtENUM(Materials.InfusedEarth);
- public final Material AQUA = MaterialUtils.generateMaterialFromGtENUM(Materials.InfusedWater);
+ public final Material AER = MaterialUtils.generateMaterialFromGtENUM(Materials.InfusedAir, TextureSets.GEM_A.get());
+ public final Material IGNIS = MaterialUtils.generateMaterialFromGtENUM(Materials.InfusedFire, TextureSets.GEM_A.get());
+ public final Material TERRA = MaterialUtils.generateMaterialFromGtENUM(Materials.InfusedEarth, TextureSets.GEM_A.get());
+ public final Material AQUA = MaterialUtils.generateMaterialFromGtENUM(Materials.InfusedWater, TextureSets.GEM_A.get());
//Fictional
- public final Material YELLORIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Yellorium, new short[] {255, 242, 10});
+ public final Material YELLORIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Yellorium, new short[] {255, 242, 10}, TextureSets.NUCLEAR.get());
public final Material NAQUADAH = MaterialUtils.generateMaterialFromGtENUM(Materials.Naquadah);
public final Material NAQUADAH_ENRICHED = MaterialUtils.generateMaterialFromGtENUM(Materials.NaquadahEnriched);
public final Material NAQUADRIA = MaterialUtils.generateMaterialFromGtENUM(Materials.Naquadria);
@@ -134,15 +135,15 @@ public final class ELEMENT {
//Custom Isotopes
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
+ public final Material URANIUM232 = new Material("Uranium 232", MaterialState.SOLID, TextureSets.NUCLEAR.get(), 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, TextureSets.NUCLEAR.get(), 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, TextureSets.NUCLEAR.get(), 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, TextureSets.NUCLEAR.get(), 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
- public final Material STRONTIUM90 = new Material("Strontium-90", MaterialState.SOLID, Materials.Strontium.mIconSet, Materials.Strontium.mDurability, Materials.Strontium.mRGBa, Materials.Strontium.mMeltingPoint, Materials.Strontium.mBlastFurnaceTemp, 38, 52, false, StringUtils.superscript("90Sr"), 2, false);//Not a GT Inherited Material
- public final Material POLONIUM210 = new Material("Polonium-210", MaterialState.SOLID, Materials.Plutonium241.mIconSet, POLONIUM.vDurability, POLONIUM.getRGBA(), POLONIUM.getMeltingPointK(), POLONIUM.getBoilingPointK(), 84, 126, false, StringUtils.superscript("210Po"), 2, false);//Not a GT Inherited Material
- public final Material AMERICIUM241 = new Material("Americium-241", MaterialState.SOLID, Materials.Americium.mIconSet, Materials.Americium.mDurability, Materials.Americium.mRGBa, Materials.Americium.mMeltingPoint, Materials.Americium.mBlastFurnaceTemp, 95, 146, false, StringUtils.superscript("241Am"), 2, false);//Not a GT Inherited Material
+ public final Material PLUTONIUM238 = new Material("Plutonium-238", MaterialState.SOLID, TextureSets.NUCLEAR.get(), 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
+ public final Material STRONTIUM90 = new Material("Strontium-90", MaterialState.SOLID, TextureSets.NUCLEAR.get(), Materials.Strontium.mDurability, Materials.Strontium.mRGBa, Materials.Strontium.mMeltingPoint, Materials.Strontium.mBlastFurnaceTemp, 38, 52, false, StringUtils.superscript("90Sr"), 2, false);//Not a GT Inherited Material
+ public final Material POLONIUM210 = new Material("Polonium-210", MaterialState.SOLID, TextureSets.NUCLEAR.get(), POLONIUM.vDurability, POLONIUM.getRGBA(), POLONIUM.getMeltingPointK(), POLONIUM.getBoilingPointK(), 84, 126, false, StringUtils.superscript("210Po"), 2, false);//Not a GT Inherited Material
+ public final Material AMERICIUM241 = new Material("Americium-241", MaterialState.SOLID, TextureSets.NUCLEAR.get(), Materials.Americium.mDurability, Materials.Americium.mRGBa, Materials.Americium.mMeltingPoint, Materials.Americium.mBlastFurnaceTemp, 95, 146, false, StringUtils.superscript("241Am"), 2, false);//Not a GT Inherited Material
public final Material MAGIC = MaterialUtils.generateMaterialFromGtENUM(Materials.Magic, new short[] {10, 185, 140});
public final Material THAUMIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Thaumium);
@@ -194,7 +195,7 @@ public final class ELEMENT {
}
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
+ TRINIUM_REFINED = new Material("Refined Trinium", MaterialState.SOLID, TextureSets.REFINED.get(), new short[]{210, 255, 170}, 4304, 14057, 181, 133, false, "Ke", 0, new MaterialStack[]{new MaterialStack(TRINIUM, 1)});//Not a GT Inherited Material
}
}
diff --git a/src/Java/gtPlusPlus/core/material/Material.java b/src/Java/gtPlusPlus/core/material/Material.java
index e5cacfdce7..c863da8064 100644
--- a/src/Java/gtPlusPlus/core/material/Material.java
+++ b/src/Java/gtPlusPlus/core/material/Material.java
@@ -5,8 +5,11 @@ import static gregtech.api.enums.GT_Values.M;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
import java.util.Map;
import java.util.Set;
+import java.util.concurrent.ConcurrentSkipListSet;
import net.minecraft.block.Block;
import net.minecraft.init.Blocks;
@@ -34,8 +37,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>>();
+
+ public static final Map<String, Map<String, ItemStack>> mComponentMap = new HashMap<String, Map<String, ItemStack>>();
private String unlocalizedName;
private String localizedName;
@@ -117,7 +120,7 @@ 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);
}
@@ -134,13 +137,17 @@ public class Material {
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){
+ public Material(final String materialName, final MaterialState defaultState, final TextureSet set, final long durability, 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)) {
}
+
+ if (defaultState == MaterialState.ORE) {
+ rgba = null;
+ }
- mComponentMap.put(unlocalizedName, new HashMap<String, BaseItemComponent>());
+ mComponentMap.put(unlocalizedName, new HashMap<String, ItemStack>());
try {
this.unlocalizedName = Utils.sanitizeString(materialName);
@@ -150,7 +157,6 @@ public class Material {
Logger.MATERIALS(this.getLocalizedName()+" is "+defaultState.name()+".");
- this.RGBA = rgba;
this.vGenerateCells = generateCells;
//Add Components to an array.
@@ -167,6 +173,103 @@ public class Material {
}
}
+ //set RGB
+
+ if (rgba == null) {
+ if (vMaterialInput.size() > 0) {
+
+ try {
+ Short[] mMixedRGB = new Short[3];
+ AutoMap<Material> mMaterialSet = MaterialUtils.getCompoundMaterialsRecursively(this);
+ for (int mnh = 0; mnh < 3; mnh++) {
+ AutoMap<Short> aDataSet = new AutoMap<Short>();
+ Set<Material> set4 = new HashSet<Material>();
+ for (Material u : mMaterialSet) {
+ //if (u.getState() == MaterialState.ORE || u.getState() == MaterialState.SOLID)
+ set4.add(u);
+ }
+ for(Material e : set4){
+ aDataSet.put(e.getRGB()[mnh]);
+ }
+
+ Short aAverage = MathUtils.getShortAverage(aDataSet);
+ if (aAverage > Short.MAX_VALUE || aAverage < Short.MIN_VALUE || aAverage < 0 || aAverage > 255) {
+ if (aAverage > 255) {
+ while (aAverage > 255) {
+ aAverage = (short) (aAverage/2);
+ }
+ }
+ aAverage = (short) Math.max(Math.min(aAverage, 255), 0);
+ }
+ mMixedRGB[mnh] = aAverage;
+ }
+
+ if (mMixedRGB != null && mMixedRGB[0] != null && mMixedRGB[1] != null && mMixedRGB[2] != null) {
+ this.RGBA = new short[] {mMixedRGB[0], mMixedRGB[1], mMixedRGB[2], 0};
+ }
+ else {
+ this.RGBA = Materials.Steel.mRGBa;
+ }
+ }
+ catch (Throwable t) {
+ t.printStackTrace();
+ this.RGBA = Materials.Steel.mRGBa;
+ }
+ }
+ else {
+ //Boring Grey Material
+
+ int aValueForGen = this.getUnlocalizedName().hashCode();
+ int hashSize = MathUtils.howManyPlaces(aValueForGen);
+
+ String a = String.valueOf(aValueForGen);
+ String b = null;
+
+ if (hashSize < 9) {
+ int aSecondHash = this.materialState.hashCode();
+ int hashSize2 = MathUtils.howManyPlaces(aSecondHash);
+ if (hashSize2 + hashSize >= 9) {
+ b = String.valueOf(aValueForGen);
+ }
+ else {
+ String c = b;
+ while (MathUtils.howManyPlaces(hashSize + c.length()) < 9) {
+ c = c + c.hashCode();
+ }
+ b = c;
+ }
+ }
+
+ String valueR;
+ if (b != null) {
+ valueR = a+b;
+ }
+ else {
+ valueR = a;
+ }
+ short fc[] = new short[3];
+ int aIndex = 0;
+ for (char gg : valueR.toCharArray()) {
+ short ui = Short.parseShort(""+gg);
+ if (ui > 255 || ui < 0) {
+ if (ui > 255) {
+ while (ui > 255) {
+ ui = (short) (ui / 2);
+ }
+ }
+ else {
+ ui = 0;
+ }
+ }
+ fc[aIndex++] = ui;
+
+ }
+ this.RGBA = fc;
+ }
+ }
+ else {
+ this.RGBA = rgba;
+ }
//Set Melting/Boiling point, if value is -1 calculate it from compound inputs.
if (meltingPoint != -1){
@@ -300,15 +403,15 @@ 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);
}
@@ -326,8 +429,8 @@ public class Material {
else {
this.vTier = MaterialUtils.getTierOfMaterial((int) MathUtils.celsiusToKelvin(meltingPoint));
}
-
-
+
+
//Sets the materials 'tier'. Will probably replace this logic.
this.usesBlastFurnace = blastFurnace;
@@ -413,6 +516,7 @@ public class Material {
Logger.MATERIALS("Boiling Point: "+this.boilingPointC+"C.");
}
catch (Throwable t){
+ Logger.MATERIALS("Stack Trace for "+materialName);
t.printStackTrace();
}
}
@@ -432,7 +536,7 @@ public class Material {
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.");
@@ -462,9 +566,6 @@ public class Material {
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++;
@@ -520,66 +621,26 @@ public class Material {
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 {
- 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")) {
- sets.put(ELEMENT.getInstance().GOLD);
- }
- else {
- sets.put(r.getStackMaterial());
- }
+ if (this.vMaterialInput != null) {
+ for (MaterialStack r : this.vMaterialInput) {
+ if (r.getStackMaterial().getTextureSet().mSetName.toLowerCase().contains("fluid")) {
+ sets.put(ELEMENT.getInstance().GOLD);
}
- 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;
+ else {
+ sets.put(r.getStackMaterial());
}
- }
+ }
+ 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.Gold.mIconSet;
-
-
-
}
public final String getLocalizedName(){
@@ -659,21 +720,24 @@ 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);
+ Map<String, ItemStack> g = mComponentMap.get(this.unlocalizedName);
if (g == null) {
- Map<String, BaseItemComponent> aMap = new HashMap<String, BaseItemComponent>();
+ Map<String, ItemStack> aMap = new HashMap<String, ItemStack>();
mComponentMap.put(unlocalizedName, aMap);
g = aMap;
}
- Item i = g.get(aPrefix.name());
+ ItemStack i = g.get(aPrefix.name());
if (i != null) {
return ItemUtils.getSimpleStack(i, stacksize);
}
else {
ItemStack u = ItemUtils.getItemStackOfAmountFromOreDictNoBroken(aPrefix.name()+this.unlocalizedName, stacksize);
+ String aKey = aPrefix.name();
if (u != null) {
+ g.put(aKey, u);
+ mComponentMap.put(unlocalizedName, g);
return u;
}
else {
@@ -1188,15 +1252,15 @@ public class Material {
final public int calculateMeltingPoint(){
try {
-
AutoMap<Integer> aDataSet = new AutoMap<Integer>();
for (MaterialStack m : this.vMaterialInput) {
aDataSet.put(m.getStackMaterial().getMeltingPointC());
}
- long aAverage = MathUtils.getLongAverage(aDataSet);
+ long aAverage = MathUtils.getIntAverage(aDataSet);
return MathUtils.safeInt(aAverage);
}
catch (Throwable r){
+ r.printStackTrace();
return 500;
}
}
@@ -1208,10 +1272,11 @@ public class Material {
for (MaterialStack m : this.vMaterialInput) {
aDataSet.put(m.getStackMaterial().getBoilingPointC());
}
- long aAverage = MathUtils.getLongAverage(aDataSet);
+ long aAverage = MathUtils.getIntAverage(aDataSet);
return MathUtils.safeInt(aAverage);
}
catch (Throwable r){
+ r.printStackTrace();
return 2500;
}
}
@@ -1227,6 +1292,7 @@ public class Material {
return MathUtils.safeInt(aAverage);
}
catch (Throwable r){
+ r.printStackTrace();
return 50;
}
}
@@ -1242,6 +1308,7 @@ public class Material {
return MathUtils.safeInt(aAverage);
}
catch (Throwable r){
+ r.printStackTrace();
return 75;
}
}
diff --git a/src/Java/gtPlusPlus/core/material/ORES.java b/src/Java/gtPlusPlus/core/material/ORES.java
index a99cdc476d..d8ac82d724 100644
--- a/src/Java/gtPlusPlus/core/material/ORES.java
+++ b/src/Java/gtPlusPlus/core/material/ORES.java
@@ -11,11 +11,13 @@ public final class ORES {
MaterialState.ORE, //State
TextureSets.GEM_A.get(), //Texture Set
new short[]{187, 193, 204, 0}, //Material Colour
- 500,
- 1500,
- 50,
- 75,
- 0, //Radiation
+ -1,
+ -1,
+ -1,
+ -1,
+ false,
+ "(IrRuRhPt)SAs",
+ -1, //Radiation
new MaterialStack[]{
new MaterialStack(ELEMENT.getInstance().MAGNESIUM, 1),
new MaterialStack(ELEMENT.getInstance().TITANIUM, 1),
@@ -27,11 +29,13 @@ public final class ORES {
MaterialState.ORE, //State
TextureSet.SET_FINE, //Texture Set
new short[]{193, 187, 131, 0}, //Material Colour
- 500,
- 1500,
- 50,
- 75,
- 0, //Radiation
+ -1,
+ -1,
+ -1,
+ -1,
+ false,
+ "(IrRuRhPt)SAs",
+ -1, //Radiation
new MaterialStack[]{
new MaterialStack(ELEMENT.getInstance().CALCIUM, 2),
new MaterialStack(ELEMENT.getInstance().POTASSIUM, 2),
@@ -48,11 +52,13 @@ public final class ORES {
MaterialState.ORE, //State
TextureSet.SET_METALLIC, //Texture Set
new short[]{184, 198, 105, 0}, //Material Colour
- 500,
- 1500,
- 50,
- 75,
- 0, //Radiation
+ -1,
+ -1,
+ -1,
+ -1,
+ false,
+ "(IrRuRhPt)SAs",
+ -1, //Radiation
new MaterialStack[]{
new MaterialStack(ELEMENT.getInstance().CALCIUM, 2),
new MaterialStack(ELEMENT.getInstance().TITANIUM, 2),
@@ -66,11 +72,13 @@ public final class ORES {
MaterialState.ORE, //State
TextureSet.SET_FINE, //Texture Set
new short[]{45, 26, 0, 0}, //Material Colour
- 500,
- 1500,
- 50,
- 75,
- 0, //Radiation
+ -1,
+ -1,