aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGlodBlock <60341015+GlodBlock@users.noreply.github.com>2021-07-22 00:14:22 +0800
committerGitHub <noreply@github.com>2021-07-22 00:14:22 +0800
commit8a577f272eece3022bdcb98c461df658b70c89b7 (patch)
tree4a6789c66faf5d72fc204e615fe64cd25c0b1df0
parent9a09386e6a2a693eea18e9e52309f3630f7530e0 (diff)
parent7ed5c6119dbe26a6916d6f9b99b8aa87a7b26ee2 (diff)
downloadGT5-Unofficial-8a577f272eece3022bdcb98c461df658b70c89b7.tar.gz
GT5-Unofficial-8a577f272eece3022bdcb98c461df658b70c89b7.tar.bz2
GT5-Unofficial-8a577f272eece3022bdcb98c461df658b70c89b7.zip
Merge pull request #601 from GTNewHorizons/change-it-into-hashset-back
change it into hashset back
-rw-r--r--src/main/java/gregtech/api/util/GT_Recipe.java12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/main/java/gregtech/api/util/GT_Recipe.java b/src/main/java/gregtech/api/util/GT_Recipe.java
index 5db314ed30..a04df205b7 100644
--- a/src/main/java/gregtech/api/util/GT_Recipe.java
+++ b/src/main/java/gregtech/api/util/GT_Recipe.java
@@ -366,6 +366,8 @@ public class GT_Recipe implements Comparable<GT_Recipe> {
public static boolean GTppRecipeHelper;
public boolean isRecipeInputEqual(boolean aDecreaseStacksizeBySuccess, boolean aDontCheckStackSizes, FluidStack[] aFluidInputs, ItemStack... aInputs) {
+
+ if (mInputs.length > 0 && aInputs == null) return false;
if (mFluidInputs.length > 0 && aFluidInputs == null) return false;
int amt;
for (FluidStack tFluid : mFluidInputs)
@@ -387,10 +389,8 @@ public class GT_Recipe implements Comparable<GT_Recipe> {
if (temp) return false;
}
- if (mInputs.length > 0 && aInputs == null) return false;
-
- ConcurrentHashMap<Integer, Boolean> isUsed = new ConcurrentHashMap<>();
-
+ HashSet<Integer> isVisited = new HashSet<>();
+
for (ItemStack tStack : mInputs) {
ItemStack unified_tStack = GT_OreDictUnificator.get_nocopy(true, tStack);
if (unified_tStack != null) {
@@ -399,8 +399,8 @@ public class GT_Recipe implements Comparable<GT_Recipe> {
int it = 0;
for (ItemStack aStack : aInputs) {
it ++;
- if (GT_OreDictUnificator.isInputStackEqual(aStack, unified_tStack) && !isUsed.containsKey(it)) {
- isUsed.put(it, true);
+ if (GT_OreDictUnificator.isInputStackEqual(aStack, unified_tStack) && !isVisited.contains(it)) {
+ isVisited.add(it);
if (GTppRecipeHelper) {//remove once the fix is out
if (GT_Utility.areStacksEqual(aStack, Ic2Items.FluidCell.copy(), true) || GT_Utility.areStacksEqual(aStack, ItemList.Tool_DataStick.get(1L), true) || GT_Utility.areStacksEqual(aStack, ItemList.Tool_DataOrb.get(1L), true)) {
if (!GT_Utility.areStacksEqual(aStack, tStack, false))