diff --git a/src/main/java/gregtechmod/api/util/GT_RecipeRegistrator.java b/src/main/java/gregtechmod/api/util/GT_RecipeRegistrator.java index 97b2057..d597207 100644 --- a/src/main/java/gregtechmod/api/util/GT_RecipeRegistrator.java +++ b/src/main/java/gregtechmod/api/util/GT_RecipeRegistrator.java @@ -9,11 +9,8 @@ import gregtechmod.common.RecipeHandler; import gregtechmod.common.RecipeHandler.IRecipeMatcher; import gregtechmod.common.RecipeHandler.InventoryRecipeMatcher; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.Objects; -import java.util.Optional; +import java.util.*; +import java.util.stream.Collectors; import net.minecraft.init.Blocks; import net.minecraft.init.Items; @@ -201,10 +198,18 @@ public class GT_RecipeRegistrator { for (ItemStack a : unifiedStacks) { ItemStack block = aMaterial.mSmallBlock ? GT_ModHandler.getRecipeOutput(a, a, null, a, a, null) : GT_ModHandler.getRecipeOutput(a, a, a, a, a, a, a, a, a); if (block != null) { - Optional optional = Arrays.stream(OreDictionary.getOreIDs(block)) - .mapToObj(i -> OreDictionary.getOreName(i)) + Set names = Arrays.stream(OreDictionary.getOreIDs(block)) + .mapToObj(OreDictionary::getOreName) + .collect(Collectors.toSet()); + + if (names.contains(aPrefix.get(aMaterial))) { + return; + } + + Optional optional = names.stream() .filter(name -> name.startsWith(OrePrefixes.block.toString())) .findAny(); + if (!optional.isPresent() && !GregTech_API.sUnification.get(GT_ConfigCategories.forceoredict, block, dictName).equals("false")) { GT_OreDictUnificator.set(dictName, block); }