aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/core/material
diff options
context:
space:
mode:
Diffstat (limited to 'src/Java/gtPlusPlus/core/material')
-rw-r--r--src/Java/gtPlusPlus/core/material/ELEMENT.java77
-rw-r--r--src/Java/gtPlusPlus/core/material/Material.java341
-rw-r--r--src/Java/gtPlusPlus/core/material/MaterialGenerator.java60
-rw-r--r--src/Java/gtPlusPlus/core/material/NONMATERIAL.java22
-rw-r--r--src/Java/gtPlusPlus/core/material/ORES.java28
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,