Ore Dictionary in Logistics Pipes
Ezrahk opened this issue ยท 4 comments
I can't get the fuzzy crafting table or upgrade to work. I'll set items in the crafting guis (respective to the item being used) to OreDict, but when something other than the material designated for the recipe is provided (wood, for example to make planks and sticks) nothing is produced.
Example: Chest with provider module providing oak, birch, spruce and jungle logs. Two crafting tables connected with crafting pipes. One set to make oak planks and one to use oak planks to craft sticks. I put a fuzzy upgrade in the crafting pipe and set the logs in the crafting pipe GUI to OreDict and the planks in the other crafting pipe to OreDict as well.
When oak is in the provider chest, everything works fine. However, take out the oak and things don't work. The crafting pipe will pull other logs out and put them into the crafting table, but no planks are being produced. The logs just sit in the crafting table.
Same setup with fuzzy crafting tables, minus fuzzy upgrades in the crafting pipes. Items set in the fuzzy table are set to OreDict. However, with the fuzzy crafting tables, if there is no oak (which is used for the recipes) I get the error that I'm missing the oak logs required for the request. Even though the oak logs in the first fuzzy crafting table are set to use the OreDict and the oak planks in the second fuzzy crafting table are set to OreDict as well.
Bug? Or user error?
I think the problem is that the output can not be fuzzy.
For example, if you configure the crafting pipe to craft 4 oak planks with 1 oak log and set oredict on, the crafting pipe will look for other logs but still want to produce oak planks. So, after 1 birch log enters the crafting table, the table will find that this log will produce birch planks, not the oak planks the table expected. So, the table won't craft anything.
the fuzzy-ness was originally intended for furnaces, which typically take all types of copper ore, then output one specific type, according to a single recipe with generic inputs (nei where the input flashes ,but the output is constant), or where you take a tool of unknown charge/damage state and use it
what you describe is a rather different use case where you want a single table to handle a set of recipes. by setting fuzzy, it does exactly what you describe -- you override the recipe, and tell it "just accept any wood to produce those planks"
that works when you are making sticks, and other derived-from-wood-plank objects, but you are completely correct that we don't generically output things.
We would need the concept of a fuzzy-output, suitable only for feeding fuzzy-inputs, which is not currently in the code.
moderate amounts of code change are needed, and it might cause significant lag to search for recipes for anything that is delivered that match the input. 1 wood -> 4 planks is a bit of a special case as it is 1 -> n, if it was 2->n, then the case is much more complex, as mixed object input would fail.
it might be possible to do so in a simple manner, if having a fuzzy out, restricts the input to a single square; but that's a gui change. (which thanks to @davboecki is now quite a bit easier, we can conditionally hand out different gui's based on the situation).
There are a few things that need to be done in LP to really support the Ore Dictionary. The Ore Dictionary evolved to a state, where those names actually matter in the gameplay of the users.
I would actually suggest to support the Ore Dictionary where applicable by default. That is especially important on crafting tables and crafting pipes. The basic Item Sink or Provider functionality should not be changed though. There should actually still be a hard line between items that use the same Ore Dictionary name, but with crafting that line is very blurry.
This needs to be discussed more though. Thanks for the comments that were made by the previous commenters here.
I think the issue is resolved with the change in 242bf9b, same as #979
Fuzzy crafting outputs do work now.
Same setup with fuzzy crafting tables, minus fuzzy upgrades in the crafting pipes.
just to make this clear (I know, I am late): one would need fuzzy crafting tables and fuzzy upgrades in the crafting pipes.