aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDraknyte1 <Draknyte1@hotmail.com>2016-09-14 01:45:29 +1000
committerDraknyte1 <Draknyte1@hotmail.com>2016-09-14 01:45:29 +1000
commit9aad5dc59183de585f4e86efdf79750179ade8c7 (patch)
tree50934a2325ec3c0fdba827110410a8a5130c3511 /src
parent91e18f54e4733c695ac023d87adfcef9e8dbbb4a (diff)
downloadGT5-Unofficial-9aad5dc59183de585f4e86efdf79750179ade8c7.tar.gz
GT5-Unofficial-9aad5dc59183de585f4e86efdf79750179ade8c7.tar.bz2
GT5-Unofficial-9aad5dc59183de585f4e86efdf79750179ade8c7.zip
Finished Material Re-write, I hope.
Diffstat (limited to 'src')
-rw-r--r--src/Java/gtPlusPlus/core/item/ModItems.java76
-rw-r--r--src/Java/gtPlusPlus/core/item/base/dusts/BaseItemDust.java16
-rw-r--r--src/Java/gtPlusPlus/core/material/Material.java36
-rw-r--r--src/Java/gtPlusPlus/core/util/item/UtilsItems.java40
4 files changed, 111 insertions, 57 deletions
diff --git a/src/Java/gtPlusPlus/core/item/ModItems.java b/src/Java/gtPlusPlus/core/item/ModItems.java
index aafe02d470..3e40896c12 100644
--- a/src/Java/gtPlusPlus/core/item/ModItems.java
+++ b/src/Java/gtPlusPlus/core/item/ModItems.java
@@ -25,7 +25,8 @@ import gtPlusPlus.core.item.tool.staballoy.StaballoyPickaxe;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.lib.CORE.configSwitches;
import gtPlusPlus.core.lib.LoadedMods;
-import gtPlusPlus.core.lib.MaterialInfo;
+import gtPlusPlus.core.material.ALLOY;
+import gtPlusPlus.core.material.ELEMENT;
import gtPlusPlus.core.util.Utils;
import gtPlusPlus.core.util.debug.DEBUG_INIT;
import gtPlusPlus.core.util.item.UtilsItems;
@@ -162,53 +163,58 @@ public final class ModItems {
//Start meta Item Generation
ItemsFoods.load();
- UtilsItems.generateItemsFromMaterial("EnergyCrystal", "Energy Crystal", 8, MaterialInfo.ENERGYCRYSTAL, Utils.rgbtoHexValue(228, 225, 0), true);
- UtilsItems.generateItemsFromMaterial("BloodSteel", "Blood Steel", 3, MaterialInfo.BLOODSTEEL, Utils.rgbtoHexValue(142, 28, 0), false);
- UtilsItems.generateItemsFromMaterial("Staballoy", "Staballoy", 6, MaterialInfo.STABALLOY, Utils.rgbtoHexValue(68, 75, 66), true);
- UtilsItems.generateItemsFromMaterial("Tantalloy60", "Tantalloy-60", 5, MaterialInfo.TANTALLOY60, Utils.rgbtoHexValue(68, 75, 166), true);
- UtilsItems.generateItemsFromMaterial("Tantalloy61", "Tantalloy-61", 6, MaterialInfo.TANTALLOY61, Utils.rgbtoHexValue(122, 135, 196), true);
- UtilsItems.generateItemsFromMaterial("Bedrockium", "Bedrockium", 9, MaterialInfo.BEDROCKIUM, Utils.rgbtoHexValue(32, 32, 32), false);
- UtilsItems.generateItemsFromMaterial("Quantum", "Quantum", 10, MaterialInfo.QUANTUM, Utils.rgbtoHexValue(128, 128, 128), true);
+ UtilsItems.generateItemsFromMaterial(ALLOY.ENERGYCRYSTAL);
+ UtilsItems.generateItemsFromMaterial(ALLOY.BLOODSTEEL);
+ UtilsItems.generateItemsFromMaterial(ALLOY.STABALLOY);
+ UtilsItems.generateItemsFromMaterial(ALLOY.TANTALLOY_60);
+ UtilsItems.generateItemsFromMaterial(ALLOY.TANTALLOY_61);
+ UtilsItems.generateItemsFromMaterial(ALLOY.BEDROCKIUM);
+ UtilsItems.generateItemsFromMaterial(ALLOY.QUANTUM);
- UtilsItems.generateItemsFromMaterial("Inconel625", "Inconel-625", 4, MaterialInfo.INCONEL625, Utils.rgbtoHexValue(128, 200, 128), true); //Inconel 625: Acid resistant, good weldability. The LCF version is typically used in bellows.
- UtilsItems.generateItemsFromMaterial("Inconel690", "Inconel-690", 6, MaterialInfo.INCONEL690, Utils.rgbtoHexValue(118, 220, 138), true); //Inconel 690: Low cobalt content for nuclear applications, and low resistivity.
- UtilsItems.generateItemsFromMaterial("Inconel792", "Inconel-792", 5, MaterialInfo.INCONEL792, Utils.rgbtoHexValue(108, 240, 118), true); //Inconel 792: Increased aluminium content for improved high temperature corrosion properties, used especially in gas turbines.
-
+ UtilsItems.generateItemsFromMaterial(ALLOY.INCONEL_625);
+ UtilsItems.generateItemsFromMaterial(ALLOY.INCONEL_690);
+ UtilsItems.generateItemsFromMaterial(ALLOY.INCONEL_792);
if (!CORE.MAIN_GREGTECH_5U_EXPERIMENTAL_FORK){
- UtilsItems.generateItemsFromMaterial("TungstenCarbide", "Tungsten Carbide", 5, MaterialInfo.TUNGSTENCARBIDE, Utils.rgbtoHexValue(44, 44, 44), true);
+ UtilsItems.generateItemsFromMaterial(ALLOY.TUNGSTEN_CARBIDE);
}
- UtilsItems.generateItemsFromMaterial("SiliconCarbide", "Silicon Carbide", 4, MaterialInfo.SILICONCARBIDE, Utils.rgbtoHexValue(32, 32, 32), false);
- UtilsItems.generateItemsFromMaterial("Zeron100", "Zeron-100", 8, MaterialInfo.ZERON100, Utils.rgbtoHexValue(180, 180, 20), true);
- UtilsItems.generateItemsFromMaterial("MaragingSteel250", "Maraging Steel 250", 4, MaterialInfo.MARAGING250, Utils.rgbtoHexValue(140, 140, 140), true);
- UtilsItems.generateItemsFromMaterial("MaragingSteel300", "Maraging Steel 300", 5, MaterialInfo.MARAGING300, Utils.rgbtoHexValue(150, 150, 150), true);
- UtilsItems.generateItemsFromMaterial("MaragingSteel350", "Maraging Steel 350", 6, MaterialInfo.MARAGING350, Utils.rgbtoHexValue(160, 160, 160), true);
- UtilsItems.generateItemsFromMaterial("Stellite", "Stellite", 7, MaterialInfo.STELLITE, Utils.rgbtoHexValue(129, 75, 120), true);
- UtilsItems.generateItemsFromMaterial("Talonite", "Talonite", 8, MaterialInfo.TALONITE, Utils.rgbtoHexValue(228, 75, 120), false);
+ UtilsItems.generateItemsFromMaterial(ALLOY.SILICON_CARBIDE);
+ UtilsItems.generateItemsFromMaterial(ALLOY.ZERON_100);
+ UtilsItems.generateItemsFromMaterial(ALLOY.MARAGING250);
+ UtilsItems.generateItemsFromMaterial(ALLOY.MARAGING300);
+ UtilsItems.generateItemsFromMaterial(ALLOY.MARAGING350);
+ UtilsItems.generateItemsFromMaterial(ALLOY.STELLITE);
+ UtilsItems.generateItemsFromMaterial(ALLOY.TALONITE);
- UtilsItems.generateItemsFromMaterial("Tumbaga", "Tumbaga", 2, MaterialInfo.TUMBAGA, Utils.rgbtoHexValue(255,178,15), false); //Tumbaga was the name given by Spaniards to a non-specific alloy of gold and copper
- UtilsItems.generateItemsFromMaterial("Potin", "Potin", 4, MaterialInfo.POTIN, Utils.rgbtoHexValue(201,151,129), false); //Potin is traditionally an alloy of bronze, tin and lead, with varying quantities of each possible
+ //Tumbaga was the name given by Spaniards to a non-specific alloy of gold and copper
+ UtilsItems.generateItemsFromMaterial(ALLOY.TUMBAGA);
+ //Potin is traditionally an alloy of bronze, tin and lead, with varying quantities of each possible
+ UtilsItems.generateItemsFromMaterial(ALLOY.POTIN);
- UtilsItems.generateItemsFromMaterial("HastelloyW", "Hastelloy-W", 6, MaterialInfo.HASTELLOY_W, Utils.rgbtoHexValue(218, 165, 32), false);
- UtilsItems.generateItemsFromMaterial("HastelloyX", "Hastelloy-X", 6, MaterialInfo.HASTELLOY_X, Utils.rgbtoHexValue(255, 193, 37), false);
- UtilsItems.generateItemsFromMaterial("HastelloyC276", "Hastelloy-C276", 7, MaterialInfo.HASTELLOY_C276, Utils.rgbtoHexValue(238, 180, 34), true);
- UtilsItems.generateItemsFromMaterial("HastelloyN", "Hastelloy-N", 8, MaterialInfo.HASTELLOY_N, Utils.rgbtoHexValue(155, 223, 237), true);
+ UtilsItems.generateItemsFromMaterial(ALLOY.HASTELLOY_W);
+ UtilsItems.generateItemsFromMaterial(ALLOY.HASTELLOY_X);
+ UtilsItems.generateItemsFromMaterial(ALLOY.HASTELLOY_C276);
+ UtilsItems.generateItemsFromMaterial(ALLOY.HASTELLOY_N);
+
+ UtilsItems.generateItemsFromMaterial(ALLOY.INCOLOY_020);
+ UtilsItems.generateItemsFromMaterial(ALLOY.INCOLOY_DS);
+ UtilsItems.generateItemsFromMaterial(ALLOY.INCOLOY_MA956);
+
+
+ UtilsItems.generateItemsFromMaterial(ELEMENT.ZIRCONIUM);
+ UtilsItems.generateItemsFromMaterial(ALLOY.ZIRCONIUM_CARBIDE);
+ UtilsItems.generateItemsFromMaterial(ALLOY.TANTALUM_CARBIDE);
+ UtilsItems.generateItemsFromMaterial(ALLOY.NIOBIUM_CARBIDE);
+
- UtilsItems.generateItemsFromMaterial("Incoloy020", "Incoloy-020", 7, MaterialInfo.INCOLOY020, Utils.rgbtoHexValue(81, 81, 81), false);
- UtilsItems.generateItemsFromMaterial("IncoloyDS", "Incoloy-DS", 7, MaterialInfo.INCOLOYDS, Utils.rgbtoHexValue(91, 91, 91), false);
- UtilsItems.generateItemsFromMaterial("IncoloyMA956", "Incoloy-MA956", 8, MaterialInfo.INCOLOYMA956, Utils.rgbtoHexValue(101, 101, 101), true);
+ //Uranium-233 is a fissile isotope of uranium that is bred from thorium-232 as part of the thorium fuel cycle.
+ UtilsItems.generateItemsFromMaterial(ELEMENT.URANIUM233);
- UtilsItems.generateItemsFromMaterial("Zirconium", "Zirconium", 6, MaterialInfo.ZIRCONIUM, Utils.rgbtoHexValue(255, 250, 205), false);
- UtilsItems.generateItemsFromMaterial("ZirconiumCarbide", "Zirconium Carbide", 7, MaterialInfo.ZIRCONIUMCARBIDE, Utils.rgbtoHexValue(222, 202, 180), true);
- UtilsItems.generateItemsFromMaterial("TantalumCarbide", "Tantalum Carbide", 7, MaterialInfo.TANTALUMCARBIDE, Utils.rgbtoHexValue(139, 136, 120), true);
- UtilsItems.generateItemsFromMaterial("NiobiumCarbide", "Niobium Carbide", 6, MaterialInfo.NIOMBIUMCARBIDE, Utils.rgbtoHexValue(205, 197, 191), true);
- //Uranium-233if
- UtilsItems.generateItemsFromMaterial("Uranium233", "Uranium 233", 4, MaterialInfo.URANIUM233, Utils.rgbtoHexValue(73, 220, 83), false); //Uranium-233 is a fissile isotope of uranium that is bred from thorium-232 as part of the thorium fuel cycle.
dustLithiumCarbonate = UtilsItems.generateSpecialUseDusts("LithiumCarbonate", "Lithium Carbonate", Utils.rgbtoHexValue(137, 139, 142))[0];
diff --git a/src/Java/gtPlusPlus/core/item/base/dusts/BaseItemDust.java b/src/Java/gtPlusPlus/core/item/base/dusts/BaseItemDust.java
index 6d12624487..8138e14cf2 100644
--- a/src/Java/gtPlusPlus/core/item/base/dusts/BaseItemDust.java
+++ b/src/Java/gtPlusPlus/core/item/base/dusts/BaseItemDust.java
@@ -5,7 +5,7 @@ import gregtech.api.enums.GT_Values;
import gregtech.api.util.GT_ModHandler;
import gregtech.api.util.GT_OreDictUnificator;
import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.core.lib.MaterialInfo;
+import gtPlusPlus.core.material.Material;
import gtPlusPlus.core.util.Utils;
import gtPlusPlus.core.util.item.UtilsItems;
import gtPlusPlus.core.util.math.MathUtils;
@@ -29,9 +29,9 @@ public class BaseItemDust extends Item{
protected boolean useBlastFurnace;
String name = "";
private int mTier;
- private MaterialInfo dustInfo;
+ private Material dustInfo;
- public BaseItemDust(String unlocalizedName, String materialName, MaterialInfo matInfo, int colour, String pileSize, boolean blastFurnaceRequired, int tier, int sRadioactivity) {
+ public BaseItemDust(String unlocalizedName, String materialName, Material matInfo, int colour, String pileSize, boolean blastFurnaceRequired, int tier, int sRadioactivity) {
setUnlocalizedName(unlocalizedName);
this.setUnlocalizedName(unlocalizedName);
this.setMaxStackSize(64);
@@ -135,8 +135,8 @@ public class BaseItemDust extends Item{
private void addMixerRecipe(){
ItemStack tempStack = UtilsItems.getSimpleStack(this);
ItemStack tempOutput = null;
- ItemStack[] inputStacks = dustInfo.getInputs();
- ItemStack[] outputStacks = dustInfo.getOutputs();
+ ItemStack[] inputStacks = dustInfo.getMaterialComposites();
+ ItemStack[] outputStacks = {dustInfo.getDust()};
String temp = "";
Utils.LOG_WARNING("Unlocalized name for OreDict nameGen: "+getUnlocalizedName());
if (getUnlocalizedName().contains("item.")){
@@ -202,8 +202,8 @@ public class BaseItemDust extends Item{
Utils.LOG_WARNING("Found "+is.getDisplayName()+" as an input for mixer recipe.");
if (is.getDisplayName().toLowerCase().contains("tell alkalus")){
ItemStack tempStackForAName = inputStacks[i];
- String[] inputList = dustInfo.getInputItemsAsList();
- int[] inputSizes = dustInfo.getInputStackSizesAsList();
+ String[] inputList = UtilsItems.getArrayStackNamesAsArray(dustInfo.getMaterialComposites());
+ int[] inputSizes = dustInfo.getMaterialCompositeStackSizes();
inputStacks[i] = UtilsItems.getItemStackOfAmountFromOreDict(inputList[i], inputSizes[i]);
Utils.LOG_WARNING("Swapping input slot "+i+" which contains "+tempStackForAName.getDisplayName()+" with "+inputStacks[i].getDisplayName()+".");
}
@@ -260,7 +260,7 @@ public class BaseItemDust extends Item{
tempIngot = tempIngot.replace("itemDust", "ingot");
Utils.LOG_WARNING("Generating OreDict Name: "+tempIngot);
- ItemStack[] outputStacks = dustInfo.getOutputs();
+ ItemStack[] outputStacks = {dustInfo.getDust()};
if (tempIngot != null && tempIngot != ""){
tempInputStack = UtilsItems.getItemStackOfAmountFromOreDict(tempIngot, 1);
tempOutputStack = UtilsItems.getItemStackOfAmountFromOreDict(tempDust, 1);
diff --git a/src/Java/gtPlusPlus/core/material/Material.java b/src/Java/gtPlusPlus/core/material/Material.java
index 4ce496bb22..ef9f3274ee 100644
--- a/src/Java/gtPlusPlus/core/material/Material.java
+++ b/src/Java/gtPlusPlus/core/material/Material.java
@@ -10,9 +10,9 @@ public class Material {
final String unlocalizedName;
final String localizedName;
- final public MaterialStack[] materialInput = null;
+ final MaterialStack[] materialInput = null;
- final public short[] RGBA;
+ final short[] RGBA;
final boolean usesBlastFurnace;
@@ -49,6 +49,18 @@ public class Material {
}
+ public String getLocalizedName(){
+ return localizedName;
+ }
+
+ public String getUnlocalizedName(){
+ return unlocalizedName;
+ }
+
+ public short[] getRGBA(){
+ return RGBA;
+ }
+
public long getProtons() {
return vProtons;
}
@@ -68,6 +80,10 @@ public class Material {
public int getBoilingPoint_C() {
return boilingPointC;
}
+
+ public boolean requiresBlastFurnace(){
+ return usesBlastFurnace;
+ }
public ItemStack getDust(){
return UtilsItems.getItemStackOfAmountFromOreDictNoBroken("dust"+unlocalizedName, 1);
@@ -77,4 +93,20 @@ public class Material {
return UtilsItems.validItemsForOreDict(unlocalizedName);
}
+ public ItemStack[] getMaterialComposites(){
+ ItemStack[] temp = {};
+ for (int i=0;i<materialInput.length;i++){
+ temp[i] = materialInput[i].getDustStack();
+ }
+ return temp;
+ }
+
+ public int[] getMaterialCompositeStackSizes(){
+ int[] temp = {};
+ for (int i=0;i<materialInput.length;i++){
+ temp[i] = materialInput[i].getDustStack().stackSize;
+ }
+ return temp;
+ }
+
}
diff --git a/src/Java/gtPlusPlus/core/util/item/UtilsItems.java b/src/Java/gtPlusPlus/core/util/item/UtilsItems.java
index ab8829b7af..59a32d731d 100644
--- a/src/Java/gtPlusPlus/core/util/item/UtilsItems.java
+++ b/src/Java/gtPlusPlus/core/util/item/UtilsItems.java
@@ -22,7 +22,7 @@ import gtPlusPlus.core.item.base.screws.BaseItemScrew;
import gtPlusPlus.core.item.tool.staballoy.MultiPickaxeBase;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.lib.LoadedMods;
-import gtPlusPlus.core.lib.MaterialInfo;
+import gtPlusPlus.core.material.Material;
import gtPlusPlus.core.util.Utils;
import gtPlusPlus.core.util.fluid.FluidUtils;
import gtPlusPlus.core.util.materials.MaterialUtils;
@@ -260,21 +260,26 @@ public class UtilsItems {
return null;
}
- public static void generateItemsFromMaterial(String unlocalizedName, String materialName, int materialTier, MaterialInfo matInfo, int Colour, boolean hotIngot){
+ public static void generateItemsFromMaterial(Material matInfo){
+
+ String unlocalizedName = matInfo.getUnlocalizedName();
+ String materialName = matInfo.getLocalizedName();
+ short[] C = matInfo.getRGBA();
+ int Colour = Utils.rgbtoHexValue(C[0], C[1], C[2]);
+ boolean hotIngot = matInfo.requiresBlastFurnace();
+ int materialTier = 0; //TODO
+
if (materialTier > 10 || materialTier <= 0){
materialTier = 2;
}
- int sRadiation = 0;
- if (materialName.toLowerCase().contains("uranium")){
- sRadiation = 2;
- }
- else if (materialName.toLowerCase().contains("plutonium")){
- sRadiation = 4;
- }
- else if (materialName.toLowerCase().contains("thorium")){
- sRadiation = 1;
+
+
+ int sRadiation = 0;
+ if (isRadioactive(materialName)){
+ sRadiation = getRadioactivityLevel(materialName);
}
+
if (sRadiation >= 1){
Item temp;
Block tempBlock;
@@ -319,7 +324,7 @@ public class UtilsItems {
}
- public static Item[] generateDusts(String unlocalizedName, String materialName, int materialTier, MaterialInfo matInfo, int Colour, boolean hotIngot){
+ public static Item[] generateDusts(String unlocalizedName, String materialName, int materialTier, Material matInfo, int Colour, boolean hotIngot){
int radioactive = getRadioactivityLevel(materialName);
Item[] output = {
new BaseItemDust("itemDust"+unlocalizedName, materialName, matInfo, Colour, "Dust", hotIngot, materialTier, radioactive),
@@ -409,6 +414,17 @@ public class UtilsItems {
}
+ public static String[] getArrayStackNamesAsArray(ItemStack[] aStack){
+ String[] itemNames = {};
+ int arpos = 0;
+ for (ItemStack alph : aStack){
+ itemNames[arpos] = alph.getDisplayName();
+ arpos++;
+ }
+ return itemNames;
+
+ }
+
public static String getFluidArrayStackNames(FluidStack[] aStack){
String itemNames = "Fluid Array: ";
for (FluidStack alph : aStack){