diff options
author | Draknyte1 <Draknyte1@hotmail.com> | 2016-09-14 03:06:05 +1000 |
---|---|---|
committer | Draknyte1 <Draknyte1@hotmail.com> | 2016-09-14 03:06:05 +1000 |
commit | 2d5bc4bf0e324979c58ed8b35283a2a78b50ad01 (patch) | |
tree | d9a685da893beab58ab6438162ac13af08e1feab | |
parent | a871ac6e7b14239481899e9c5430c114bc75ba4a (diff) | |
download | GT5-Unofficial-2d5bc4bf0e324979c58ed8b35283a2a78b50ad01.tar.gz GT5-Unofficial-2d5bc4bf0e324979c58ed8b35283a2a78b50ad01.tar.bz2 GT5-Unofficial-2d5bc4bf0e324979c58ed8b35283a2a78b50ad01.zip |
More Work clearing up Nulls.
Making more things final and accessible to others.
-rw-r--r-- | src/Java/gtPlusPlus/core/handler/MaterialHandler.java | 29 | ||||
-rw-r--r-- | src/Java/gtPlusPlus/core/item/ModItems.java | 72 | ||||
-rw-r--r-- | src/Java/gtPlusPlus/core/item/base/dusts/BaseItemDust.java | 37 | ||||
-rw-r--r-- | src/Java/gtPlusPlus/core/material/ALLOY.java | 2 | ||||
-rw-r--r-- | src/Java/gtPlusPlus/core/material/Material.java | 105 |
5 files changed, 130 insertions, 115 deletions
diff --git a/src/Java/gtPlusPlus/core/handler/MaterialHandler.java b/src/Java/gtPlusPlus/core/handler/MaterialHandler.java deleted file mode 100644 index 52d95817e5..0000000000 --- a/src/Java/gtPlusPlus/core/handler/MaterialHandler.java +++ /dev/null @@ -1,29 +0,0 @@ -package gtPlusPlus.core.handler; - -import gregtech.api.enums.Materials; -import gtPlusPlus.core.material.Material; -import gtPlusPlus.core.util.Utils; -import gtPlusPlus.core.util.materials.MaterialUtils; - -//Finally Wrote a proper material class, sigh. -public class MaterialHandler implements Runnable{ - - int arrayPos = 0; - boolean[] oneOfEachElementArray; - Material[] AllGregtechMaterials; - - - @Override - public void run() { - //Register GT Base Materials First - Utils.LOG_INFO("Adding All basic elements to the Material Dictionary."); - for (Materials x: Materials.values()){ - if (x.getProtons() <= 100 && !oneOfEachElementArray[arrayPos]){ - AllGregtechMaterials[arrayPos] = MaterialUtils.generateMaterialFromGtENUM(x); - oneOfEachElementArray[arrayPos] = true; - arrayPos++; - } - } - } - -} diff --git a/src/Java/gtPlusPlus/core/item/ModItems.java b/src/Java/gtPlusPlus/core/item/ModItems.java index 3e40896c12..5cfeb83425 100644 --- a/src/Java/gtPlusPlus/core/item/ModItems.java +++ b/src/Java/gtPlusPlus/core/item/ModItems.java @@ -2,6 +2,7 @@ package gtPlusPlus.core.item; import static gtPlusPlus.core.creative.AddToCreativeTab.tabMachines; import static gtPlusPlus.core.creative.AddToCreativeTab.tabMisc; import static gtPlusPlus.core.lib.CORE.LOAD_ALL_CONTENT; +import static gtPlusPlus.core.util.item.UtilsItems.generateItemsFromMaterial; import gregtech.api.enums.Materials; import gregtech.api.util.GT_OreDictUnificator; import gtPlusPlus.core.creative.AddToCreativeTab; @@ -163,56 +164,65 @@ public final class ModItems { //Start meta Item Generation ItemsFoods.load(); - 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); + try{ + generateItemsFromMaterial(ALLOY.ENERGYCRYSTAL); + generateItemsFromMaterial(ALLOY.BLOODSTEEL); + generateItemsFromMaterial(ALLOY.STABALLOY); + generateItemsFromMaterial(ALLOY.TANTALLOY_60); + generateItemsFromMaterial(ALLOY.TANTALLOY_61); + generateItemsFromMaterial(ALLOY.BEDROCKIUM); + generateItemsFromMaterial(ALLOY.QUANTUM); - UtilsItems.generateItemsFromMaterial(ALLOY.INCONEL_625); - UtilsItems.generateItemsFromMaterial(ALLOY.INCONEL_690); - UtilsItems.generateItemsFromMaterial(ALLOY.INCONEL_792); + generateItemsFromMaterial(ALLOY.INCONEL_625); + generateItemsFromMaterial(ALLOY.INCONEL_690); + generateItemsFromMaterial(ALLOY.INCONEL_792); if (!CORE.MAIN_GREGTECH_5U_EXPERIMENTAL_FORK){ - UtilsItems.generateItemsFromMaterial(ALLOY.TUNGSTEN_CARBIDE); + generateItemsFromMaterial(ALLOY.TUNGSTEN_CARBIDE); } - 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); + generateItemsFromMaterial(ALLOY.SILICON_CARBIDE); + generateItemsFromMaterial(ALLOY.ZERON_100); + generateItemsFromMaterial(ALLOY.MARAGING250); + generateItemsFromMaterial(ALLOY.MARAGING300); + generateItemsFromMaterial(ALLOY.MARAGING350); + generateItemsFromMaterial(ALLOY.STELLITE); + generateItemsFromMaterial(ALLOY.TALONITE); //Tumbaga was the name given by Spaniards to a non-specific alloy of gold and copper - UtilsItems.generateItemsFromMaterial(ALLOY.TUMBAGA); + generateItemsFromMaterial(ALLOY.TUMBAGA); //Potin is traditionally an alloy of bronze, tin and lead, with varying quantities of each possible - UtilsItems.generateItemsFromMaterial(ALLOY.POTIN); + generateItemsFromMaterial(ALLOY.POTIN); - UtilsItems.generateItemsFromMaterial(ALLOY.HASTELLOY_W); - UtilsItems.generateItemsFromMaterial(ALLOY.HASTELLOY_X); - UtilsItems.generateItemsFromMaterial(ALLOY.HASTELLOY_C276); - UtilsItems.generateItemsFromMaterial(ALLOY.HASTELLOY_N); + generateItemsFromMaterial(ALLOY.HASTELLOY_W); + generateItemsFromMaterial(ALLOY.HASTELLOY_X); + generateItemsFromMaterial(ALLOY.HASTELLOY_C276); + generateItemsFromMaterial(ALLOY.HASTELLOY_N); - UtilsItems.generateItemsFromMaterial(ALLOY.INCOLOY_020); - UtilsItems.generateItemsFromMaterial(ALLOY.INCOLOY_DS); - UtilsItems.generateItemsFromMaterial(ALLOY.INCOLOY_MA956); + generateItemsFromMaterial(ALLOY.INCOLOY_020); + generateItemsFromMaterial(ALLOY.INCOLOY_DS); + generateItemsFromMaterial(ALLOY.INCOLOY_MA956); - UtilsItems.generateItemsFromMaterial(ELEMENT.ZIRCONIUM); - UtilsItems.generateItemsFromMaterial(ALLOY.ZIRCONIUM_CARBIDE); - UtilsItems.generateItemsFromMaterial(ALLOY.TANTALUM_CARBIDE); - UtilsItems.generateItemsFromMaterial(ALLOY.NIOBIUM_CARBIDE); + generateItemsFromMaterial(ELEMENT.ZIRCONIUM); + generateItemsFromMaterial(ALLOY.ZIRCONIUM_CARBIDE); + generateItemsFromMaterial(ALLOY.TANTALUM_CARBIDE); + generateItemsFromMaterial(ALLOY.NIOBIUM_CARBIDE); //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); + } catch (Throwable r){ + Utils.LOG_INFO("Failed to Generated a Material. "+r.getMessage()); + //Utils.LOG_INFO("Failed to Generated a Material. "+r.getCause().getMessage()); + Utils.LOG_INFO("Failed to Generated a Material. "+r.getStackTrace()[0].getMethodName()); + Utils.LOG_INFO("Failed to Generated a Material. "+r.getStackTrace()[1].getMethodName()); + r.printStackTrace(); + System.exit(1); + } 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 8138e14cf2..b5e303ff7a 100644 --- a/src/Java/gtPlusPlus/core/item/base/dusts/BaseItemDust.java +++ b/src/Java/gtPlusPlus/core/item/base/dusts/BaseItemDust.java @@ -218,12 +218,19 @@ public class BaseItemDust extends Item{ } } - GT_Values.RA.addMixerRecipe( - inputStacks[0], inputStacks[1], - inputStacks[2], inputStacks[3], - null, null, - tempOutput, - 8*mTier*20, 8*mTier*2); + if (inputStacks.length != 0){ + GT_Values.RA.addMixerRecipe( + inputStacks[0], inputStacks[1], + inputStacks[2], inputStacks[3], + null, null, + tempOutput, + 8*mTier*20, 8*mTier*2); + } + else { + return; + } + + /*GT_Values.RA.addMixerRecipe( GT_Utility.copyAmount(inputStacks[0].stackSize, new Object[]{inputStacks[0]}), GT_Utility.copyAmount(inputStacks[1].stackSize, new Object[]{inputStacks[1]}), @@ -264,11 +271,21 @@ public class BaseItemDust extends Item{ if (tempIngot != null && tempIngot != ""){ tempInputStack = UtilsItems.getItemStackOfAmountFromOreDict(tempIngot, 1); tempOutputStack = UtilsItems.getItemStackOfAmountFromOreDict(tempDust, 1); - ItemStack tempStackOutput2; + ItemStack tempStackOutput2 = null; int chance = mTier*10/MathUtils.randInt(10, 20); - if (outputStacks[1] != null && !outputStacks[1].getUnlocalizedName().toLowerCase().contains("aaa_broken")){ - tempStackOutput2 = outputStacks[1]; - tempOutputStack = outputStacks[0]; + if (outputStacks.length != 0){ + if (outputStacks.length == 1){ + tempStackOutput2 = null; + } + else { + if (!outputStacks[1].getUnlocalizedName().toLowerCase().contains("aaa_broken")){ + tempStackOutput2 = outputStacks[1]; + tempOutputStack = outputStacks[0]; + } + else { + tempStackOutput2 = null; + } + } } else { tempStackOutput2 = null; diff --git a/src/Java/gtPlusPlus/core/material/ALLOY.java b/src/Java/gtPlusPlus/core/material/ALLOY.java index 5c368a23da..3b203b037e 100644 --- a/src/Java/gtPlusPlus/core/material/ALLOY.java +++ b/src/Java/gtPlusPlus/core/material/ALLOY.java @@ -1,7 +1,7 @@ package gtPlusPlus.core.material; -public class ALLOY { +public final class ALLOY { public static final Material ENERGYCRYSTAL = new Material( "Energy Crystal", //Material Name diff --git a/src/Java/gtPlusPlus/core/material/Material.java b/src/Java/gtPlusPlus/core/material/Material.java index 0af8d91278..7085ec9329 100644 --- a/src/Java/gtPlusPlus/core/material/Material.java +++ b/src/Java/gtPlusPlus/core/material/Material.java @@ -10,7 +10,7 @@ public class Material { final String unlocalizedName; final String localizedName; - final MaterialStack[] materialInput = new MaterialStack[4]; + private MaterialStack[] materialInput = new MaterialStack[4]; final short[] RGBA; @@ -41,49 +41,55 @@ public class Material { this.vMass = getMass(); this.usesBlastFurnace = blastFurnace; - for (int i=0; i < inputs.length; i++){ - if (inputs[i] != null){ - materialInput[i] = inputs[i]; + if (inputs == null){ + this.materialInput = null; + } + else { + if (inputs.length != 0){ + for (int i=0; i < inputs.length; i++){ + if (inputs[i] != null){ + this.materialInput[i] = inputs[i]; + } + } } } - } - + public String getLocalizedName(){ return localizedName; } - + public String getUnlocalizedName(){ return unlocalizedName; } - + public short[] getRGBA(){ return RGBA; } - + public long getProtons() { - return vProtons; - } - - public long getNeutrons() { - return vNeutrons; - } - - public long getMass() { - return vProtons + vNeutrons; - } - - public int getMeltingPoint_C() { - return meltingPointC; - } - - public int getBoilingPoint_C() { - return boilingPointC; - } - - public boolean requiresBlastFurnace(){ - return usesBlastFurnace; - } + return vProtons; + } + + public long getNeutrons() { + return vNeutrons; + } + + public long getMass() { + return vProtons + vNeutrons; + } + + public int getMeltingPoint_C() { + return meltingPointC; + } + + public int getBoilingPoint_C() { + return boilingPointC; + } + + public boolean requiresBlastFurnace(){ + return usesBlastFurnace; + } public ItemStack getDust(){ return UtilsItems.getItemStackOfAmountFromOreDictNoBroken("dust"+unlocalizedName, 1); @@ -92,21 +98,32 @@ public class Material { public ItemStack[] getValidInputStacks(){ return UtilsItems.validItemsForOreDict(unlocalizedName); } - + public ItemStack[] getMaterialComposites(){ - ItemStack[] temp = new ItemStack[materialInput.length]; - for (int i=0;i<materialInput.length;i++){ - temp[i] = materialInput[i].getDustStack(); - } - return temp; + if (materialInput != null && materialInput.length >= 1){ + ItemStack[] temp = new ItemStack[materialInput.length]; + for (int i=0;i<materialInput.length;i++){ + Utils.LOG_INFO("i:"+i); + ItemStack testNull = materialInput[i].getDustStack(); + if (testNull != null){ + Utils.LOG_INFO("not null"); + temp[i] = materialInput[i].getDustStack(); + } + } + return temp; + } + return new ItemStack[]{}; } - + public int[] getMaterialCompositeStackSizes(){ - int[] temp = new int[materialInput.length]; - for (int i=0;i<materialInput.length;i++){ - temp[i] = materialInput[i].getDustStack().stackSize; - } - return temp; + if (materialInput != null && materialInput.length >= 1){ + int[] temp = new int[materialInput.length]; + for (int i=0;i<materialInput.length;i++){ + temp[i] = materialInput[i].getDustStack().stackSize; + } + return temp; + } + return new int[]{}; } - + } |