Buuz135 / FunctionalStorage

FunctionalStorage
MIT License
30 stars 32 forks source link

[1.19.2] Pusher update will not check and push item in other slot after check slot 0 item #290

Open gakongren opened 2 months ago

gakongren commented 2 months ago

**Functional Storage Version: Found in 1.19.2-1.2.3, check in src code found problem exist in 1.18/1.19/main branch

Titanium Version:

**Crashlog If Applicable (Upload to pastebin/gist): No crash

I found this problem when I was trying to use a CompressDrawer to supply a Depolyer block(from mod: Create). I set the deployer use iron ingot as item input, which will be present in slot 1 off the compress drawer then it's supplying iron material (slot 0: iron nugget; slot 1: iron ingot; slot 2: iron block). But the pusher update is not working, the compress drawer will only push item in slot 0 to other item handler. I found out the problem maybe is because by this: image When other handler will not accept the item insert, item count of pulled item stack is not modified; and since item is not changed, hasWorked flag shouldn't be marked, drawer should check next slot when item count is equaled, as-is no item will be inserted in this case. I tried modify this code and it do seems this bug will fix. I also found that in case of puller update and collector update, it won't mark hasWorked flag when item count of item stack is not changed.