Applied Energistics 2

Applied Energistics 2

156M Downloads

Interfaces can split ingredients of one pattern into multiple inventories

PrototypeTrousers opened this issue ยท 1 comments

commented

Describe the bug
Requesting a craft of a pattern that goes into an inventory that may not be able to accept all items can lead the interface to inject part of its inputs into its adjacent inventories

To Reproduce
Place an interface, with an encoded pattern of a dropper.
Place a chest on top and on another face of the interface
Fill the chest on top with dirt, except one slot.
Ask the ME system to craft a dropper.
Chest on top will contain 7 cobblestones on the slot that was left empty, the redstone will be on the other chest.

Expected behavior
The interface to wait for another slot to be freed on the top chest
(making waitingToSend list and pushItemsOut method side-aware)
OR
Refusing to inject on the top chest and using the other chest.
(requires API break as the merging logic in acceptsItems does not take into account the changes that would be made to the inventory on real injections)

Additional context
image
image
image
image

  • Environment:
    Version tested :

Minecraft 1.16.5
Forge 36.1.16
AE2 8.4.0 Alpha 2

commented

This is somewhat intentional to allow users to split a pattern across multiple interface. This is of course somewhat limited as it requires the machines to be able to only accept the correct items.

Otherwise there is no way for us to differentiate between inventory is full or inventory does never accept this item. For us both cases play out equally and would just be stuck forever without the allowing the player to identify it. E.g. by noticing it did go to the wrong inventory.

If that is not the expected behaviour, there are always directional interfaces to ensure things are going in exactly the machine someone wants.