Refined Storage

Refined Storage

115M Downloads

Crafting loop cycle destection issue

Closed this issue ยท 10 comments

commented

Describe the bug

In my RS network I have the recipe for IE Treated Wood Planks, Mekanism Crusher, Minecraft bucket, Extreme reactors Active Forge Fluid port but when I try to craft a mekanism mechanical pipe it refuses to craft stating that a crafting loop is detected.

each of the taught recipes do produce an empty bucket as an additional output, with exception to the minecraft bucket. I would expect the RS system to craft a bucket instead of wanting to craft something else to produce a bucket as a byproduct when trying to craft something that needs a bucket.

Removing the patterns for these recipes and then putting them back seems to somewhat solve the issue.

Image

How can we reproduce this bug or crash?

1: set up your basic RS network.
2: teach the recipes listed and all dependancy recipes
3: teach a recipe that fills a bucket with lava or water
4: try to craft something that uses a bucket as an ingredient
5: if it crafts, restart minecraft and try again
6: if it fails to craft and states a crafting loop, remove the patterns that have a bucket as an output and then put them back in
7: you should now be able to successfully craft.

What Minecraft version is this happening on?

Minecraft 1.21.1

What NeoForge or Fabric version is this happening on?

21.1.162

What Refined Storage version is this happening on?

beta 2

Relevant log output

https://gist.github.com/Moobien/19860fe5d1e4337598ac667d12952192
commented

I also experienced this.

commented

#950 seems related. Here the enhancement is rejected since additional returned components can be removed from the pattern. Having a singular output field is what makes that impossible to do in case of a crafting recipe.

I had the same issue with a cobble gen, which returns buckets. Crafting a lava bucket then puts this into a loop in case no bucket is in the system.

commented

#950 seems related. Here the enhancement is rejected since additional returned components can be removed from the pattern. Having a singular output field is what makes that impossible to do in case of a crafting recipe.

I had the same issue with a cobble gen, which returns buckets. Crafting a lava bucket then puts this into a loop in case no bucket is in the system.

But some things cant be removed from the output, which was also stated on the issue you linked. The mekanism crusher is a great example of that. You can remove outputs from processing recipes just fine, but RS has no way to remove additional outputs from standard recipes.

commented

But some things cant be removed from the output, which was also stated on the issue you linked. The mekanism crusher is a great example of that. You can remove outputs from processing recipes just fine, but RS has no way to remove additional outputs from standard recipes.

Indeed, it was just a suggestion for a potential solution, adding more slots for additional outputs. This would keep consistency with processing recipes and how it is handled there.

commented

Or even just prioritize ingredient crafting

commented

Can confirm this bug exists, but also found a bit of a workaround: Set the priority of the autocrafter with the bucket pattern in it higher than any other autocrafters. It will prioritize crafting new buckets rather than crafting other items that return used buckets.

commented

I had this issue with Fuzzy Mode patterns that required buckets, I just didn't use fuzzy mode for recipes requiring buckets after.

Originally posted by @notcorin in #1025

commented

Linking #1093

commented

Also some issues with Dielectric Paste using a lava bucket apperantly.

commented

I can reproduce this on beta 10:

Image

With following network state:

Image

This is what happens in beta 11:

Image

This issue appears to be fixed as part of #1009 and #1025