Suggestion: Make the drain remove the source blocks of flowing liquid touching it
Katorone opened this issue ยท 1 comments
Is your feature request related to a problem? Please describe.
The drain only removes source blocks on its top. This makes it impractical for collecting lava or (modded) liquids other than water.
Describe the solution you'd like
When there is no source block on the Drain, check for flowing liquid instead. By the direction of the flow, the source block can be found. The drain can then "suck in" the source block and its flow between the source block and the Drain, emulating liquid physics.
Describe alternatives you've considered
I'm not sure how to handle leftover flowing liquid.
Removing the flowing liquid immediately, instead of only removing the source block might not be wanted behavior. It would cause some block updates and cause other flowing liquids to immediately recalculate their own flow. I don't think the Drain works fast enough to cause real issues, but tps lag can still be a concern. Though at the very least, the flowing part on top of the Drain should be removed as well.
On the other hand, the flow of a liquid whose source block got removed, can still spill on the drain from multiple sides.
Alternatively, the Drain could "pull" source blocks nearer when their flow touches its top. This then has the problem of finding the path the source block can take towards the drain, that follows how it was originally flowing. The flow of liquids update relatively slow compared to the speed of the Drain.
Drain intended to be quite stupid and grab source blocks only above it.
This behavior described here: https://wiki.techreborn.ovh/doku.php?id=mods:techreborn:drain
Search for ranged source blocks will be done by pump. When we have it :)