float provide = this.getOxygenProvide(outputDirection);
if (provide > 0)
{
TileEntity outputTile = new BlockVec3(this).modifyPositionFromSide(outputDirection).getTileEntity(this.worldObj);
IOxygenNetwork outputNetwork = NetworkHelper.getOxygenNetworkFromTileEntity(outputTile, outputDirection);
if (outputNetwork != null)
{
float powerRequest = outputNetwork.getRequest(this);
if (powerRequest > 0)
{
float toSend = Math.min(this.getOxygenStored(), provide);
float rejectedPower = outputNetwork.produce(toSend, this);
this.provideOxygen(Math.max(toSend - rejectedPower, 0), true);
return true;
}
}