BuildCraft|Core

BuildCraft|Core

7M Downloads

Energy can get stuck in pipes

SpaceToad opened this issue ยท 7 comments

commented

In this scenario, a machine is requesting some power. Then get filled and stops using it. No one else is requesting this power. So it just gets stuck in pipes. Investigate how to improve this, maybe by re-introducing a very small amount of power loss?

commented

what if you make the machines tell the system how much energy it needs? then the engines would produce that amout of power

commented

Sure, you can always improve the system with automatism. The issue is that the default behavior is a bit counter-intuitive.

commented

The power source in a network of pipes is the wooden pipe and not the engines. The wooden pipe already have some perdition allowing engines to run without heating problems even if nothing is requesting power.

Not sure what's going on the power getting stuck.

commented

i think it is when the wooden pipe thinks there is more power requested but but the need for power is suddenly canceled (by for example breaking the pipe to the machine) there is still energy that was produced and still on it's way there but suddenly can't go there

commented

Currently, if there is absolutely no request crossing the pipe, any power contained in the pipe is dissipated. However, if there is a loop in the pipes, the pipes cycle the request indefinitely, holding onto the power. No viable fix has been found as of yet.

Requests almost need some kind of TTL counter, set to like 1000 or something ridiculous. But this is a pretty major rewrite of the request system.

Additionally, I think any power beyond the request amount is also dissipated, but I'd have to check the code.

Note 1: All machines have a visible and constant power draw of ~1 MJ/t (machine dependant). Its possible this constant draw is being misinterpreted as power "getting stuck in the pipe".

Note 2: Wooden Pipes have a rather large Energy Buffer, which is filled by the attached Engine. The "fullness" of this buffer is what controls the Power Requested trigger. My response to this issue assumes we are talking about pipe loops and not Wooden Pipes.

commented

yeah pipe loops, when i break a pipe to a machine it takes a few moments for the gates to realise that there is no more power needed (when the buffer fills) but afther the triger is deactivated anoter moment for the engines to stop working. in that time energy is created and if there is a loop somewhere in the power system all power can keep looping and remains there, kinda like a battery

commented

This one got fixed as a side effect of #1746