diff options
author | Jordan Byrne <draknyte1@hotmail.com> | 2018-04-16 21:50:00 +1000 |
---|---|---|
committer | Jordan Byrne <draknyte1@hotmail.com> | 2018-04-16 21:50:00 +1000 |
commit | 11c6879c2b997a587d8aa6e67be3a9183fbb01ae (patch) | |
tree | fdd333c72968731a77d1ce411f55084ea6cf1ef0 /src/Java/gtPlusPlus | |
parent | 333c1a09cf1a6ae7e128284c27d098f548042cca (diff) | |
download | GT5-Unofficial-11c6879c2b997a587d8aa6e67be3a9183fbb01ae.tar.gz GT5-Unofficial-11c6879c2b997a587d8aa6e67be3a9183fbb01ae.tar.bz2 GT5-Unofficial-11c6879c2b997a587d8aa6e67be3a9183fbb01ae.zip |
$ Did a better job fixing the Invalid cell counter check for Advanced Freezer Recipes.
Diffstat (limited to 'src/Java/gtPlusPlus')
-rw-r--r-- | src/Java/gtPlusPlus/core/util/minecraft/RecipeUtils.java | 45 | ||||
-rw-r--r-- | src/Java/gtPlusPlus/xmod/gregtech/recipes/GregtechRecipeAdder.java | 80 |
2 files changed, 64 insertions, 61 deletions
diff --git a/src/Java/gtPlusPlus/core/util/minecraft/RecipeUtils.java b/src/Java/gtPlusPlus/core/util/minecraft/RecipeUtils.java index e5e4bb1181..ce24edc776 100644 --- a/src/Java/gtPlusPlus/core/util/minecraft/RecipeUtils.java +++ b/src/Java/gtPlusPlus/core/util/minecraft/RecipeUtils.java @@ -341,12 +341,12 @@ public class RecipeUtils { boolean[] hasMultiStack = new boolean[9]; boolean inUse[] = {false, false, false}; ItemStack array[][] = new ItemStack[3][9]; - + Object[] inputs = { InputItem1, InputItem2, InputItem3, InputItem4, InputItem5, InputItem6, InputItem7, InputItem8, InputItem9}; - + for (Object o : inputs){ if (o.getClass().isArray()){ if (inUse[using] == false){ @@ -361,10 +361,10 @@ public class RecipeUtils { } recipeSlotCurrent++; } - + int using2 = 0; for (boolean t : inUse){ - + if (t){ if (array[using2] != null){ //addShapedGregtechRecipe @@ -372,8 +372,8 @@ public class RecipeUtils { } using2++; } - - + + return false; } @@ -486,7 +486,7 @@ public class RecipeUtils { public static boolean buildShapelessRecipe(final ItemStack output, final Object[] input){ return ShapelessUtils.addShapelessRecipe(output, input); } - + public static boolean generateMortarRecipe(ItemStack aStack, ItemStack aOutput) { return RecipeUtils.addShapedGregtechRecipe( aStack, null, null, @@ -496,20 +496,27 @@ public class RecipeUtils { } public static boolean doesGregtechRecipeHaveEqualCells(GT_Recipe x) { - if (x.mInputs.length < 1) { + if (x.mInputs.length == 0 && x.mOutputs.length == 0) { + return true; + } + + final int tInputAmount = GT_ModHandler.getCapsuleCellContainerCountMultipliedWithStackSize(x.mInputs); + final int tOutputAmount = GT_ModHandler.getCapsuleCellContainerCountMultipliedWithStackSize(x.mOutputs); + + if (tInputAmount < tOutputAmount) { + if (!Materials.Tin.contains(x.mInputs)) { return false; } - final int tInputAmount = GT_ModHandler.getCapsuleCellContainerCountMultipliedWithStackSize(x.mInputs); - final int tOutputAmount = GT_ModHandler.getCapsuleCellContainerCountMultipliedWithStackSize(x.mOutputs); - if (tInputAmount < tOutputAmount) { - if (!Materials.Tin.contains(x.mInputs)) { - return false; - } - } else if (tInputAmount > tOutputAmount && !Materials.Tin.contains(x.mOutputs)) { - return false; - } - - return true; + else { + return true; + } + } + else if (tInputAmount > tOutputAmount && !Materials.Tin.contains(x.mOutputs)) { + return false; + } + else { + return true; + } } } diff --git a/src/Java/gtPlusPlus/xmod/gregtech/recipes/GregtechRecipeAdder.java b/src/Java/gtPlusPlus/xmod/gregtech/recipes/GregtechRecipeAdder.java index 29c05c4045..8799300eb6 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/recipes/GregtechRecipeAdder.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/recipes/GregtechRecipeAdder.java @@ -5,10 +5,12 @@ import net.minecraft.item.ItemStack; import gregtech.api.GregTech_API; import gregtech.api.enums.Materials; import gregtech.api.util.CustomRecipeMap; +import gregtech.api.util.GT_Recipe; import gregtech.api.util.Recipe_GT; import gtPlusPlus.api.objects.Logger; import gtPlusPlus.core.util.minecraft.ItemUtils; +import gtPlusPlus.core.util.minecraft.RecipeUtils; import gtPlusPlus.xmod.gregtech.api.interfaces.internal.IGregtech_RecipeAdder; import gtPlusPlus.xmod.gregtech.recipes.machines.RECIPEHANDLER_MatterFabricator; import net.minecraftforge.fluids.FluidStack; @@ -481,53 +483,47 @@ public class GregtechRecipeAdder implements IGregtech_RecipeAdder { null, new FluidStack[] { aFluidInput }, null, aDuration, aEUt, 0); return true; } - - + + public boolean addMultiblockCentrifugeRecipe(ItemStack[] aInputs, FluidStack[] aFluidInputs, FluidStack[] aFluidOutputs, ItemStack[] aOutputs, int aDuration, int aEUtick){ - if (areItemsAndFluidsBothNull(aInputs, aFluidInputs) || areItemsAndFluidsBothNull(aOutputs, aFluidOutputs)) { - return false; - } - if (aEUtick <= 0) { - return false; - } - Recipe_GT.Gregtech_Recipe_Map.sMultiblockCentrifugeRecipes.addRecipe(false, aInputs, aOutputs, null, null, aFluidInputs, aFluidOutputs, aDuration, aEUtick, 0); - return true; + if (areItemsAndFluidsBothNull(aInputs, aFluidInputs) || areItemsAndFluidsBothNull(aOutputs, aFluidOutputs) || aEUtick <= 0) { + return false; + } + Recipe_GT.Gregtech_Recipe_Map.sMultiblockCentrifugeRecipes.addRecipe(false, aInputs, aOutputs, null, null, aFluidInputs, aFluidOutputs, aDuration, aEUtick, 0); + return true; } - + public boolean addMultiblockElectrolyzerRecipe(ItemStack[] aInputs, FluidStack[] aFluidInputs, FluidStack[] aFluidOutputs, ItemStack[] aOutputs, int aDuration, int aEUtick){ - if (areItemsAndFluidsBothNull(aInputs, aFluidInputs) || areItemsAndFluidsBothNull(aOutputs, aFluidOutputs)) { - return false; - } - if (aEUtick <= 0) { - return false; - } - Recipe_GT.Gregtech_Recipe_Map.sMultiblockElectrolyzerRecipes.addRecipe(false, aInputs, aOutputs, null, null, aFluidInputs, aFluidOutputs, aDuration, aEUtick, 0); - return true; + if (areItemsAndFluidsBothNull(aInputs, aFluidInputs) || areItemsAndFluidsBothNull(aOutputs, aFluidOutputs) || aEUtick <= 0) { + return false; + } + Recipe_GT.Gregtech_Recipe_Map.sMultiblockElectrolyzerRecipes.addRecipe(false, aInputs, aOutputs, null, null, aFluidInputs, aFluidOutputs, aDuration, aEUtick, 0); + return true; } - - - public boolean addAdvancedFreezerRecipe(ItemStack[] aInputs, FluidStack[] aFluidInputs, FluidStack[] aFluidOutputs, ItemStack[] aOutputs, int aDuration, int aEUtick) { - if (areItemsAndFluidsBothNull(aInputs, aFluidInputs) || areItemsAndFluidsBothNull(aOutputs, aFluidOutputs)) { - return false; - } - if (aEUtick <= 0) { - return false; - } - Recipe_GT.Gregtech_Recipe_Map.sAdvFreezerRecipes.addRecipe(false, aInputs, aOutputs, null, null, aFluidInputs, aFluidOutputs, aDuration, aEUtick, 0); - return true; + + + public boolean addAdvancedFreezerRecipe(ItemStack[] aInputs, FluidStack[] aFluidInputs, FluidStack[] aFluidOutputs, ItemStack[] aOutputs, int aDuration, int aEUtick) { + if (areItemsAndFluidsBothNull(aInputs, aFluidInputs) || areItemsAndFluidsBothNull(aOutputs, aFluidOutputs) || aEUtick <= 0) { + return false; + } + if (Recipe_GT.Gregtech_Recipe_Map.sAdvFreezerRecipes.addRecipe(false, aInputs, aOutputs, null, null, aFluidInputs, aFluidOutputs, aDuration, aEUtick, 0) != null) { + return true; + } + return false; + } - - - - - - - - - - - - + + + + + + + + + + + + private boolean areItemsAndFluidsBothNull(final ItemStack[] items, final FluidStack[] fluids) { boolean itemsNull = true; |