diff options
author | Alexdoru <57050655+Alexdoru@users.noreply.github.com> | 2024-10-22 19:53:51 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-10-22 19:53:51 +0200 |
commit | b587aa19b34d7cfab3f8886a359b84fc2229b74f (patch) | |
tree | b5a3e6cd0cf59a850be0eb8dea3f17de3734900f /src/main/java/gregtech | |
parent | abdd147222b44685abfa79a87e2f104dc699af67 (diff) | |
download | GT5-Unofficial-b587aa19b34d7cfab3f8886a359b84fc2229b74f.tar.gz GT5-Unofficial-b587aa19b34d7cfab3f8886a359b84fc2229b74f.tar.bz2 GT5-Unofficial-b587aa19b34d7cfab3f8886a359b84fc2229b74f.zip |
Fix NPE on IC2 recycler blacklist (#3403)
Diffstat (limited to 'src/main/java/gregtech')
-rw-r--r-- | src/main/java/gregtech/api/util/GTModHandler.java | 16 | ||||
-rw-r--r-- | src/main/java/gregtech/common/GTProxy.java | 13 |
2 files changed, 18 insertions, 11 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; } diff --git a/src/main/java/gregtech/common/GTProxy.java b/src/main/java/gregtech/common/GTProxy.java index e7cb627c91..8b2c153591 100644 --- a/src/main/java/gregtech/common/GTProxy.java +++ b/src/main/java/gregtech/common/GTProxy.java @@ -814,22 +814,15 @@ public abstract class GTProxy implements IGTMod, IFuelHandler { .getRegisteredFluidContainerData()) { onFluidContainerRegistration(new FluidContainerRegistry.FluidContainerRegisterEvent(tData)); } - try { - for (String tOreName : OreDictionary.getOreNames()) { - ItemStack tOreStack; - for (Iterator<ItemStack> i$ = OreDictionary.getOres(tOreName) - .iterator(); i$.hasNext(); registerOre(new OreDictionary.OreRegisterEvent(tOreName, tOreStack))) { - tOreStack = i$.next(); - } + for (String tOreName : OreDictionary.getOreNames()) { + for (ItemStack itemStack : OreDictionary.getOres(tOreName)) { + registerOre(new OreDictionary.OreRegisterEvent(tOreName, itemStack)); } - } catch (Throwable e) { - e.printStackTrace(GTLog.err); } } public void onPreLoad() { GTLog.out.println("GTMod: Preload-Phase started!"); - GTLog.ore.println("GTMod: Preload-Phase started!"); GregTechAPI.sPreloadStarted = true; this.mIgnoreTcon = OPStuff.ignoreTinkerConstruct; |