aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/Java/gregtech/api/util/Recipe_GT.java2
-rw-r--r--src/Java/miscutil/MiscUtils.java27
-rw-r--r--src/Java/miscutil/core/recipe/RECIPES_GREGTECH.java8
-rw-r--r--src/Java/miscutil/core/util/item/UtilsItems.java11
-rw-r--r--src/Java/miscutil/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntityMassFabricator.java47
-rw-r--r--src/Java/miscutil/xmod/gregtech/recipes/GregtechRecipeAdder.java32
-rw-r--r--src/Java/miscutil/xmod/gregtech/recipes/machines/RECIPEHANDLER_MatterFabricator.java12
7 files changed, 107 insertions, 32 deletions
diff --git a/src/Java/gregtech/api/util/Recipe_GT.java b/src/Java/gregtech/api/util/Recipe_GT.java
index 3d4cc8ae10..986b7c7ac4 100644
--- a/src/Java/gregtech/api/util/Recipe_GT.java
+++ b/src/Java/gregtech/api/util/Recipe_GT.java
@@ -234,7 +234,7 @@ public class Recipe_GT extends GT_Recipe{
//public static final Gregtech_Recipe_Map sMatterFabRecipes = new Gregtech_Recipe_Map(new HashSet<GregtechRecipe>(200), "gt.recipe.matterfab", "Matter Fabricator", null, RES_PATH_GUI + "basicmachines/Massfabricator", 1, 3, 1, 1, 1, E, 1, E, true, true);
public static final Gregtech_Recipe_Map_Fuel sRocketFuels = new Gregtech_Recipe_Map_Fuel(new HashSet<GT_Recipe>(10), "gt.recipe.rocketenginefuel", "Rocket Engine Fuel", null, RES_PATH_GUI + "basicmachines/Default", 1, 1, 0, 0, 1, "Fuel Value: ", 3000, " EU", true, true);
public static final Gregtech_Recipe_Map_Fuel sGeoThermalFuels = new Gregtech_Recipe_Map_Fuel(new HashSet<GT_Recipe>(10), "gt.recipe.geothermalfuel", "GeoThermal Fuel", null, RES_PATH_GUI + "basicmachines/Default", 1, 1, 0, 0, 1, "Fuel Value: ", 1000, " EU", true, true);
- public static final GT_Recipe_Map sChemicalDehydratorRecipes = new GT_Recipe_Map(new HashSet<GT_Recipe>(200), "gt.recipe.chemicaldehydrator", "Chemical Dehydrator", null, RES_PATH_GUI + "basicmachines/Dehydrator", 1, 1, 0, 0, 1, E, 1, E, true, true);
+ public static final GT_Recipe_Map sChemicalDehydratorRecipes = new GT_Recipe_Map(new HashSet<GT_Recipe>(200), "gt.recipe.chemicaldehydrator", "Chemical Dehydrator", null, RES_PATH_GUI + "basicmachines/Dehydrator", 1, 9, 0, 0, 1, E, 1, E, true, true);
/**
* HashMap of Recipes based on their Items
diff --git a/src/Java/miscutil/MiscUtils.java b/src/Java/miscutil/MiscUtils.java
index a2582cb259..040b187af0 100644
--- a/src/Java/miscutil/MiscUtils.java
+++ b/src/Java/miscutil/MiscUtils.java
@@ -10,10 +10,14 @@ import static miscutil.core.lib.CORE.configSwitches.enableCustomAlvearyBlocks;
import static miscutil.core.lib.CORE.configSwitches.enableSolarGenerators;
import static miscutil.core.lib.CORE.configSwitches.enableThaumcraftShardUnification;
import gregtech.api.util.GT_Config;
+import gregtech.api.util.GT_Recipe;
+import gregtech.api.util.GT_Recipe.GT_Recipe_Map;
+import gregtech.api.util.Recipe_GT.Gregtech_Recipe_Map;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
+import java.util.Collection;
import miscutil.core.commands.CommandMath;
import miscutil.core.common.CommonProxy;
@@ -21,6 +25,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.item.UtilsItems;
import miscutil.core.util.math.MathUtils;
import miscutil.xmod.gregtech.HANDLER_GT;
import net.minecraftforge.common.config.Configuration;
@@ -136,7 +141,12 @@ implements ActionListener
//Post-Init
@Mod.EventHandler
public void postInit(FMLPostInitializationEvent event) {
- proxy.postInit(event);
+ proxy.postInit(event);
+
+ dumpGtRecipeMap(Gregtech_Recipe_Map.sChemicalDehydratorRecipes);
+ dumpGtRecipeMap(Gregtech_Recipe_Map.sCokeOvenRecipes);
+ dumpGtRecipeMap(Gregtech_Recipe_Map.sMatterFab2Recipes);
+
}
@EventHandler
@@ -155,5 +165,20 @@ implements ActionListener
public void actionPerformed(ActionEvent arg0) {
}
+
+ protected void dumpGtRecipeMap(GT_Recipe_Map r){
+ Collection<GT_Recipe> x = r.mRecipeList;
+ Utils.LOG_INFO("Dumping "+r.mUnlocalizedName+" Recipes for Debug.");
+ for(GT_Recipe newBo : x){
+ Utils.LOG_INFO("========================");
+ Utils.LOG_INFO("Dumping Input: "+UtilsItems.getArrayStackNames(newBo.mInputs));
+ Utils.LOG_INFO("Dumping Inputs "+UtilsItems.getFluidArrayStackNames(newBo.mFluidInputs));
+ Utils.LOG_INFO("Dumping Duration: "+newBo.mDuration);
+ Utils.LOG_INFO("Dumping EU/t: "+newBo.mEUt);
+ Utils.LOG_INFO("Dumping Output: "+UtilsItems.getArrayStackNames(newBo.mOutputs));
+ Utils.LOG_INFO("Dumping Output: "+UtilsItems.getFluidArrayStackNames(newBo.mFluidOutputs));
+ Utils.LOG_INFO("========================");
+ }
+ }
}
diff --git a/src/Java/miscutil/core/recipe/RECIPES_GREGTECH.java b/src/Java/miscutil/core/recipe/RECIPES_GREGTECH.java
index 6c3fe841fe..bff73a4db9 100644
--- a/src/Java/miscutil/core/recipe/RECIPES_GREGTECH.java
+++ b/src/Java/miscutil/core/recipe/RECIPES_GREGTECH.java
@@ -40,7 +40,7 @@ public class RECIPES_GREGTECH {
//GT Logs to Charcoal Recipe
//With Sulfuric Acid
CORE.RA.addCokeOvenRecipe(
- GT_OreDictUnificator.get(OrePrefixes.log, Materials.Wood, 2L), //Input 1
+ GT_OreDictUnificator.get(OrePrefixes.log, Materials.Wood, 1L), //Input 1
GT_OreDictUnificator.get(OrePrefixes.log, Materials.Wood, 1L), //Input 2
Materials.SulfuricAcid.getFluid(20L), //Fluid Input
Materials.Creosote.getFluid(175L), //Fluid Output
@@ -53,7 +53,7 @@ public class RECIPES_GREGTECH {
//Coal -> Coke Recipe
//With Sulfuric Acid
CORE.RA.addCokeOvenRecipe(
- GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Coal, 2L), //Input 1
+ GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Coal, 1L), //Input 1
GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Coal, 1L), //Input 2
Materials.SulfuricAcid.getFluid(60L), //Fluid Input
Materials.Creosote.getFluid(250L), //Fluid Output
@@ -66,7 +66,7 @@ public class RECIPES_GREGTECH {
//GT Logs to Charcoal Recipe
//Without Sulfuric Acid
CORE.RA.addCokeOvenRecipe(
- GT_OreDictUnificator.get(OrePrefixes.log, Materials.Wood, 2L), //Input 1
+ GT_OreDictUnificator.get(OrePrefixes.log, Materials.Wood, 1L), //Input 1
GT_OreDictUnificator.get(OrePrefixes.log, Materials.Wood, 1L), //Input 2
FluidUtils.getFluidStack("oxygen", 80), //Fluid Input
Materials.Creosote.getFluid(145L), //Fluid Output
@@ -79,7 +79,7 @@ public class RECIPES_GREGTECH {
//Coal -> Coke Recipe
//Without Sulfuric Acid
CORE.RA.addCokeOvenRecipe(
- GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Coal, 2L), //Input 1
+ GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Coal, 1L), //Input 1
GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Coal, 1L), //Input 2
FluidUtils.getFluidStack("oxygen", 185), //Fluid Input
Materials.Creosote.getFluid(200L), //Fluid Output
diff --git a/src/Java/miscutil/core/util/item/UtilsItems.java b/src/Java/miscutil/core/util/item/UtilsItems.java
index e46b49074f..e7d7ca6f8e 100644
--- a/src/Java/miscutil/core/util/item/UtilsItems.java
+++ b/src/Java/miscutil/core/util/item/UtilsItems.java
@@ -31,6 +31,7 @@ import net.minecraft.client.Minecraft;
import net.minecraft.item.Item;
import net.minecraft.item.Item.ToolMaterial;
import net.minecraft.item.ItemStack;
+import net.minecraftforge.fluids.FluidStack;
import net.minecraftforge.oredict.OreDictionary;
import cpw.mods.fml.common.registry.GameRegistry;
@@ -346,5 +347,15 @@ public class UtilsItems {
return itemNames;
}
+
+ public static String getFluidArrayStackNames(FluidStack[] aStack){
+ String itemNames = "Fluid Array: ";
+ for (FluidStack alph : aStack){
+ String temp = itemNames;
+ itemNames = temp + ", " + alph.getFluid().getName() + " x" + alph.amount;
+ }
+ return itemNames;
+
+ }
}
diff --git a/src/Java/miscutil/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntityMassFabricator.java b/src/Java/miscutil/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntityMassFabricator.java
index 13d10e71de..45948cefbb 100644
--- a/src/Java/miscutil/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntityMassFabricator.java
+++ b/src/Java/miscutil/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntityMassFabricator.java
@@ -19,6 +19,7 @@ import java.util.Arrays;
import miscutil.core.block.ModBlocks;
import miscutil.core.lib.CORE;
import miscutil.core.util.Utils;
+import miscutil.core.util.fluid.FluidUtils;
import miscutil.core.util.item.UtilsItems;
import miscutil.xmod.gregtech.api.gui.GUI_MultiMachine;
import net.minecraft.block.Block;
@@ -37,6 +38,8 @@ public class GregtechMetaTileEntityMassFabricator extends GT_MetaTileEntity_Mult
public static boolean sRequiresUUA = false;
private int recipeCounter = 0;
private static Block IC2Glass = Block.getBlockFromItem(UtilsItems.getItem("IC2:blockAlloyGlass"));
+ FluidStack tempFake = FluidUtils.getFluidStack("uuamplifier", 1);
+ GT_Recipe fakeRecipe;
//public FluidStack mFluidOut = Materials.UUMatter.getFluid(1L);
public GregtechMetaTileEntityMassFabricator(int aID, String aName, String aNameRegional) {
@@ -109,6 +112,7 @@ public class GregtechMetaTileEntityMassFabricator extends GT_MetaTileEntity_Mult
byte tTier = (byte) Math.max(1, GT_Utility.getTier(tVoltage));
FluidStack[] tFluids = (FluidStack[]) Arrays.copyOfRange(tFluidList.toArray(new FluidStack[tFluidList.size()]), 0, tFluidList.size());
if (tFluids.length > 0) {
+ //Utils.LOG_INFO("Input fluid found");
for(int i = 0;i<tFluids.length;i++){
GT_Recipe tRecipe = Recipe_GT.Gregtech_Recipe_Map.sMatterFab2Recipes.findRecipe(getBaseMetaTileEntity(), false, gregtech.api.enums.GT_Values.V[tTier], new FluidStack[]{tFluids[i]}, new ItemStack[]{});
if (tRecipe != null) {
@@ -141,9 +145,52 @@ public class GregtechMetaTileEntityMassFabricator extends GT_MetaTileEntity_Mult
}
else {
Utils.LOG_INFO("Invalid Recipe");
+ return false;
}
}
}
+ else if (tFluids.length == 0) {
+ //Utils.LOG_INFO("Input fluid not found");
+ fakeRecipe = Recipe_GT.Gregtech_Recipe_Map.sMatterFab2Recipes.findRecipe(getBaseMetaTileEntity(), false, gregtech.api.enums.GT_Values.V[tTier], new FluidStack[]{tempFake}, new ItemStack[]{});
+
+ this.mEfficiency = (10000 - (getIdealStatus() - getRepairStatus()) * 1000);
+ this.mEfficiencyIncrease = 10000;
+
+ this.mEUt = 32;
+ this.mMaxProgresstime = (160*20);
+ while (this.mEUt <= gregtech.api.enums.GT_Values.V[(tTier - 1)]) {
+ this.mEUt *= 4;
+ this.mMaxProgresstime /= 2;
+ }
+
+ if (this.mEUt > 0) {
+ this.mEUt = (-this.mEUt);
+ }
+
+ if (fakeRecipe != null) {
+ this.mMaxProgresstime = Math.max(1, this.mMaxProgresstime);
+ this.mOutputItems = new ItemStack[]{fakeRecipe.getOutput(0)};
+ this.mOutputFluids = fakeRecipe.mFluidOutputs.clone();
+ ArrayUtils.reverse(mOutputFluids);
+ recipeCounter++;
+ updateSlots();
+ //Utils.LOG_INFO("Recipes Finished: "+recipeCounter);
+ return true;
+ }
+ Utils.LOG_INFO("fakeRecipe was Null");
+
+ this.mMaxProgresstime = Math.max(1, this.mMaxProgresstime);
+ this.mOutputItems = new ItemStack[]{null};
+ this.mOutputFluids = new FluidStack[] {FluidUtils.getFluidStack("uumatter", 1)};
+ ArrayUtils.reverse(mOutputFluids);
+ recipeCounter++;
+ updateSlots();
+ Utils.LOG_INFO("Recipes Finished: "+recipeCounter);
+ return true;
+ }
+ else {
+ Utils.LOG_INFO("Invalid no input Recipe");
+ }
return false;
}
diff --git a/src/Java/miscutil/xmod/gregtech/recipes/GregtechRecipeAdder.java b/src/Java/miscutil/xmod/gregtech/recipes/GregtechRecipeAdder.java
index 2589ceee23..2eca5b40be 100644
--- a/src/Java/miscutil/xmod/gregtech/recipes/GregtechRecipeAdder.java
+++ b/src/Java/miscutil/xmod/gregtech/recipes/GregtechRecipeAdder.java
@@ -72,35 +72,17 @@ public class GregtechRecipeAdder implements IGregtech_RecipeAdder {
public boolean addMatterFabricatorRecipe(FluidStack aFluidInput, FluidStack aFluidOutput, int aDuration, int aEUt) {
try {
try {
- RECIPEHANDLER_MatterFabricator.debug1();
+ //RECIPEHANDLER_MatterFabricator.debug1();
if (aFluidOutput == null) {
- Utils.LOG_WARNING("aFluidInput:"+aFluidInput.toString()+" aFluidOutput:"+aFluidOutput.toString()+" aDuration:"+aDuration+" aEU/t:"+aEUt);
+ //Utils.LOG_WARNING("aFluidInput:"+aFluidInput.toString()+" aFluidOutput:"+aFluidOutput.toString()+" aDuration:"+aDuration+" aEU/t:"+aEUt);
Utils.LOG_WARNING("Something was null, returning false");
return false;
}
} catch (NullPointerException e){e.getStackTrace();}
- try {
- RECIPEHANDLER_MatterFabricator.debug2(aFluidInput, aFluidOutput, aDuration, aEUt);
- if ((aFluidOutput == null)/* && ((aDuration = GregTech_API.sRecipeFile.get("matterfab", null, aDuration)) <= 0)*/) {
- Utils.LOG_WARNING("aFluidInput:"+aFluidInput.toString()+" aFluidOutput:"+aFluidOutput.toString()+" aDuration:"+aDuration+" aEU/t:"+aEUt);
- Utils.LOG_WARNING("Something was null, returning false");
- return false;
- }
-
- } catch (NullPointerException e){e.getStackTrace();}
- /*try {
-
- RECIPEHANDLER_MatterFabricator.debug3(aFluidInput, aFluidOutput, aDuration, aEUt);
- if ((aFluidOutput == null) && ((aDuration = GregTech_API.sRecipeFile.get("matterfab", aFluidOutput.getFluid().getName(), aDuration)) <= 0)) {
- Utils.LOG_WARNING("aFluidInput:"+aFluidInput.toString()+" aFluidOutput:"+aFluidOutput.toString()+" aDuration:"+aDuration+" aEU/t:"+aEUt);
- Utils.LOG_WARNING("Something was null, returning false");
- return false;
- }
-
- } catch (NullPointerException e){e.getStackTrace();}*/
- try {
- RECIPEHANDLER_MatterFabricator.debug4(aFluidInput, aFluidOutput, aDuration, aEUt);
+ try{
+
+ //RECIPEHANDLER_MatterFabricator.debug4(aFluidInput, aFluidOutput, aDuration, aEUt);
if (aFluidInput == null){
//Recipe_GT.Gregtech_Recipe_Map.sMatterFabRecipes.addRecipe(true, null, new FluidStack[]{aFluidOutput}, aDuration, aEUt, 0);
Recipe_GT.Gregtech_Recipe_Map.sMatterFab2Recipes.addRecipe(true, null, null, null, null, new FluidStack[]{aFluidOutput}, aDuration, aEUt, 0);
@@ -117,7 +99,7 @@ public class GregtechRecipeAdder implements IGregtech_RecipeAdder {
return false;
}
} catch (Throwable e){
- Utils.LOG_WARNING("aFluidInput:"+aFluidInput.toString()+" aFluidOutput:"+aFluidOutput.toString()+" aDuration:"+aDuration+" aEU/t:"+aEUt);
+ //Utils.LOG_WARNING("aFluidInput:"+aFluidInput.toString()+" aFluidOutput:"+aFluidOutput.toString()+" aDuration:"+aDuration+" aEU/t:"+aEUt);
Utils.LOG_WARNING("Failed.");
e.getStackTrace();
return false;
@@ -204,7 +186,7 @@ public class GregtechRecipeAdder implements IGregtech_RecipeAdder {
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");
+ Utils.LOG_INFO("Recipe requires input: "+aFluidInput.getFluid().getName()+" "+aFluidInput.amount+"mbst");
}
if (((aInput1 == null) && (aFluidInput == null)) || ((aOutputItems == null) && (aFluidOutput == null))) {
return false;
diff --git a/src/Java/miscutil/xmod/gregtech/recipes/machines/RECIPEHANDLER_MatterFabricator.java b/src/Java/miscutil/xmod/gregtech/recipes/machines/RECIPEHANDLER_MatterFabricator.java
index 165112451f..0e92004390 100644
--- a/src/Java/miscutil/xmod/gregtech/recipes/machines/RECIPEHANDLER_MatterFabricator.java
+++ b/src/Java/miscutil/xmod/gregtech/recipes/machines/RECIPEHANDLER_MatterFabricator.java
@@ -36,7 +36,17 @@ public class RECIPEHANDLER_MatterFabricator {
}
public static void debug5(FluidStack aFluidInput, FluidStack aFluidOutput, int aDuration, int aEUt){
- Utils.LOG_INFO("Successfully added a Matter Fabrication recipe for: "+aFluidOutput.getFluid().getName()+", Using "+" liquid "+aFluidInput.getFluid().getName()+". This takes "+(aDuration/20)+" seconds for "+aEUt+"eu/t.");
+ String a = "nothing";
+ String b = "";
+
+ if (aFluidInput != null){
+ a = aFluidInput.getFluid().getName();
+ }
+ if (aFluidOutput != null){
+ b = aFluidOutput.getFluid().getName();
+ }
+
+ Utils.LOG_INFO("Successfully added a Matter Fabrication recipe for: "+b+", Using "+" liquid "+a+". This takes "+(aDuration/20)+" seconds for "+aEUt+"eu/t.");
Utils.LOG_WARNING("==================================================================================");
Utils.LOG_WARNING("==================================================================================");
Utils.LOG_WARNING("==================================================================================");