CyclopsMC / IntegratedTunnels

Transfer other energy, items and fluids over Integrated Dynamics networks
MIT License
20 stars 13 forks source link

'Export Item Predicate' not exporting when multiple valid stacks #271

Closed met4000 closed 10 months ago

met4000 commented 11 months ago

Issue type:


Short description:

In 1.18, 'export item predicate' aspect of the item exporter does not appear to be slot independent (at least for the predicate given below). Also occurs in 1.19, but does not on and 1.20.

Steps to reproduce the problem:

image

  1. setup as in the picture above
  2. put an item predicate in the exporter, such as apply(relationalEquals, variableCardItem) or apply(listContains, itemListWithVariableCardItem) - note that the item stack size is respected by these, so they will only return true for stacks with a size of 1

Behaviour:

Placing 1 stack of 2 items in the left chest: image Behaviour: no items are transferred (correct) Expected behaviour: no items are transferred

Placing 1 stack of 1 item in the left chest: image Behaviour: items are transferred (correct) Expected behaviour: items are transferred

Placing 2 stacks of 1 item in the left chest: image Behaviour: no items are transferred (incorrect) Expected behaviour: all items are transferred

i.e.: works correctly, unless there are multiple stacks that should be exported


Versions:

image

Log file:

N/A

rubensworks commented 11 months ago

Thanks for reporting!

rubensworks commented 11 months ago

Also occurs in 1.19, but does not on 1.20.

Huh, that's surprising. AFAIK, nothing has changed between these versions related to item transfer or operator handling.

met4000 commented 11 months ago

Yeah, I went through the diff for 1.18 vs 1.20 for InTu and nothing seemed relevant. It might be a change in InDy or CyclopsCore. Have you been able to reproduce this for yourself on 1.18 vs 1.20?

met4000 commented 11 months ago

Hmm, nevermind I guess; I just loaded the 1.20 test world back up for something else and it's not working there either - I'm not sure why I thought it was before but I'll put it down to misremembering rather than it actually happening and being inconsistent, at least until I see it actually happen (again?).

met4000 commented 11 months ago

Might be relevant, or a separate issue; in both 1.18 and 1.20, if you specify a transfer rate and 'check stack size', then exporters work as expected (tested using the 'export item' and 'export item list' aspects). However, if you instead use an importer and interface, it seems to operate 'slot-wise' - with a transfer rate of 48 and 3 stacks of 64 initially in the chest, it transfers three lots of 48 leaving behind 3 stacks of 16, rather than transferring a fourth lot of 48 as well.

image image