BuildCraft|Core

BuildCraft|Core

7M Downloads

Enhancements in fluids pipes

SpaceToad opened this issue ยท 6 comments

commented

I'd like to help make some of those suggestions happen.

There seems to be fairly broad consensus on adding a quartz fluid pipe with a flow rate in between cobble/stone and gold. Not so much on what the overall flow rates should be though. I think the thing to do is have one base flow rate exposed in the config file, and set the flow rate of each pipe based on a multiplier (1 for stone, 2 for quartz, 4 for gold and emerald, etc.).

So, I've got those two things done. Just need to clean up a couple bits before pushing to my local fork tonight or tomorrow.

Beyond that, one thing that seems to plague everyone is supposedly uneven flow at junctions. I think what confounds people is that fluid can slosh around in a pipeline indefinitely. So you get situations where one side of a T junction might have fluid flow back towards the junction and prevent anything from going out that side. The iron pipe can help sometimes, but there are many more situations where it cannot.

To solve this while keeping the same flow mechanics, I'm proposing a new gate action - ActionValve - that has 4 instances (Open, Input Only, Output Only, Closed) and takes one parameter specifying to which side of the pipe it applies. I think it should probably be added as a Gate expansion, but to keep things simplified for now, I've written a functional version with it available on any emerald gate (needs some debugging). Naturally, this obsoletes the "Close Pipe" action, so I've deleted that in my version.

I was thinking about a different valve action that could set the current flow rate as a percentage of the pipe's maximum flow rate. That might prove to be very useful, but I'm still figuring out the details - how many settings, should/can it be parameterized by side, etc.

Let me know if you want a pull request on any of these.

commented

These sound all in line with current development to me. Will welcome a PR on 6.1.x :-)

commented

Created pull request #2011 for the first two items. I'm going to create a new fork with all the changes that came in this week before adding ActionValve.

Also, with the addition of ActionValve, not only will the ClosePipe action be obsoleted, but Iron pipes will be as well, as least partially. Granted, you can use Iron pipes long before having access to emerald gates, but once you have them, the Iron pipe functionality is completely unnecessary.

Do we want to change Iron Pipe functionality at all in light of that? Or is it better just to keep that the same with the idea that Iron Pipes are early game, and ActionValve is late game? I don't really have a strong opinion either way on this, but I'd lean towards changing Iron Pipes in some way to keep them relevant after emerald gates are available.

commented

@SpaceToad: All of the above suggestions with the exception of an action to set the flow rate as a % of max are ready to go. I thought I was submitting a separate PR, but everything got put into #2011. I guess it's simpler with just the 1 PR, anyway.

commented

To answer specifically to the question on Iron pipe, let's keep it as is. I'll go with @asiekierka assessment and work on a merge. Seems to be some functionality loss, but I'll comment on the PR.

commented

nvm - looks good. Merging :-)