diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/CraftingPattern.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/CraftingPattern.java index 19445a374..f5684f69c 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/CraftingPattern.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/CraftingPattern.java @@ -225,7 +225,7 @@ public class CraftingPattern implements ICraftingPattern { for (ItemStack remaining : recipe.getRemainingItems(inv)) { if (remaining != null) { - byproducts.add(Comparer.stripTags(remaining.copy())); + byproducts.add(remaining.copy()); } } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/task/CraftingTask.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/task/CraftingTask.java index 443d396fd..acf8c2768 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/task/CraftingTask.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/task/CraftingTask.java @@ -102,6 +102,9 @@ public class CraftingTask implements ICraftingTask { List usedStacks = new LinkedList<>(); List previousSteps = new LinkedList<>(); + IStackList byproductList = API.instance().createItemStackList(); + pattern.getByproducts().stream().filter(Objects::nonNull).forEach(byproductList::add); + for (List inputs : pattern.getOreInputs()) { if (inputs == null || inputs.isEmpty()) { usedStacks.add(null); @@ -161,7 +164,7 @@ public class CraftingTask implements ICraftingTask { ItemStack inputStack = ItemHandlerHelper.copyStackWithSize(extraStack, takeQuantity); actualInputs.add(inputStack.copy()); input.shrink(takeQuantity); - if (!inputStack.isItemStackDamageable() || !inputStack.isItemDamaged()) { + if (byproductList.get(inputStack, compare) == null) { toCraft.add(inputStack); } toInsert.remove(inputStack); diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/util/Comparer.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/util/Comparer.java index 355dd2b51..e14924271 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/util/Comparer.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/util/Comparer.java @@ -183,6 +183,10 @@ public class Comparer implements IComparer { case "refinedstorage": stack.getTagCompound().removeTag(BlockNode.NBT_REFINED_STORAGE_DATA); break; + case "immersiveengineering": + stack.getTagCompound().removeTag("hammerDmg"); + stack.getTagCompound().removeTag("cutterDmg"); + break; case "storagedrawers": stack.getTagCompound().removeTag("material"); break;