Slimefun4 icon indicating copy to clipboard operation
Slimefun4 copied to clipboard

Cargo Input Nodes don't transfer whitelisted Items if not-whitelisted items come first

Open BlackBeltPanda opened this issue 8 years ago • 11 comments

Description

With an Input Node in Blacklist mode and no items blacklisted, connected to a chest with an Advanced Output Node with an item whitelisted, if any items are blocking the slots before the whitelisted item in the input chest with nowhere to go, the whitelisted item never gets transported.

Evidence / Proof

GIF: https://i.gyazo.com/7199e6c7f7e7f173fa3c7f1dfa778efc.gif

Environment

MC version: 1.11.2 (git-Paper-1032) CS-CoreLib version: 1.5.12 Slimefun version: 4.1.1

BlackBeltPanda avatar Feb 02 '17 15:02 BlackBeltPanda

Yes, I agree, that somehow causes the sorting system halted when one of the container is fulled

mio9 avatar Feb 04 '17 05:02 mio9

This is caused by the blacklisted block being added to itemRequests, then being checked later and finding it is blacklisted and ignored.

BigBadE avatar Jan 26 '20 00:01 BigBadE

Is it fixed?

ALiangLiang avatar Nov 01 '20 14:11 ALiangLiang

I personally didn't, it's possible someone else did, but it would require redoing to blacklist system from what I saw.

BigBadE avatar Nov 01 '20 15:11 BigBadE

This is caused by the blacklisted block being added to itemRequests, then being checked later and finding it is blacklisted and ignored.

I don't think so. Maybe it's just halted by withdraw? From my understanding:

  1. That code gets the first item of the inventory, and it's in the whitelist or not in the blacklist.
  2. The item cannot insert into destination that is full.
  3. Send the item back to the original slot of the inventory.
  4. next tick goto 1. (loop)

ALiangLiang avatar Nov 02 '20 15:11 ALiangLiang

Keep in mind, I last worked on this 10 months ago, things definitely changed.

BigBadE avatar Nov 11 '20 22:11 BigBadE

Still experiancing this problem, but with input node with whitelist, and it can't put the items into a Electric Smelter (because the smelter is full).

DarkDaniel107 avatar Dec 27 '20 22:12 DarkDaniel107

This also happens on freezer II even with both items whitelisted in advanced output. Your outputting empty buckets and ice, the buckets end up in the first slot, if they don't get removed because the destination is full then it skips moving the ice even though its destination is empty.

Tarluin avatar Feb 22 '21 04:02 Tarluin

I think I remember what I found originally (again, might of been changed):

  1. First item is gotten from the inventory and put into itemRequests
  2. Blacklist/whitelist is checked
  3. Check fails, item is removed from the list and not transferred This repeats over and over again because the whitelist/blacklist check only runs on the first item and doesn't fetch a second.

BigBadE avatar Feb 23 '21 17:02 BigBadE

Given the age of this and the upcoming cargo rewrite later this year, I would recommend we close this out, and add this to the plans for the cargo rewrite to find a way to check for this

Boomer-1 avatar Feb 09 '22 02:02 Boomer-1

It's still an issue present in the current version, so I would say it's better to keep this documented. If this was closed people may assume it is fixed, and could lead to duplicate issues. Though I agree it may be better to combine this with the other cargo-rewrite-related tasks.

char3210 avatar Feb 09 '22 02:02 char3210