CyclopsMC / IntegratedCrafting

Craft stuff in Integrated Dynamics networks
MIT License
7 stars 6 forks source link

Feature: Add support for recipes that expect ingredients to be passed from multiple sides #16

Open GreyMario opened 5 years ago

GreyMario commented 5 years ago

Issue type:


Short description:

Take Mekanism's Metallurgical Infuser as an example: it asks for a primary input ingredient and an Infusion material, and it can't take both from the same side. Mekanism's Infusions are a little weird in that they store an internal buffer of material, but it's entirely possible to create recipes that specifically consume exactly the amount of infusion material supplied with no leftovers or deficit.

In short, the issue is that a machine may demand that resources be passed from multiple sides, but the Crafting Interface can only input a specific type of resource to one targeted side.

(This also affects, for example, Applied Energistics 2's Inscriber, which violently demands distinct item input from three sides to satisfy crafting requirements.)

rubensworks commented 5 years ago

Hmm, I see the use, but I'm giving this a lower priority, as this can currently already be achieved with a more elaborate setup involving a buffer chest.

GreyMario commented 5 years ago

I figured the chest solution would be the workaround hack for the time being (with the downside of only handling items).

Incidentally, can items, fluids, and energy be supplied to a small crafting-type network though some wizardry with the crafting interface? Not that I can think of a good use for all three at once right at the moment, but I'm curious if any such interaction is available.

rubensworks commented 5 years ago

Incidentally, can items, fluids, and energy be supplied to a small crafting-type network though some wizardry with the crafting interface?

Untested: try letting the crafting interface point to an ID cable with a fluid, energy and item interface on different sides, and configure the crafting interface to forward the ingredient types to the proper side of the cable. This should forward all ingredient types to the subnetwork.

GreyMario commented 5 years ago

On the latest release 1.12.2-1.0.1, that method worked exactly once (after fiddling with the system to actually get it to accept crafting the test recipe). It even correctly placed the ingredients into the interfaced containers, which were attached to the same interfaces that I was pushing to with the crafting interface. Afterward, it claimed that it was "not allowed".

Maybe the latest patches to crafting have fixed that? Haven't installed the latest dev build.

rubensworks commented 5 years ago

Afterward, it claimed that it was "not allowed". Maybe the latest patches to crafting have fixed that? Haven't installed the latest dev build.

That sounds like a bug. Could you try it out and report it if you find anything?

GreyMario commented 5 years ago

For the sake of completeness, the initially observed behavior with the suggested build was indeed resolved with a newer version.