aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus
diff options
context:
space:
mode:
authorJordan Byrne <draknyte1@hotmail.com>2018-04-16 21:50:00 +1000
committerJordan Byrne <draknyte1@hotmail.com>2018-04-16 21:50:00 +1000
commit11c6879c2b997a587d8aa6e67be3a9183fbb01ae (patch)
treefdd333c72968731a77d1ce411f55084ea6cf1ef0 /src/Java/gtPlusPlus
parent333c1a09cf1a6ae7e128284c27d098f548042cca (diff)
downloadGT5-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.java45
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/recipes/GregtechRecipeAdder.java80
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;