aboutsummaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/gtPlusPlus/core/util/recipe/RecipeHashStrat.java10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/main/java/gtPlusPlus/core/util/recipe/RecipeHashStrat.java b/src/main/java/gtPlusPlus/core/util/recipe/RecipeHashStrat.java
index 8d32b9c830..e51d4da47a 100644
--- a/src/main/java/gtPlusPlus/core/util/recipe/RecipeHashStrat.java
+++ b/src/main/java/gtPlusPlus/core/util/recipe/RecipeHashStrat.java
@@ -27,14 +27,18 @@ public class RecipeHashStrat {
};
public static boolean areRecipesEqual(GT_Recipe recipe1, GT_Recipe recipe2) {
+ // both item outputs use a copy to prevent interfering with chance based output orders
// sort all the arrays for recipe1
RecipeHashStrat.sortItemStackArray(recipe1.mInputs);
- RecipeHashStrat.sortItemStackArray(recipe1.mOutputs);
+ ItemStack[] recipe1OutputCopy = recipe1.mOutputs.clone();
+ RecipeHashStrat.sortItemStackArray(recipe1OutputCopy);
RecipeHashStrat.sortFluidStackArray(recipe1.mFluidInputs);
RecipeHashStrat.sortFluidStackArray(recipe1.mFluidOutputs);
// sort all the arrays for recipe2
+
RecipeHashStrat.sortItemStackArray(recipe2.mInputs);
- RecipeHashStrat.sortItemStackArray(recipe2.mOutputs);
+ ItemStack[] recipe2OutputCopy = recipe2.mOutputs.clone();
+ RecipeHashStrat.sortItemStackArray(recipe2OutputCopy);
RecipeHashStrat.sortFluidStackArray(recipe2.mFluidInputs);
RecipeHashStrat.sortFluidStackArray(recipe2.mFluidOutputs);
@@ -48,7 +52,7 @@ public class RecipeHashStrat {
if (!areItemsStackArraysEqual(recipe1.mInputs, recipe2.mInputs)) {
return false;
}
- if (!areItemsStackArraysEqual(recipe1.mOutputs, recipe2.mOutputs)) {
+ if (!areItemsStackArraysEqual(recipe1OutputCopy, recipe2OutputCopy)) {
return false;
}
if (!areFluidStackArraysEqual(recipe1.mFluidInputs, recipe2.mFluidInputs)) {