Buuz135 / FunctionalStorage

FunctionalStorage
MIT License
30 stars 32 forks source link

[1.20.1] Fluid drawers cannot accept fluids from a controller that has a locked empty drawer #258

Closed CinnamonShaey closed 3 months ago

CinnamonShaey commented 5 months ago

Functional Storage Version: 1.2.10

Titanium Version: 3.8.27

inputting liquids into fluid drawers with controller is impossible if drawers dont already have liquid in them as the controller just does not act as a tank by itself so liquids cannot be put in, and even when liquids are filtered and locked if that fluid drawer gets to 0mb then it stops working cause then the controller stops seeing it as a tank its incredibly annoying

RobertBouillon commented 5 months ago

@CinnamonShaey Can you please change the title to something more descriptive? I'd suggest "Fluid drawers cannot accept fluids from a controller that has a locked empty drawer." That will make the issue easier to find for others and easier to prioritize for the maintainer.

I ran into this issue myself and created a repro:

Steps to reproduce

1) Make a creative world in FTB Skies Expert 1) Place a controller and attach two fluid drawers 2) Link the drawers to the controller 3) Place water in drawer #⁠1. Lock the drawer. Pipe the water out. 4) Pipe in any other fluid (e.g. lava) through the controller 5) Fluid is not piped to the empty, unlocked drawer as expected

image

Workaround

Do not lock fluid drawers

Notes

It looks like the controller code searches for the next available drawer without looking to see if it's locked, first. It chooses the empty drawer to place the fluid, but then fails to move it because the drawer's been locked to a different fluid.

CinnamonShaey commented 5 months ago

@CinnamonShaey Can you please change the title to something more descriptive? I'd suggest "Fluid drawers cannot accept fluids from a controller that has a locked empty drawer." That will make the issue easier to find for others and easier to prioritize for the maintainer.

I ran into this issue myself and created a repro:

Steps to reproduce

  1. Make a creative world in FTB Skies Expert
  2. Place a controller and attach two fluid drawers
  3. Link the drawers to the controller
  4. Place water in drawer #⁠1. Lock the drawer. Pipe the water out.
  5. Pipe in any other fluid (e.g. lava) through the controller
  6. Fluid is not piped to the empty, unlocked drawer as expected

image

Workaround

Do not lock fluid drawers

Notes

It looks like the controller code searches for the next available drawer without looking to see if it's locked, first. It chooses the empty drawer to place the fluid, but then fails to move it because the drawer's been locked to a different fluid.

From my experience even if they aren't locked as soon as they are empty they still don't accept any fluid from a controller

wrincewind commented 3 months ago

I did find a related issue myself - i had a drawer network with a dozen fluid drawers. all locked, all empty. When i was piping in my fluids, i had to play whack-a-mole to find out which drawer had been selected, unlocking and re-locking them one at a time until a drawer suddenly filled up.

I hope this isn't going to be a problem when they're at 0mb, or i'm going to have a bad time. :'D