diff options
author | Alkalus <draknyte1@hotmail.com> | 2017-11-06 03:15:50 +1000 |
---|---|---|
committer | Alkalus <draknyte1@hotmail.com> | 2017-11-06 03:15:50 +1000 |
commit | cf6d2bd7c644ae88982c7937aafafcc14d92e8e0 (patch) | |
tree | 421c85a0567a8f5e45510d58616169a7e39e89b5 /src/Java/gtPlusPlus/core/util | |
parent | 94c1bf6444c8aef0fd7be9ad5e6f81a85cf7cab1 (diff) | |
download | GT5-Unofficial-cf6d2bd7c644ae88982c7937aafafcc14d92e8e0.tar.gz GT5-Unofficial-cf6d2bd7c644ae88982c7937aafafcc14d92e8e0.tar.bz2 GT5-Unofficial-cf6d2bd7c644ae88982c7937aafafcc14d92e8e0.zip |
$ Small fix to NPE's thrown when looking up the modids of other mod's items.
Diffstat (limited to 'src/Java/gtPlusPlus/core/util')
-rw-r--r-- | src/Java/gtPlusPlus/core/util/item/ItemUtils.java | 55 |
1 files changed, 34 insertions, 21 deletions
diff --git a/src/Java/gtPlusPlus/core/util/item/ItemUtils.java b/src/Java/gtPlusPlus/core/util/item/ItemUtils.java index 083806f385..337e301414 100644 --- a/src/Java/gtPlusPlus/core/util/item/ItemUtils.java +++ b/src/Java/gtPlusPlus/core/util/item/ItemUtils.java @@ -4,6 +4,7 @@ import java.util.ArrayList; import java.util.List; import cpw.mods.fml.common.registry.GameRegistry; +import cpw.mods.fml.common.registry.GameRegistry.UniqueIdentifier; import gregtech.api.enums.Materials; import gregtech.api.enums.OrePrefixes; import gregtech.api.util.GT_ModHandler; @@ -58,13 +59,13 @@ public class ItemUtils { return null; } } - + public static final int WILDCARD_VALUE = Short.MAX_VALUE; public static ItemStack getWildcardStack(Item x){ ItemStack y = new ItemStack(x, 1, WILDCARD_VALUE); return y; } - + public static ItemStack getIC2Cell(final String S){ final ItemStack moreTemp = ItemUtils.getItemStackOfAmountFromOreDictNoBroken("cell"+S, 1); @@ -261,27 +262,27 @@ public class ItemUtils { } try{ - //Adds a check to grab dusts using GT methodology if possible. - ItemStack returnValue = null; - if (oredictName.toLowerCase().contains("dust")){ - String MaterialName = oredictName.toLowerCase().replace("dust", ""); - Materials m = Materials.get(MaterialName); - returnValue = getGregtechDust(m, amount); - if (returnValue != null){ - return returnValue; + //Adds a check to grab dusts using GT methodology if possible. + ItemStack returnValue = null; + if (oredictName.toLowerCase().contains("dust")){ + String MaterialName = oredictName.toLowerCase().replace("dust", ""); + Materials m = Materials.get(MaterialName); + returnValue = getGregtechDust(m, amount); + if (returnValue != null){ + return returnValue; + } } - } - if (returnValue == null){ - returnValue = getItemStackOfAmountFromOreDict(oredictName, amount); - if (returnValue != null){ - if ((returnValue.getItem().getClass() != ModItems.AAA_Broken.getClass()) || (returnValue.getItem() != ModItems.AAA_Broken)){ - return returnValue.copy(); + if (returnValue == null){ + returnValue = getItemStackOfAmountFromOreDict(oredictName, amount); + if (returnValue != null){ + if ((returnValue.getItem().getClass() != ModItems.AAA_Broken.getClass()) || (returnValue.getItem() != ModItems.AAA_Broken)){ + return returnValue.copy(); + } } } - } - Utils.LOG_WARNING(oredictName+" was not valid."); - return null; + Utils.LOG_WARNING(oredictName+" was not valid."); + return null; } catch (Throwable t){ return null; @@ -575,8 +576,20 @@ public class ItemUtils { } private static String getModId(Item item) { - GameRegistry.UniqueIdentifier id = GameRegistry.findUniqueIdentifierFor(item); - return id == null || id.modId.equals("") ? "minecraft" : id.modId; + try { + GameRegistry.UniqueIdentifier id = GameRegistry.findUniqueIdentifierFor(item); + String modname = (id.modId == null ? id.name : id.modId); + return id == null || id.modId.equals("") ? "minecraft" : modname; + } catch (Throwable t){ + try { + UniqueIdentifier t2 = GameRegistry.findUniqueIdentifierFor(Block.getBlockFromItem(item)); + String modname = (t2.modId == null ? t2.name : t2.modId); + return t2 == null || t2.modId.equals("") ? "minecraft" : modname; + } + catch (Throwable t3){ + return "bad modid"; + } + } } public static String getModId(ItemStack key) { |