Mekanism

Mekanism

111M Downloads

takeTopStack in the transporters

Lilylicious opened this issue ยท 2 comments

commented

I've been working on an ore processing system using logistical transporters and sorters to move items around.

The issue I'm encountering is this: If an inventory contains a matching filtered item, it takes the last one available due to takeTopStack(I think). This isn't what I'd like it to do, because it ignores matching items that are before a different matching item.

Example: Inventory contains Iron(64), gold(64), iron(64). The destination contains gold. Even if there's space in the destination, it will not take more gold from the inventory until the destination can accept iron. Then it does 64 iron, then 64 gold, then 64 iron.

What I'd like it to do: If the inventory can't accept the matched item (iron in the example), check the next one. If it can, send it (gold). That way, it processes all the gold, then all the iron.

Another option that would be nice is to invert it, take the first item and move forward like that. This way you process things in the order they come in, instead of reverse.

(This is in 8.1.5.246)

commented

To summarize, something like (pseudocode) IF(destination.canAccept){send}ELSE(filter.keepLooking) is what I'd like to see.

commented

Fixed in development as of d5f5565