aboutsummaryrefslogtreecommitdiff
path: root/src/Java/miscutil
diff options
context:
space:
mode:
authorDraknyte1 <Draknyte1@hotmail.com>2016-09-06 14:43:38 +1000
committerDraknyte1 <Draknyte1@hotmail.com>2016-09-06 14:43:38 +1000
commita86f2fe29fba9173f65a0ef7a6961c17e5d1cc4b (patch)
tree735e07e76befa35ea237e57883f067cd402f9654 /src/Java/miscutil
parente12c5cafb9485ae1f62eeeed3a795d239e85cba5 (diff)
downloadGT5-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')
-rw-r--r--src/Java/miscutil/MiscUtils.java34
-rw-r--r--src/Java/miscutil/core/lib/MaterialInfo.java3
-rw-r--r--src/Java/miscutil/core/recipe/RECIPES_GREGTECH.java15
-rw-r--r--src/Java/miscutil/xmod/gregtech/api/interfaces/internal/IGregtech_RecipeAdder.java2
-rw-r--r--src/Java/miscutil/xmod/gregtech/recipes/GregtechRecipeAdder.java47
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;
+ }
+
+
+
+
+
+
+
+
+
+
+
+
}