From b587aa19b34d7cfab3f8886a359b84fc2229b74f Mon Sep 17 00:00:00 2001 From: Alexdoru <57050655+Alexdoru@users.noreply.github.com> Date: Tue, 22 Oct 2024 19:53:51 +0200 Subject: Fix NPE on IC2 recycler blacklist (#3403) --- src/main/java/gregtech/api/util/GTModHandler.java | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'src/main/java/gregtech/api/util') 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 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; } -- cgit