diff options
author | Draknyte1 <Draknyte1@hotmail.com> | 2016-09-14 01:45:29 +1000 |
---|---|---|
committer | Draknyte1 <Draknyte1@hotmail.com> | 2016-09-14 01:45:29 +1000 |
commit | 9aad5dc59183de585f4e86efdf79750179ade8c7 (patch) | |
tree | 50934a2325ec3c0fdba827110410a8a5130c3511 /src | |
parent | 91e18f54e4733c695ac023d87adfcef9e8dbbb4a (diff) | |
download | GT5-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.java | 76 | ||||
-rw-r--r-- | src/Java/gtPlusPlus/core/item/base/dusts/BaseItemDust.java | 16 | ||||
-rw-r--r-- | src/Java/gtPlusPlus/core/material/Material.java | 36 | ||||
-rw-r--r-- | src/Java/gtPlusPlus/core/util/item/UtilsItems.java | 40 |
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){ |