diff --git a/src/main/java/appeng/me/cache/CraftingGridCache.java b/src/main/java/appeng/me/cache/CraftingGridCache.java index e255a88cf74..82c6b1c9b7f 100644 --- a/src/main/java/appeng/me/cache/CraftingGridCache.java +++ b/src/main/java/appeng/me/cache/CraftingGridCache.java @@ -415,11 +415,13 @@ public ImmutableCollection getCraftingFor( final int slotIndex, final World world) { final ImmutableList res; + boolean normalMode = false; if (details != null && details.canSubstitute()) { final Collection substitutions = this.craftableItemSubstitutes.findFuzzy(whatToCraft, FuzzyMode.IGNORE_ALL); if (substitutions.isEmpty()) { res = this.craftableItems.get(whatToCraft); + normalMode = true; } else { ImmutableList.Builder allPatterns = ImmutableList.builder(); for (IAEItemStack alternative : substitutions) { @@ -443,7 +445,7 @@ public ImmutableCollection getCraftingFor( } } // no perfect match found, look for substitutions - if (details.canSubstitute()) { + if (details.canSubstitute() && !normalMode) { for (final Map.Entry> entry : this.craftableItems.entrySet()) { final boolean canBeASubstitute =