diff options
author | Kyium <43573052+Kyium@users.noreply.github.com> | 2023-09-18 16:43:42 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-09-18 16:43:42 +0100 |
commit | 80c02e661544471acb455aa5b92b3770a57366ae (patch) | |
tree | 5b6fc64d9211165f5a698a8dce764bedc9d51494 | |
parent | eea97c95565979a00eb45e7b8be3c2129f6c5d1b (diff) | |
download | GT5-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.java | 10 |
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)) { |