Added max pressure and flow rate to pipe network reconstruct

This commit is contained in:
DarkGuardsman 2014-01-21 16:54:25 -05:00
parent ebeaab6400
commit a2a8f8c5e1

View file

@ -11,18 +11,17 @@ import net.minecraftforge.fluids.IFluidHandler;
import resonantinduction.api.fluid.IFluidConnector;
import resonantinduction.api.fluid.IFluidNetwork;
import resonantinduction.api.fluid.IFluidPipe;
import universalelectricity.api.energy.IConductor;
import universalelectricity.api.vector.Vector3;
import calclavia.lib.utility.FluidUtility;
/**
* The network for pipe fluid transfer. getNodes() is NOT used.
/** The network for pipe fluid transfer. getNodes() is NOT used.
*
* @author DarkGuardsman
*/
* @author DarkGuardsman */
public class PipeNetwork extends FluidNetwork
{
public HashMap<IFluidHandler, EnumSet<ForgeDirection>> connectionMap = new HashMap<IFluidHandler, EnumSet<ForgeDirection>>();
public int maxFlowRate = 0;
public int maxPressure = 0;
@Override
public void update()
@ -89,6 +88,7 @@ public class PipeNetwork extends FluidNetwork
public void reconstruct()
{
this.connectionMap.clear();
this.maxFlowRate = Integer.MAX_VALUE;
super.reconstruct();
}
@ -96,6 +96,14 @@ public class PipeNetwork extends FluidNetwork
public void reconstructConnector(IFluidConnector part)
{
super.reconstructConnector(part);
if (part instanceof IFluidPipe)
{
if (((IFluidPipe) part).getMaxFlowRate() < this.maxFlowRate)
this.maxFlowRate = ((IFluidPipe) part).getMaxFlowRate();
if (((IFluidPipe) part).getMaxPressure() < this.maxPressure)
this.maxPressure = ((IFluidPipe) part).getMaxPressure();
}
for (int i = 0; i < 6; i++)
{
if (part.getConnections()[i] instanceof IFluidHandler && !(part.getConnections()[i] instanceof IFluidPipe))