From 2c989cac10dbcf516adc63e57e0557803df95da6 Mon Sep 17 00:00:00 2001 From: Richard Hendricks Date: Sat, 25 Aug 2018 23:43:11 -0500 Subject: Change to use an ObjMap --- src/main/java/gregtech/api/enums/OrePrefixes.java | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) (limited to 'src/main/java/gregtech/api/enums') diff --git a/src/main/java/gregtech/api/enums/OrePrefixes.java b/src/main/java/gregtech/api/enums/OrePrefixes.java index 2dbeabf5c9..3edb12ed25 100644 --- a/src/main/java/gregtech/api/enums/OrePrefixes.java +++ b/src/main/java/gregtech/api/enums/OrePrefixes.java @@ -8,6 +8,7 @@ import gregtech.api.interfaces.IOreRecipeRegistrator; import gregtech.api.interfaces.ISubTagContainer; import gregtech.api.objects.ItemData; import gregtech.api.objects.MaterialStack; +import gregtech.api.objects.ObjMap; import gregtech.api.util.GT_Log; import gregtech.api.util.GT_Utility; import gregtech.loaders.materialprocessing.ProcessingModSupport; @@ -865,38 +866,34 @@ public enum OrePrefixes { return true; } - private static final HashMap>mCachedResults = new HashMap>(); - + private static final LinkedHashMap>mCachedResults = new LinkedHashMap>(); + public boolean contains(ItemStack aStack) { - if (aStack == null){ return false; } - - HashMap aCurrentSet; + ObjMap aCurrentSet; if (mCachedResults.get(this.toString()) != null){ aCurrentSet = mCachedResults.get(this.toString()); } else { - aCurrentSet = new HashMap(); + aCurrentSet = new ObjMap(mPrefixedItems.size(), 0.5f); mCachedResults.put(this.toString(), aCurrentSet); } - if (aCurrentSet.get(aStack) != null){ - return aCurrentSet.get(aStack); + if (aCurrentSet.get(aStack.hashCode()) != null){ + return aCurrentSet.get(aStack.hashCode()); } else { for (ItemStack tStack : mPrefixedItems){ if (GT_Utility.areStacksEqual(aStack, tStack, !tStack.hasTagCompound())){ - aCurrentSet.put(aStack, true); + aCurrentSet.put(aStack.hashCode(), true); return true; } } } - - aCurrentSet.put(aStack, false); - + aCurrentSet.put(aStack.hashCode(), false); return false; } -- cgit