diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/main/java/gregtech/api/enums/ItemList.java | 6 | ||||
-rw-r--r-- | src/main/java/gregtech/api/util/GT_ModHandler.java | 30 |
2 files changed, 33 insertions, 3 deletions
diff --git a/src/main/java/gregtech/api/enums/ItemList.java b/src/main/java/gregtech/api/enums/ItemList.java index 04029d357c..b855dbc211 100644 --- a/src/main/java/gregtech/api/enums/ItemList.java +++ b/src/main/java/gregtech/api/enums/ItemList.java @@ -2125,7 +2125,11 @@ public enum ItemList implements IItemContainer { @Override public ItemStack get(long aAmount, Object... aReplacements) { sanityCheck(); - if (GT_Utility.isStackInvalid(mStack)) return GT_Utility.copyAmount(aAmount, aReplacements); + if (GT_Utility.isStackInvalid(mStack)) { + GT_Log.out.println("Object in the ItemList is null at:"); + new NullPointerException().printStackTrace(GT_Log.out); + return GT_Utility.copyAmount(aAmount, aReplacements); + } return GT_Utility.copyAmount(aAmount, GT_OreDictUnificator.get(mStack)); } diff --git a/src/main/java/gregtech/api/util/GT_ModHandler.java b/src/main/java/gregtech/api/util/GT_ModHandler.java index 3dff430782..3ed707822a 100644 --- a/src/main/java/gregtech/api/util/GT_ModHandler.java +++ b/src/main/java/gregtech/api/util/GT_ModHandler.java @@ -393,8 +393,34 @@ public class GT_ModHandler { * Gets an Item from the specified mod, and returns a Replacement Item if not possible */ public static ItemStack getModItem(String aModID, String aItem, long aAmount, ItemStack aReplacement) { - if (GT_Utility.isStringInvalid(aItem) || !GregTech_API.sPreloadStarted) return null; - return GT_Utility.copyAmount(aAmount, GameRegistry.findItemStack(aModID, aItem, (int) aAmount), aReplacement); + ItemStack result; + if (GT_Utility.isStringInvalid(aItem) || !GregTech_API.sPreloadStarted) { + result = null; + } else { + result = GT_Utility.copyAmount( + aAmount, + GameRegistry.findItemStack(aModID, aItem, (int) aAmount), + aReplacement); + } + + if (result == null) { + String reason; + if (GT_Utility.isStringInvalid(aItem)) { + reason = "the name of the item is an invalid string"; + } else if (!GregTech_API.sPreloadStarted) { + reason = "the GT5U preloading phase has not yet started"; + } else { + reason = "the item was not found in the game registry"; + } + String log_message = "getModItem call: object \"" + aItem + + "\" with mod id \"" + + aModID + + "\" has returned null because " + + reason; + GT_Log.out.println(log_message); + new Exception().printStackTrace(GT_Log.out); + } + return result; } /** |