Learning to Make libraries but code hangs

pump.h:

#ifndef PUMP_H
#define PUMP_H



class pump
{

public:
 pump();
 pump(int pumpP);
 void setPumpCycle(int cycle);
 void setPumpTimerWatered(long pTimerW);
 void setPumpTimerDry(long pTimerDry);
 void setPumpDelayOn(long pDelayOn);
 void setPumpDelayOff(long pDelayOff);
 void setMoistureThreshold(int mThresh);
 void setMoisture(int moisture);
 void setLedPin(int led);
 void setPumpData(int cycle, int mThresh, int led);
 void setPumpTimers(long pTimerW, long pTimerD, long pDelayOn, long pDelayOff);
 void setPumpSafetyShutOff(unsigned long shutOffValue);
 int getMoistureThreshold();
 int getMoistureValue();
 long getPumpDelayOn();
 long getPumpDelayOff();
 long getPumpTimer();
 long getPumpTimerWatered();
 long getPumpTimerDry();
 unsigned long getCurrentMillis();
 unsigned long getPreviousMillis();
 unsigned long getPumpSafetyShutOff();
 void pumpFailSafe();
 void runPump();

private:
 int _pumpPin,
 _ledPin,
 _pumpCycle,
 _pumpSwitch,
 _moistureThreshold,
 _val;
 long _pumpDelayOn,
 _pumpDelayOff,
 _pumpTimer,
 _pumpTimerWatered,
 _pumpTimerDry;
 unsigned long _currentMillis,
 _previousMillis,
 _pumpSafetyShutOff;


 void runThePump();
};

#endif

and pump.cpp

#include "pump.h"
#include "Arduino.h"




int _pumpPin,
 _ledPin,
 _pumpCycle,
 _pumpSwitch = 0,
 _moistureThreshold,
 _val;
long _pumpDelayOn,
 _pumpDelayOff,
 _pumpTimer = 0, //value takes on others, so pump will test immediately when plugged in
 _pumpTimerWatered,
 _pumpTimerDry;
unsigned long _previousMillis = 0,
 _pumpSafetyShutOff = 3600000;


 pump::pump() {
 }
 pump::pump(int pumpP) {
 this->_pumpPin = pumpP;
 pinMode(_pumpPin, OUTPUT);
 }

 void pump::setPumpCycle(int cycle) {
 this->_pumpCycle = cycle;
 }

 void pump::setPumpTimerWatered(long pTimerW) {
 this->_pumpTimerWatered = pTimerW;
 }

 void pump::setPumpTimerDry(long pTimerD) {
 this->_pumpTimerDry = pTimerD;
 }

 void pump::setPumpDelayOn(long pDelayOn) {
 this->_pumpDelayOn = pDelayOn;
 }

 void pump::setPumpDelayOff(long pDelayOff) {
 this->_pumpDelayOff = pDelayOff;
 }

 void pump::setMoistureThreshold(int mThresh) {
 this->_moistureThreshold = mThresh;
 }

 void pump::setMoisture(int moisture) {
 this->_val = moisture;
 }

 void pump::setLedPin(int led) {
 this->_ledPin = led;
 pinMode(_ledPin, OUTPUT);
 }

 void pump::setPumpData(int cycle, int mThresh, int led) {
 this->_pumpCycle = cycle;
 this->_moistureThreshold = mThresh;
 this->_ledPin = led;
 pinMode(_ledPin, OUTPUT);
 }

 void pump::setPumpTimers(long pTimerW, long pTimerD, long pDelayOn, long pDelayOff) {
 this->_pumpTimerWatered = pTimerW;
 this->_pumpTimerDry = pTimerD;
 this->_pumpDelayOn = pDelayOn;
 this->_pumpDelayOff = pDelayOff;
 }
 void pump::setPumpSafetyShutOff(unsigned long shutOffValue) {
 this->_pumpSafetyShutOff = shutOffValue;
 } 

 int pump::getMoistureThreshold() {
 return _moistureThreshold;
 }

 int pump::getMoistureValue() {
 return _val;
 }

 long pump::getPumpDelayOn() {
 return _pumpDelayOn;
 }

 long pump::getPumpDelayOff() {
 return _pumpDelayOff;
 }

 long pump::getPumpTimer() {
 return _pumpTimer;
 }

 long pump::getPumpTimerWatered() {
 return _pumpTimerWatered;
 }

 long pump::getPumpTimerDry() {
 return _pumpTimerDry;
 }

 unsigned long pump::getCurrentMillis() {
 return _currentMillis;
 }

 unsigned long pump::getPreviousMillis() {
 return _previousMillis;
 }
 
 unsigned long pump::getPumpSafetyShutOff() {
 return _pumpSafetyShutOff;
 }
 
 void pump::pumpFailSafe()
 {
 unsigned long _cMils = millis();
 if (_cMils - _previousMillis >= _pumpSafetyShutOff)
 {
 digitalWrite(_pumpPin, LOW);
 digitalWrite(_ledPin, LOW);
 }
 }

 void pump::runPump() {
 runThePump();
 }


 void pump::runThePump() 
 {
 unsigned long _currentMillis = millis();
 if (_currentMillis - _previousMillis >= _pumpTimer) 
 {
 _previousMillis = _currentMillis;


 if (_val < _moistureThreshold)
 {
 for (int x = 0; x < _pumpCycle;) {
 if (_pumpSwitch == 0) {
 Serial.println("Turning pump On");
 digitalWrite(_pumpPin, HIGH);
 digitalWrite(_ledPin, HIGH);
 delay(_pumpDelayOn);
 _pumpSwitch = 1;
 }
 else if (_pumpSwitch == 1) {
 Serial.println("Turning pump Off");
 digitalWrite(_pumpPin, LOW);
 digitalWrite(_ledPin, LOW);
 if (x < _pumpCycle) {
 delay(_pumpDelayOff);
 }
 _pumpSwitch = 0;
 x++;
 }
 }
 _pumpTimer = _pumpTimerWatered;
 Serial.println("Exiting for loop");
 }
 else {
 _pumpTimer = _pumpTimerDry;
 Serial.println("Plant moisture is fine, Will check again in 6 hours");
 }
 } 
 }

:o :o :o :o edited weird spacing