aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/core/util
diff options
context:
space:
mode:
authorJordan Byrne <draknyte1@hotmail.com>2018-02-23 15:05:11 +1000
committerJordan Byrne <draknyte1@hotmail.com>2018-02-23 15:05:11 +1000
commitbe0120b50727284a7dc0c4d26534716678542c55 (patch)
tree572bb4845b9bca0294235eb5f1bf407cb95bc25b /src/Java/gtPlusPlus/core/util
parent465486960758a7ae2dad9d98d842ff95bbec2763 (diff)
downloadGT5-Unofficial-be0120b50727284a7dc0c4d26534716678542c55.tar.gz
GT5-Unofficial-be0120b50727284a7dc0c4d26534716678542c55.tar.bz2
GT5-Unofficial-be0120b50727284a7dc0c4d26534716678542c55.zip
$ Fixed weird loop lag from Itemutils.getItemStackOfAmountFromOreDict().
$ Fixed ASM circular loading issue.
Diffstat (limited to 'src/Java/gtPlusPlus/core/util')
-rw-r--r--src/Java/gtPlusPlus/core/util/minecraft/ItemUtils.java38
1 files changed, 22 insertions, 16 deletions
diff --git a/src/Java/gtPlusPlus/core/util/minecraft/ItemUtils.java b/src/Java/gtPlusPlus/core/util/minecraft/ItemUtils.java
index 62cb3f147e..627400f401 100644
--- a/src/Java/gtPlusPlus/core/util/minecraft/ItemUtils.java
+++ b/src/Java/gtPlusPlus/core/util/minecraft/ItemUtils.java
@@ -263,25 +263,31 @@ public class ItemUtils {
}
if (oredictName.toLowerCase().contains("vanadiumsteel")){
mTemp = oredictName.replace("VanadiumSteel", "StainlessSteel");
- }
-
- //Use Cache
- if (mDustCache.containsKey(oredictName)) {
- return getSimpleStack(mDustCache.get(oredictName), amount);
- }
- if (mOreDictCache.containsKey(mTemp)) {
+ }
+ //Use Cache
+ if (mOreDictCache.containsKey(mTemp) && mOreDictCache.get(mTemp) != null) {
+ Logger.INFO("[ODC] Returning mOreDictCache value.");
return getCachedValue(mTemp, amount);
}
-
- final ArrayList<ItemStack> oreDictList = OreDictionary.getOres(mTemp);
- if (!oreDictList.isEmpty()){
- final ItemStack returnValue = oreDictList.get(0).copy();
- returnValue.stackSize = amount;
- setCachedValue(mTemp, returnValue);
- return returnValue;
+ else if (mDustCache.containsKey(oredictName) && mDustCache.get(mTemp) != null) {
+ Logger.INFO("[ODC] Returning mDustCache value.");
+ return getSimpleStack(mDustCache.get(oredictName), amount);
+ }
+ else {
+ Logger.INFO("[ODC] Setting mOreDictCache value.");
+ final ArrayList<ItemStack> oreDictList = OreDictionary.getOres(mTemp);
+ if (!oreDictList.isEmpty()){
+ final ItemStack returnValue = oreDictList.get(0).copy();
+ returnValue.stackSize = amount;
+ setCachedValue(mTemp, returnValue);
+ Logger.INFO("[ODC] Setting and Returning mOreDictCache value.");
+ return returnValue;
+ }
+ setCachedValue(oredictName, getSimpleStack(ModItems.AAA_Broken));
+ Logger.INFO("[ODC] Returning AAA_Broken.");
+ return getSimpleStack(ModItems.AAA_Broken, amount);
}
- setCachedValue(oredictName, getSimpleStack(ModItems.AAA_Broken));
- return getSimpleStack(ModItems.AAA_Broken, amount);
+
}
private static Map<String, ItemStack> mOreDictCache = new HashMap();