aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKyium <43573052+Kyium@users.noreply.github.com>2023-09-18 16:43:42 +0100
committerGitHub <noreply@github.com>2023-09-18 16:43:42 +0100
commit80c02e661544471acb455aa5b92b3770a57366ae (patch)
tree5b6fc64d9211165f5a698a8dce764bedc9d51494
parenteea97c95565979a00eb45e7b8be3c2129f6c5d1b (diff)
downloadGT5-Unofficial-80c02e661544471acb455aa5b92b3770a57366ae.tar.gz
GT5-Unofficial-80c02e661544471acb455aa5b92b3770a57366ae.tar.bz2
GT5-Unofficial-80c02e661544471acb455aa5b92b3770a57366ae.zip
Multiblock chance bug fix (#748)
* fixed a bug from my multiblock recipe duplication remover that messed with the order of recipe outputs that had chances. * commented changes --------- Co-authored-by: Kyium <kyiumjbird@gmail.com>
-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)) {