aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api/util/GT_OreDictUnificator.java
diff options
context:
space:
mode:
authorJason Mitchell <mitchej@gmail.com>2021-01-02 20:50:56 -0800
committerJason Mitchell <mitchej@gmail.com>2021-01-02 20:50:56 -0800
commit3b6bc659ee5a38644ce0c3e55dbc3363e3a7100e (patch)
tree444eebce14c88ddad3792c25084ebd51a3591f9e /src/main/java/gregtech/api/util/GT_OreDictUnificator.java
parent84c3236766ed6520cb54d9667308fe8f2be606de (diff)
downloadGT5-Unofficial-3b6bc659ee5a38644ce0c3e55dbc3363e3a7100e.tar.gz
GT5-Unofficial-3b6bc659ee5a38644ce0c3e55dbc3363e3a7100e.tar.bz2
GT5-Unofficial-3b6bc659ee5a38644ce0c3e55dbc3363e3a7100e.zip
1) Remove mAddGTRecipesToIC2Machines (stolen from @Glease)
2) Batch (most) recipe map removals and additions (significant speedup) 3) Modernize old java constructs --> java8 (in the files touched)
Diffstat (limited to 'src/main/java/gregtech/api/util/GT_OreDictUnificator.java')
-rw-r--r--src/main/java/gregtech/api/util/GT_OreDictUnificator.java28
1 files changed, 16 insertions, 12 deletions
diff --git a/src/main/java/gregtech/api/util/GT_OreDictUnificator.java b/src/main/java/gregtech/api/util/GT_OreDictUnificator.java
index 188af9cfaa..f3eb77bc40 100644
--- a/src/main/java/gregtech/api/util/GT_OreDictUnificator.java
+++ b/src/main/java/gregtech/api/util/GT_OreDictUnificator.java
@@ -31,10 +31,10 @@ import static gregtech.api.enums.GT_Values.*;
* P.S. It is intended to be named "Unificator" and not "Unifier", because that sounds more awesome.
*/
public class GT_OreDictUnificator {
- private static final /*ConcurrentHash*/Map<String, ItemStack> sName2StackMap = new /*ConcurrentHash*/HashMap<String, ItemStack>();
- private static final /*ConcurrentHash*/Map<GT_ItemStack, ItemData> sItemStack2DataMap = new /*ConcurrentHash*/HashMap<GT_ItemStack, ItemData>();
- private static final /*ConcurrentHash*/Map<GT_ItemStack, List<ItemStack>> sUnificationTable = new /*ConcurrentHash*/HashMap<GT_ItemStack, List<ItemStack>>();
- private static final GT_HashSet<GT_ItemStack> sNoUnificationList = new GT_HashSet<GT_ItemStack>();
+ private static final Map<String, ItemStack> sName2StackMap = new HashMap<>();
+ private static final Map<GT_ItemStack, ItemData> sItemStack2DataMap = new HashMap<>();
+ private static final Map<GT_ItemStack, List<ItemStack>> sUnificationTable = new HashMap<>();
+ private static final GT_HashSet<GT_ItemStack> sNoUnificationList = new GT_HashSet<>();
public static volatile int VERSION = 509;
private static int isRegisteringOre = 0, isAddingOre = 0;
private static boolean mRunThroughTheList = true;
@@ -158,6 +158,12 @@ public class GT_OreDictUnificator {
/** Doesn't copy the returned stack or set quantity. Be careful and do not mutate it;
* intended only to optimize comparisons */
+ public static ItemStack get_nocopy(ItemStack aStack) {
+ return get_nocopy(true, aStack);
+ }
+
+ /** Doesn't copy the returned stack or set quantity. Be careful and do not mutate it;
+ * intended only to optimize comparisons */
static ItemStack get_nocopy(boolean aUseBlackList, ItemStack aStack) {
if (GT_Utility.isStackInvalid(aStack)) return null;
ItemData tPrefixMaterial = getAssociation(aStack);
@@ -217,10 +223,8 @@ public class GT_OreDictUnificator {
ItemStack tStack1 = get(false, tStack0);
if (!GT_Utility.areStacksEqual(tStack0, tStack1)) {
GT_ItemStack tGTStack1 = new GT_ItemStack(tStack1);
- List<ItemStack> list = sUnificationTable.get(tGTStack1);
- if (list == null)
- sUnificationTable.put(tGTStack1, list = new ArrayList<ItemStack>());
- if (!list.contains(tStack0))
+ List<ItemStack> list = sUnificationTable.computeIfAbsent(tGTStack1, k -> new ArrayList<>());
+ if (!list.contains(tStack0))
list.add(tStack0);
}
}
@@ -233,7 +237,7 @@ public class GT_OreDictUnificator {
aStacks = (ItemStack[]) obj;
else if (obj instanceof List) aStacks = (ItemStack[])
((List)obj).toArray(new ItemStack[0]);
- List<ItemStack> rList = new ArrayList<ItemStack>();
+ List<ItemStack> rList = new ArrayList<>();
for (ItemStack aStack : aStacks) {
rList.add(aStack);
List<ItemStack> tList = sUnificationTable.get(new GT_ItemStack(aStack));
@@ -340,8 +344,8 @@ public class GT_OreDictUnificator {
ArrayList<ItemStack> tList = getOres(tName);
- for (int i = 0; i < tList.size(); i++)
- if (GT_Utility.areStacksEqual(tList.get(i), aStack, true))
+ for (ItemStack itemStack : tList)
+ if (GT_Utility.areStacksEqual(itemStack, aStack, true))
return false;
isRegisteringOre++;
@@ -463,7 +467,7 @@ public class GT_OreDictUnificator {
*/
public static ArrayList<ItemStack> getOres(Object aOreName) {
String aName = aOreName == null ? E : aOreName.toString();
- ArrayList<ItemStack> rList = new ArrayList<ItemStack>();
+ ArrayList<ItemStack> rList = new ArrayList<>();
if (GT_Utility.isStringValid(aName)) rList.addAll(OreDictionary.getOres(aName));
return rList;
}