AppliedEnergistics / Applied-Energistics-2

A Minecraft Mod about Matter, Energy and using them to conquer the world..
https://appliedenergistics.github.io/
Other
1.44k stars 656 forks source link

[Autocraft] Allow process pattern to send items without stacking #6892

Closed gurmiguel closed 1 year ago

gurmiguel commented 1 year ago

Describe the feature

Not sure if there was any kind of request for this yet, tried looking for it but couldn't find it.

Basically the idea here is to make possible some crafting mechanics that require the order of items in a specific order, the issue right now is that AE2 Pattern Provider pushes similar items to the target inventory stacked, even though I placed them separately in the pattern (the pattern saves the order correctly, even if I reload it in the pattern terminal, it loads the items in order not stacked).

Example Given I have a [Create] Mechanical Craft recipe, it requires a specific order of items, and some items get repeated, but are not sequential (just an example, not necessarily an existing recipe):

S S A S

S = stone A = sandstone

example-recipe

As soon as the provider pushes the items, the pattern provider stacks the similar items, even though they are separated in the recipe pattern. I know I could fix this using some filtering mechanics, but it looks more like a workaround, and it makes everything very "bloat".

It looks like it's some kind of optimization option, if that's the case, maybe it could be a separate option in the Pattern Provider, something like the Blocking Mode, or just don't do that, as we can specify the amount of items in a single stack in the Pattern Terminal.

Reasons why it should be considered

This feature allows a bunch of automatization that would be impossible without workarounds (usually involving filtering), and some are even impossible due to that issue.

Additional details

The main affected mod would be Create with Mechanical Crafters, but I'm sure this would allow many other ways of automating recipes.

PS: I tried placing a single stack buffer as the target for the Pattern Provider (I used the Integrated Dynamics Squeezer, the mechanical version), it did keep only a single item and pushed them in order, but even so, the similar items were reordered (like the provider stacked them before pushing to the target), even in the example case of the screenshot, where I put a different item between them.

single stack example

In this case, that's the third Stone, but in the order of the recipe above, it should be a Sandstone, but the Pattern Provider stacked the similar items instead of pushing them in order.

gurmiguel commented 1 year ago

I pushed a possible PR to achieve this behavior, this is my first time trying to contribute to the project, so it may contain errors.

6902

MissPotato commented 1 year ago

I too would like this, would make automating things like Create's Mechanic Crafter, Avaria's 9x9, and other mega crafters a lot easier.