diff options
author | Draknyte1 <Draknyte1@hotmail.com> | 2016-09-06 14:43:38 +1000 |
---|---|---|
committer | Draknyte1 <Draknyte1@hotmail.com> | 2016-09-06 14:43:38 +1000 |
commit | a86f2fe29fba9173f65a0ef7a6961c17e5d1cc4b (patch) | |
tree | 735e07e76befa35ea237e57883f067cd402f9654 /src/Java/miscutil | |
parent | e12c5cafb9485ae1f62eeeed3a795d239e85cba5 (diff) | |
download | GT5-Unofficial-a86f2fe29fba9173f65a0ef7a6961c17e5d1cc4b.tar.gz GT5-Unofficial-a86f2fe29fba9173f65a0ef7a6961c17e5d1cc4b.tar.bz2 GT5-Unofficial-a86f2fe29fba9173f65a0ef7a6961c17e5d1cc4b.zip |
+ Made Energy Crystal have a different recipe every day. (There is about 300 possible permutations)
% Tried adding another recipe handler for the dehydrator.
> This one combines the mixer input, fluid input, fluid output, with a sifter multi output and chance.
Diffstat (limited to 'src/Java/miscutil')
5 files changed, 98 insertions, 3 deletions
diff --git a/src/Java/miscutil/MiscUtils.java b/src/Java/miscutil/MiscUtils.java index 8407ddab6a..a2582cb259 100644 --- a/src/Java/miscutil/MiscUtils.java +++ b/src/Java/miscutil/MiscUtils.java @@ -21,6 +21,7 @@ import miscutil.core.handler.events.LoginEventHandler; import miscutil.core.item.general.RF2EU_Battery; import miscutil.core.lib.CORE; import miscutil.core.util.Utils; +import miscutil.core.util.math.MathUtils; import miscutil.xmod.gregtech.HANDLER_GT; import net.minecraftforge.common.config.Configuration; import cpw.mods.fml.common.FMLCommonHandler; @@ -71,6 +72,37 @@ implements ActionListener config.save(); } + + public static String randomDust_A; + public static String randomDust_B; + public static String randomDust_C; + public static String randomDust_D; + + protected void FirstCall(){ + Utils.LOG_WARNING("Summoning up mystic powers."); + String[] infusedDusts = {"Fire", "Water", "Earth", "Air", "Order", "Entropy"}; + int a = MathUtils.randInt(0, 5); + int b = MathUtils.randInt(0, 5); + int c = MathUtils.randInt(0, 5); + int d = MathUtils.randInt(0, 5); + String infusedDust1 = "dustInfused"+infusedDusts[a]; + String infusedDust2 = "dustInfused"+infusedDusts[b]; + String infusedDust3 = "dustInfused"+infusedDusts[c]; + String infusedDust4 = "dustInfused"+infusedDusts[d]; + Utils.LOG_INFO("Found the aspect of "+infusedDust1+" to embody into energy crystals."); + Utils.LOG_INFO("Found the aspect of "+infusedDust2+" to embody into energy crystals."); + Utils.LOG_INFO("Found the aspect of "+infusedDust3+" to embody into energy crystals."); + Utils.LOG_INFO("Found the aspect of "+infusedDust4+" to embody into energy crystals."); + randomDust_A = infusedDust1; + randomDust_B = infusedDust2; + randomDust_C = infusedDust3; + randomDust_D = infusedDust4; + //ItemStack a1 = UtilsItems.getItemStackOfAmountFromOreDict("dustInfused"+infusedDusts[a], 8); + //ItemStack b1 = UtilsItems.getItemStackOfAmountFromOreDict("dustInfused"+infusedDusts[b], 8); + //ItemStack c1 = UtilsItems.getItemStackOfAmountFromOreDict("dustInfused"+infusedDusts[c], 8); + //ItemStack d1 = UtilsItems.getItemStackOfAmountFromOreDict("dustInfused"+infusedDusts[d], 8); + + } @@ -80,7 +112,7 @@ implements ActionListener public void preInit(FMLPreInitializationEvent event) { Utils.LOG_INFO("Loading "+CORE.name+" V"+CORE.VERSION); - + FirstCall(); FMLCommonHandler.instance().bus().register(new LoginEventHandler()); Utils.LOG_INFO("Login Handler Initialized"); diff --git a/src/Java/miscutil/core/lib/MaterialInfo.java b/src/Java/miscutil/core/lib/MaterialInfo.java index b886ba543f..4d651f4476 100644 --- a/src/Java/miscutil/core/lib/MaterialInfo.java +++ b/src/Java/miscutil/core/lib/MaterialInfo.java @@ -5,11 +5,12 @@ import static miscutil.core.util.item.UtilsItems.getItemStackOfAmountFromOreDict import java.util.List; +import miscutil.MiscUtils; import net.minecraft.item.ItemStack; public enum MaterialInfo { - ENERGYCRYSTAL("dustInfusedFire", 8, "dustInfusedEarth", 8, "dustInfusedEntropy", 8, "dustInfusedOrder", 8, "dustEnergyCrystal", 1, noItem, 0), + ENERGYCRYSTAL(MiscUtils.randomDust_A, 8, MiscUtils.randomDust_B, 8, MiscUtils.randomDust_C, 8, MiscUtils.randomDust_D, 8, "dustEnergyCrystal", 1, noItem, 0), BLOODSTEEL(noItem, 0, noItem, 0, noItem, 0, noItem, 0, noItem, 0, noItem, 0), STABALLOY("dustTitanium", 1, "dustUranium", 8, noItem, 0, noItem, 0, "dustStaballoy", 1, noItem, 0), TANTALLOY60("dustTungsten", 1, "dustTantalum", 8, "dustTinyTitanium", 5, noItem, 0, "dustTantalloy60", 1, noItem, 0), diff --git a/src/Java/miscutil/core/recipe/RECIPES_GREGTECH.java b/src/Java/miscutil/core/recipe/RECIPES_GREGTECH.java index f9a3e369ce..6c3fe841fe 100644 --- a/src/Java/miscutil/core/recipe/RECIPES_GREGTECH.java +++ b/src/Java/miscutil/core/recipe/RECIPES_GREGTECH.java @@ -169,7 +169,22 @@ public class RECIPES_GREGTECH { }catch (NullPointerException e){Utils.LOG_INFO("FAILED TO LOAD RECIPES - NULL POINTER SOMEWHERE");} + try { + CORE.RA.addDehydratorRecipe( + null, //Item input (slot 1) + null, //Item input (slot 2) + FluidUtils.getFluidStack("sulfuriclithium", 1000), //Fluid input (slot 1) + null, //Fluid output (slot 1) + new ItemStack[]{ + UtilsItems.getItemStackOfAmountFromOreDict("dustSodium", 1), + UtilsItems.getItemStackOfAmountFromOreDict("dustCarbon", 1), + UtilsItems.getItemStackOfAmountFromOreDict("dustLithium", 1) + }, //Output Array of Items - Upto 9, + new int[]{0}, + 10*20, //Time in ticks + 30); //EU + }catch (NullPointerException e){Utils.LOG_INFO("FAILED TO LOAD RECIPES - NULL POINTER SOMEWHERE");} } private static void assemblerRecipes(){ diff --git a/src/Java/miscutil/xmod/gregtech/api/interfaces/internal/IGregtech_RecipeAdder.java b/src/Java/miscutil/xmod/gregtech/api/interfaces/internal/IGregtech_RecipeAdder.java index 06c6dc42e6..10e3b32b58 100644 --- a/src/Java/miscutil/xmod/gregtech/api/interfaces/internal/IGregtech_RecipeAdder.java +++ b/src/Java/miscutil/xmod/gregtech/api/interfaces/internal/IGregtech_RecipeAdder.java @@ -50,6 +50,6 @@ public interface IGregtech_RecipeAdder { public boolean addDehydratorRecipe(ItemStack aInput, FluidStack aFluid, ItemStack[] aOutputItems, int aDuration, int aEUt); public boolean addDehydratorRecipe(ItemStack aItemA, ItemStack aItemB, ItemStack[] aOutputItems, int aDuration, int aEUt); public boolean addDehydratorRecipe(ItemStack aItemA, ItemStack aItemB, FluidStack aFluid, ItemStack[] aOutputItems, FluidStack aOutputFluid, int aDuration, int aEUt); - + public boolean addDehydratorRecipe(ItemStack aInput1, ItemStack aInput2, FluidStack aFluidInput, FluidStack aFluidOutput, ItemStack[] aOutputItems, int[] aChances, int aDuration, int aEUt); } diff --git a/src/Java/miscutil/xmod/gregtech/recipes/GregtechRecipeAdder.java b/src/Java/miscutil/xmod/gregtech/recipes/GregtechRecipeAdder.java index 28cf60334b..2589ceee23 100644 --- a/src/Java/miscutil/xmod/gregtech/recipes/GregtechRecipeAdder.java +++ b/src/Java/miscutil/xmod/gregtech/recipes/GregtechRecipeAdder.java @@ -3,6 +3,7 @@ package miscutil.xmod.gregtech.recipes; import gregtech.api.GregTech_API; import gregtech.api.util.Recipe_GT; import miscutil.core.util.Utils; +import miscutil.core.util.item.UtilsItems; import miscutil.xmod.gregtech.api.interfaces.internal.IGregtech_RecipeAdder; import miscutil.xmod.gregtech.recipes.machines.RECIPEHANDLER_CokeOven; import miscutil.xmod.gregtech.recipes.machines.RECIPEHANDLER_Dehydrator; @@ -189,5 +190,51 @@ public class GregtechRecipeAdder implements IGregtech_RecipeAdder { RECIPEHANDLER_Dehydrator.debug5(null, null, aFluid, aOutputFluid, aOutputItems, aDuration, aEUt); return true; } + + + + + @Override + public boolean addDehydratorRecipe(ItemStack aInput1, ItemStack aInput2, FluidStack aFluidInput, FluidStack aFluidOutput, ItemStack[] aOutputItems, int[] aChances, int aDuration, int aEUt) { + Utils.LOG_INFO("Trying to add a Dehydrator recipe."); + if (aInput1 != null){ + Utils.LOG_INFO("Recipe requires input: "+aInput1.getDisplayName()+" x"+aInput1.stackSize); + } + if (aInput2 != null){ + Utils.LOG_INFO("Recipe requires input: "+aInput2.getDisplayName()+" x"+aInput2.stackSize); + } + if (aFluidInput != null){ + Utils.LOG_INFO("Recipe requires input: "+aFluidInput.getFluid().getName()+" "+aFluidInput.amount+"mb"); + } + if (((aInput1 == null) && (aFluidInput == null)) || ((aOutputItems == null) && (aFluidOutput == null))) { + return false; + } + if ((aOutputItems != null) && ((aDuration = GregTech_API.sRecipeFile.get("dehydrator", aOutputItems[0], aDuration)) <= 0)) { + return false; + } + if (aOutputItems != null){ + Utils.LOG_INFO("Recipe will output: "+UtilsItems.getArrayStackNames(aOutputItems)); + } + if ((aFluidOutput != null) && ((aDuration = GregTech_API.sRecipeFile.get("dehydrator", aFluidOutput.getFluid().getName(), aDuration)) <= 0)) { + return false; + } + if (aFluidOutput != null){ + Utils.LOG_INFO("Recipe will output: "+aFluidOutput.getFluid().getName()); + } + Recipe_GT.Gregtech_Recipe_Map.sChemicalDehydratorRecipes.addRecipe(true, new ItemStack[]{aInput1, aInput2}, aOutputItems, null, aChances, new FluidStack[]{aFluidInput}, new FluidStack[]{aFluidOutput}, aDuration, aEUt, 0); + return true; + } + + + + + + + + + + + + } |