diff options
author | Alkalus <draknyte1@hotmail.com> | 2017-08-24 09:24:00 +1000 |
---|---|---|
committer | Alkalus <draknyte1@hotmail.com> | 2017-08-24 09:24:00 +1000 |
commit | 5193d44e274abb6fa51fac59bda548307c35b6a4 (patch) | |
tree | 26e5229ab9710de30cce53ec338face9dfae5b84 /src/Java | |
parent | f40e570aa155652c97c0c45ec6a18a4bfca86087 (diff) | |
download | GT5-Unofficial-5193d44e274abb6fa51fac59bda548307c35b6a4.tar.gz GT5-Unofficial-5193d44e274abb6fa51fac59bda548307c35b6a4.tar.bz2 GT5-Unofficial-5193d44e274abb6fa51fac59bda548307c35b6a4.zip |
+ Made material loading 'safer'.
+ Made the new materials generate.
Diffstat (limited to 'src/Java')
-rw-r--r-- | src/Java/gtPlusPlus/core/item/ModItems.java | 11 | ||||
-rw-r--r-- | src/Java/gtPlusPlus/core/material/Material.java | 6 | ||||
-rw-r--r-- | src/Java/gtPlusPlus/core/material/MaterialGenerator.java | 160 |
3 files changed, 97 insertions, 80 deletions
diff --git a/src/Java/gtPlusPlus/core/item/ModItems.java b/src/Java/gtPlusPlus/core/item/ModItems.java index ec32b0bb9f..c76da62e87 100644 --- a/src/Java/gtPlusPlus/core/item/ModItems.java +++ b/src/Java/gtPlusPlus/core/item/ModItems.java @@ -316,9 +316,6 @@ public final class ModItems { MaterialGenerator.generateNuclearMaterial(ELEMENT.getInstance().CALIFORNIUM, false); MaterialGenerator.generateNuclearMaterial(ELEMENT.getInstance().EINSTEINIUM, false); MaterialGenerator.generateNuclearMaterial(ELEMENT.getInstance().FERMIUM, false); - - - //Nuclear Isotopes @@ -354,6 +351,12 @@ public final class ModItems { MaterialGenerator.generate(ALLOY.TANTALUM_CARBIDE); MaterialGenerator.generate(ALLOY.NIOBIUM_CARBIDE); + //LFTR Fuel components + MaterialGenerator.generate(FLUORIDES.HYDROXIDE); //LFTR fuel component + MaterialGenerator.generate(FLUORIDES.AMMONIA); //LFTR fuel component + MaterialGenerator.generate(FLUORIDES.AMMONIUM); //LFTR fuel component + MaterialGenerator.generate(FLUORIDES.AMMONIUM_BIFLUORIDE); //LFTR fuel component + MaterialGenerator.generate(FLUORIDES.BERYLLIUM_HYDROXIDE); //LFTR fuel component //Generate Fluorides MaterialGenerator.generateNuclearMaterial(FLUORIDES.FLUORITE); @@ -368,7 +371,7 @@ public final class ModItems { MaterialGenerator.generateNuclearMaterial(FLUORIDES.NEPTUNIUM_HEXAFLUORIDE); MaterialGenerator.generateNuclearMaterial(FLUORIDES.TECHNETIUM_HEXAFLUORIDE); MaterialGenerator.generateNuclearMaterial(FLUORIDES.SELENIUM_HEXAFLUORIDE); - + //Generate Reactor Fuel Salts MaterialGenerator.generateNuclearMaterial(NUCLIDE.LiFBeF2ZrF4U235); MaterialGenerator.generateNuclearMaterial(NUCLIDE.LiFBeF2ZrF4UF4); diff --git a/src/Java/gtPlusPlus/core/material/Material.java b/src/Java/gtPlusPlus/core/material/Material.java index d4d306d5af..c25b818aa2 100644 --- a/src/Java/gtPlusPlus/core/material/Material.java +++ b/src/Java/gtPlusPlus/core/material/Material.java @@ -237,7 +237,11 @@ public class Material { } final Materials isValid = Materials.get(this.getLocalizedName()); - if (isValid == Materials._NULL){ + + if (FluidUtils.getFluidStack(localizedName, 1) != null){ + this.vMoltenFluid = FluidUtils.getFluidStack(localizedName, 1).getFluid(); + } + else if (isValid == Materials._NULL){ this.vMoltenFluid = this.generateFluid(); } else { diff --git a/src/Java/gtPlusPlus/core/material/MaterialGenerator.java b/src/Java/gtPlusPlus/core/material/MaterialGenerator.java index 4e4b410ccc..bab0967114 100644 --- a/src/Java/gtPlusPlus/core/material/MaterialGenerator.java +++ b/src/Java/gtPlusPlus/core/material/MaterialGenerator.java @@ -36,63 +36,77 @@ public class MaterialGenerator { } public static boolean generate(final Material matInfo, final boolean generateEverything, final boolean generateBlastSmelterRecipes){ - final String unlocalizedName = matInfo.getUnlocalizedName(); - final String materialName = matInfo.getLocalizedName(); - final short[] C = matInfo.getRGBA(); - final int Colour = Utils.rgbtoHexValue(C[0], C[1], C[2]); - final boolean hotIngot = matInfo.requiresBlastFurnace(); - int materialTier = matInfo.vTier; //TODO - - if ((materialTier > 10) || (materialTier <= 0)){ - materialTier = 2; - } - - int sRadiation = 0; - if (ItemUtils.isRadioactive(materialName) || matInfo.vRadiationLevel != 0){ - sRadiation = matInfo.vRadiationLevel; - } + try { + final String unlocalizedName = matInfo.getUnlocalizedName(); + final String materialName = matInfo.getLocalizedName(); + final short[] C = matInfo.getRGBA(); + final int Colour = Utils.rgbtoHexValue(C[0], C[1], C[2]); + final boolean hotIngot = matInfo.requiresBlastFurnace(); + int materialTier = matInfo.vTier; //TODO + + if ((materialTier > 10) || (materialTier <= 0)){ + materialTier = 2; + } - if (matInfo.getState() == MaterialState.SOLID){ - if (generateEverything == true){ - if (sRadiation >= 1){ - Item temp; - Block tempBlock; - tempBlock = new BlockBaseModular(unlocalizedName, materialName,BlockTypes.STANDARD, Colour); - temp = new BaseItemIngot(matInfo); + int sRadiation = 0; + if (ItemUtils.isRadioactive(materialName) || matInfo.vRadiationLevel != 0){ + sRadiation = matInfo.vRadiationLevel; + } - temp = new BaseItemDust("itemDust"+unlocalizedName, materialName, matInfo, Colour, "Dust", materialTier, sRadiation); - temp = new BaseItemDust("itemDustTiny"+unlocalizedName, materialName, matInfo, Colour, "Tiny", materialTier, sRadiation); - temp = new BaseItemDust("itemDustSmall"+unlocalizedName, materialName, matInfo, Colour, "Small", materialTier, sRadiation); - temp = new BaseItemNugget(matInfo); - temp = new BaseItemPlate(matInfo); - temp = new BaseItemRod(matInfo); - temp = new BaseItemRodLong(matInfo); - } + if (matInfo.getState() == MaterialState.SOLID){ + if (generateEverything == true){ + if (sRadiation >= 1){ + Item temp; + Block tempBlock; + tempBlock = new BlockBaseModular(unlocalizedName, materialName,BlockTypes.STANDARD, Colour); + temp = new BaseItemIngot(matInfo); + + temp = new BaseItemDust("itemDust"+unlocalizedName, materialName, matInfo, Colour, "Dust", materialTier, sRadiation); + temp = new BaseItemDust("itemDustTiny"+unlocalizedName, materialName, matInfo, Colour, "Tiny", materialTier, sRadiation); + temp = new BaseItemDust("itemDustSmall"+unlocalizedName, materialName, matInfo, Colour, "Small", materialTier, sRadiation); + temp = new BaseItemNugget(matInfo); + temp = new BaseItemPlate(matInfo); + temp = new BaseItemRod(matInfo); + temp = new BaseItemRodLong(matInfo); + } - else { + else { + Item temp; + Block tempBlock; + tempBlock = new BlockBaseModular(unlocalizedName, materialName,BlockTypes.STANDARD, Colour); + tempBlock = new BlockBaseModular(unlocalizedName, materialName,BlockTypes.FRAME, Colour); + temp = new BaseItemIngot(matInfo); + if (hotIngot){ + temp = new BaseItemIngotHot(matInfo); + } + temp = new BaseItemDust("itemDust"+unlocalizedName, materialName, matInfo, Colour, "Dust", materialTier, sRadiation); + temp = new BaseItemDust("itemDustTiny"+unlocalizedName, materialName, matInfo, Colour, "Tiny", materialTier, sRadiation); + temp = new BaseItemDust("itemDustSmall"+unlocalizedName, materialName, matInfo, Colour, "Small", materialTier, sRadiation); + temp = new BaseItemNugget(matInfo); + temp = new BaseItemPlate(matInfo); + temp = new BaseItemPlateDouble(matInfo); + temp = new BaseItemBolt(matInfo); + temp = new BaseItemRod(matInfo); + temp = new BaseItemRodLong(matInfo); + temp = new BaseItemRing(matInfo); + temp = new BaseItemScrew(matInfo); + temp = new BaseItemRotor(matInfo); + temp = new BaseItemGear(matInfo); + } + } else { Item temp; Block tempBlock; tempBlock = new BlockBaseModular(unlocalizedName, materialName,BlockTypes.STANDARD, Colour); - tempBlock = new BlockBaseModular(unlocalizedName, materialName,BlockTypes.FRAME, Colour); temp = new BaseItemIngot(matInfo); - if (hotIngot){ - temp = new BaseItemIngotHot(matInfo); - } temp = new BaseItemDust("itemDust"+unlocalizedName, materialName, matInfo, Colour, "Dust", materialTier, sRadiation); temp = new BaseItemDust("itemDustTiny"+unlocalizedName, materialName, matInfo, Colour, "Tiny", materialTier, sRadiation); temp = new BaseItemDust("itemDustSmall"+unlocalizedName, materialName, matInfo, Colour, "Small", materialTier, sRadiation); temp = new BaseItemNugget(matInfo); temp = new BaseItemPlate(matInfo); temp = new BaseItemPlateDouble(matInfo); - temp = new BaseItemBolt(matInfo); - temp = new BaseItemRod(matInfo); - temp = new BaseItemRodLong(matInfo); - temp = new BaseItemRing(matInfo); - temp = new BaseItemScrew(matInfo); - temp = new BaseItemRotor(matInfo); - temp = new BaseItemGear(matInfo); } - } else { + } + else if (matInfo.getState() == MaterialState.LIQUID){ Item temp; Block tempBlock; tempBlock = new BlockBaseModular(unlocalizedName, materialName,BlockTypes.STANDARD, Colour); @@ -103,37 +117,29 @@ public class MaterialGenerator { temp = new BaseItemNugget(matInfo); temp = new BaseItemPlate(matInfo); temp = new BaseItemPlateDouble(matInfo); + } + else if (matInfo.getState() == MaterialState.PURE_LIQUID){ + //FluidUtils.generateFluidNoPrefix(unlocalizedName, materialName, matInfo.getMeltingPointK(), C); + return true; } - } - else if (matInfo.getState() == MaterialState.LIQUID){ - Item temp; - Block tempBlock; - tempBlock = new BlockBaseModular(unlocalizedName, materialName,BlockTypes.STANDARD, Colour); - temp = new BaseItemIngot(matInfo); - temp = new BaseItemDust("itemDust"+unlocalizedName, materialName, matInfo, Colour, "Dust", materialTier, sRadiation); - temp = new BaseItemDust("itemDustTiny"+unlocalizedName, materialName, matInfo, Colour, "Tiny", materialTier, sRadiation); - temp = new BaseItemDust("itemDustSmall"+unlocalizedName, materialName, matInfo, Colour, "Small", materialTier, sRadiation); - temp = new BaseItemNugget(matInfo); - temp = new BaseItemPlate(matInfo); - temp = new BaseItemPlateDouble(matInfo); - } - else if (matInfo.getState() == MaterialState.PURE_LIQUID){ - //FluidUtils.generateFluidNoPrefix(unlocalizedName, materialName, matInfo.getMeltingPointK(), C); + + //Add A jillion Recipes - old code + RecipeGen_AlloySmelter.generateRecipes(matInfo); + RecipeGen_Assembler.generateRecipes(matInfo); + RecipeGen_BlastSmelter.generateARecipe(matInfo); + RecipeGen_DustGeneration.generateRecipes(matInfo); + RecipeGen_Extruder.generateRecipes(matInfo); + RecipeGen_Fluids.generateRecipes(matInfo); + RecipeGen_Plates.generateRecipes(matInfo); + RecipeGen_ShapedCrafting.generateRecipes(matInfo); return true; + } catch (Throwable t) + { + Utils.LOG_INFO(""+matInfo.getLocalizedName()+" failed to generate."); + return false; } - - //Add A jillion Recipes - old code - RecipeGen_AlloySmelter.generateRecipes(matInfo); - RecipeGen_Assembler.generateRecipes(matInfo); - RecipeGen_BlastSmelter.generateARecipe(matInfo); - RecipeGen_DustGeneration.generateRecipes(matInfo); - RecipeGen_Extruder.generateRecipes(matInfo); - RecipeGen_Fluids.generateRecipes(matInfo); - RecipeGen_Plates.generateRecipes(matInfo); - RecipeGen_ShapedCrafting.generateRecipes(matInfo); - return true; } - + public static void generateDusts(final Material matInfo){ final String unlocalizedName = matInfo.getUnlocalizedName(); final String materialName = matInfo.getLocalizedName(); @@ -151,23 +157,24 @@ public class MaterialGenerator { } if (matInfo.getState() == MaterialState.SOLID){ - Item temp; - temp = new BaseItemDust("itemDust"+unlocalizedName, materialName, matInfo, Colour, "Dust", materialTier, sRadiation, false); - temp = new BaseItemDust("itemDustTiny"+unlocalizedName, materialName, matInfo, Colour, "Tiny", materialTier, sRadiation, false); - temp = new BaseItemDust("itemDustSmall"+unlocalizedName, materialName, matInfo, Colour, "Small", materialTier, sRadiation, false); + Item temp; + temp = new BaseItemDust("itemDust"+unlocalizedName, materialName, matInfo, Colour, "Dust", materialTier, sRadiation, false); + temp = new BaseItemDust("itemDustTiny"+unlocalizedName, materialName, matInfo, Colour, "Tiny", materialTier, sRadiation, false); + temp = new BaseItemDust("itemDustSmall"+unlocalizedName, materialName, matInfo, Colour, "Small", materialTier, sRadiation, false); } //Add A jillion Recipes - old code RecipeGen_DustGeneration.addMixerRecipe_Standalone(matInfo); RecipeGen_Fluids.generateRecipes(matInfo); } - + public static void generateNuclearMaterial(final Material matInfo){ generateNuclearMaterial(matInfo, true); } @SuppressWarnings("unused") public static void generateNuclearMaterial(final Material matInfo, final boolean generatePlates){ + try { final String unlocalizedName = matInfo.getUnlocalizedName(); final String materialName = matInfo.getLocalizedName(); final short[] C = matInfo.getRGBA(); @@ -196,6 +203,9 @@ public class MaterialGenerator { RecipeGen_Fluids.generateRecipes(matInfo); RecipeGen_Assembler.generateRecipes(matInfo); RecipeGen_DustGeneration.generateRecipes(matInfo, true); + } catch (Throwable t){ + Utils.LOG_INFO(""+matInfo.getLocalizedName()+" failed to generate."); + } } |