Applied Energistics 2

Applied Energistics 2

137M Downloads

Pattern Provider pushes incomplete batches of ingredients, completely ignoring the state of the target inventories

AlisonHuang777 opened this issue ยท 7 comments

commented

Describe the bug

footage1.mp4
footage2.mp4

Note1: Both of the tests have a (activated) Repeating Command Block in the background executing kill @e[type=minecraft:item] to clear any dropped items.
Note2: I have to significantly lower the resolution of the footages in order to make their size less than 10MB.

How to reproduce the bug

See the footages submitted.

Expected behavior

The Pattern Provider should not push incomplete batches of ingredients under any circumstances, as the Guide suggests.

Additional details

Versions:

  • Minecraft 1.20.1
  • NeoForge 47.1.99
  • AE2 15.0.21
  • Create 0.5.1.f

Playing Prominence II Classic modpack v2.5.5, with modifications: https://gist.github.com/AlisonHuang777/d7b6cd3edf14da526dda8b70a7914cd9

Which minecraft version are you using?

1.20

On which mod loaders does it happen?

Forge

Crash log

https://gist.github.com/AlisonHuang777/972df9dba887fa43c9b3e4107a505cb1

commented

I don't completely get what you're saying, but I assume that you mean this bug is known and there is no known way to fix this?

commented

Also I though Pattern Provider will check whether there is enough space left for all the items which is going to be inserted.

commented

this is a limitation of forges transfer api:
you can only simulate the insert of individual stacks, and all of the stacks can individually be inserted, but once some of them are inserted, inserting the rest will fail.
there is also no way to undo the first insertions

commented

Is it even possible to do that? As I had used /data command to get the NBT data of several different containers, and I had not see anything related to how big the container is.

commented

I don't completely get what you're saying, but I assume that you mean this bug is known and there is no known way to fix this?

yes

Is it even possible to do that? As I had used /data command to get the NBT data of several different containers, and I had not see anything related to how big the container is.

it isn't possible to check that using the api

commented

Wait, so that means with current API, the only thing you can do is try to insert something into a container, and the API will tell you whether the operation is successful or not?
And you also cannot execute an insertion and an extraction operation to the same target in the same gametick?

commented

We can only check "can you accept ". Checking each dye separately works, however it's not possible to check that all dyes could fit at once in a way that will work for all possible types of inventories. So we really can't fix this issue.

In your case, a workaround is to enable blocking mode.