aboutsummaryrefslogtreecommitdiff
path: root/src/Java
diff options
context:
space:
mode:
authorAlkalus <draknyte1@hotmail.com>2017-08-24 09:24:00 +1000
committerAlkalus <draknyte1@hotmail.com>2017-08-24 09:24:00 +1000
commit5193d44e274abb6fa51fac59bda548307c35b6a4 (patch)
tree26e5229ab9710de30cce53ec338face9dfae5b84 /src/Java
parentf40e570aa155652c97c0c45ec6a18a4bfca86087 (diff)
downloadGT5-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.java11
-rw-r--r--src/Java/gtPlusPlus/core/material/Material.java6
-rw-r--r--src/Java/gtPlusPlus/core/material/MaterialGenerator.java160
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.");
+ }
}