diff options
author | Jordan Byrne <draknyte1@hotmail.com> | 2018-02-23 15:05:11 +1000 |
---|---|---|
committer | Jordan Byrne <draknyte1@hotmail.com> | 2018-02-23 15:05:11 +1000 |
commit | be0120b50727284a7dc0c4d26534716678542c55 (patch) | |
tree | 572bb4845b9bca0294235eb5f1bf407cb95bc25b /src/Java/gtPlusPlus/core/util/minecraft | |
parent | 465486960758a7ae2dad9d98d842ff95bbec2763 (diff) | |
download | GT5-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/minecraft')
-rw-r--r-- | src/Java/gtPlusPlus/core/util/minecraft/ItemUtils.java | 38 |
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(); |