aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech
diff options
context:
space:
mode:
authorRichard Hendricks <richardhendricks@pobox.com>2018-09-10 20:18:20 -0500
committerRichard Hendricks <richardhendricks@pobox.com>2018-09-10 20:18:20 -0500
commitbe02120be30d80c817b763902d8d71441c71381a (patch)
treeba63c86ac878df5cb584a022b2fdf5a11d0367e1 /src/main/java/gregtech
parent556b4dc6240fd4a9b8c65a13d686fb82275a695e (diff)
downloadGT5-Unofficial-be02120be30d80c817b763902d8d71441c71381a.tar.gz
GT5-Unofficial-be02120be30d80c817b763902d8d71441c71381a.tar.bz2
GT5-Unofficial-be02120be30d80c817b763902d8d71441c71381a.zip
Trying Alkalus fix, compile problem with hashCode.
Diffstat (limited to 'src/main/java/gregtech')
-rw-r--r--src/main/java/gregtech/api/enums/OrePrefixes.java21
1 files changed, 10 insertions, 11 deletions
diff --git a/src/main/java/gregtech/api/enums/OrePrefixes.java b/src/main/java/gregtech/api/enums/OrePrefixes.java
index 72f04dd7c9..434acc0f59 100644
--- a/src/main/java/gregtech/api/enums/OrePrefixes.java
+++ b/src/main/java/gregtech/api/enums/OrePrefixes.java
@@ -867,33 +867,32 @@ public enum OrePrefixes {
}
private static final LinkedHashMap<String, ObjMap<Integer, Boolean>>mCachedResults = new LinkedHashMap<String, ObjMap<Integer, Boolean>>();
-
+
public boolean contains(ItemStack aStack) {
if (aStack == null){
return false;
}
- ObjMap<Integer, Boolean> aCurrentSet;
- if (mCachedResults.get(this.toString()) != null){
- aCurrentSet = mCachedResults.get(this.toString());
- }
- else {
+ ObjMap<Integer, Boolean> aCurrentSet = mCachedResults.get(this.toString().toUpperCase());
+ if (aCurrentSet == null){
aCurrentSet = new ObjMap<Integer, Boolean>((mPrefixedItems != null && mPrefixedItems.size() > 0 ? mPrefixedItems.size() : 1000), 0.5f);
- mCachedResults.put(this.toString(), aCurrentSet);
+ mCachedResults.put(this.toString().toUpperCase(), aCurrentSet);
}
- if (aCurrentSet.get(aStack.hashCode()) != null){
- return aCurrentSet.get(aStack.hashCode());
+ int mainHash = Objects.hashCode(aStack.getItem(), aStack.getItemDamage());
+ Boolean result = aCurrentSet.get(mainHash);
+ if (result != null){
+ return result;
}
else {
for (ItemStack tStack : mPrefixedItems){
if (GT_Utility.areStacksEqual(aStack, tStack, !tStack.hasTagCompound())){
- aCurrentSet.put(aStack.hashCode(), true);
+ aCurrentSet.put(Objects.hashCode(tStack.getItem(), tStack.getItemDamage()), true);
return true;
}
}
}
- aCurrentSet.put(aStack.hashCode(), false);
+ aCurrentSet.put(mainHash, false);
return false;
}