aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api/util/GTModHandler.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/gregtech/api/util/GTModHandler.java')
-rw-r--r--src/main/java/gregtech/api/util/GTModHandler.java16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/main/java/gregtech/api/util/GTModHandler.java b/src/main/java/gregtech/api/util/GTModHandler.java
index 009cde6476..fa56ab9b34 100644
--- a/src/main/java/gregtech/api/util/GTModHandler.java
+++ b/src/main/java/gregtech/api/util/GTModHandler.java
@@ -482,12 +482,26 @@ public class GTModHandler {
return true;
}
+ // temporary buffer list to fix NPE if you try to access the recyclerBlacklist too early
+ private static List<RecipeInputItemStack> tempRecyclerBlackList = new ArrayList<>();
+
/**
* Adds an Item to the Recycler Blacklist
*/
public static boolean addToRecyclerBlackList(ItemStack aRecycledStack) {
if (aRecycledStack == null) return false;
- Recipes.recyclerBlacklist.add(new RecipeInputItemStack(aRecycledStack));
+ final RecipeInputItemStack iRecipeInput = new RecipeInputItemStack(aRecycledStack);
+ if (Recipes.recyclerBlacklist == null) {
+ tempRecyclerBlackList.add(iRecipeInput);
+ return true;
+ }
+ if (tempRecyclerBlackList != null) {
+ for (RecipeInputItemStack recipe : tempRecyclerBlackList) {
+ Recipes.recyclerBlacklist.add(recipe);
+ }
+ tempRecyclerBlackList = null;
+ }
+ Recipes.recyclerBlacklist.add(iRecipeInput);
return true;
}