new mine handling system
This commit is contained in:
@@ -209,6 +209,7 @@ public class WorldServer {
|
|||||||
LocalDateTime nextHourlyJobTime = LocalDateTime.now().withMinute(0).withSecond(0).plusHours(0);
|
LocalDateTime nextHourlyJobTime = LocalDateTime.now().withMinute(0).withSecond(0).plusHours(0);
|
||||||
LocalDateTime nextWareHousePushTime = LocalDateTime.now();
|
LocalDateTime nextWareHousePushTime = LocalDateTime.now();
|
||||||
LocalDateTime nextDiscSpawn = LocalDateTime.now().withMinute(0).withSecond(0).plusHours(1);
|
LocalDateTime nextDiscSpawn = LocalDateTime.now().withMinute(0).withSecond(0).plusHours(1);
|
||||||
|
LocalDateTime nextMinePulse = LocalDateTime.now().withMinute(0).withSecond(0);
|
||||||
|
|
||||||
// Begin execution of main game loop
|
// Begin execution of main game loop
|
||||||
|
|
||||||
@@ -265,6 +266,13 @@ public class WorldServer {
|
|||||||
}
|
}
|
||||||
nextDiscSpawn = nextDiscSpawn.plusHours(1);
|
nextDiscSpawn = nextDiscSpawn.plusHours(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (LocalDateTime.now().isAfter(nextMinePulse)) {
|
||||||
|
Thread mineThread = new Thread(new MineThread());
|
||||||
|
mineThread.setName("mineThread");
|
||||||
|
mineThread.start();
|
||||||
|
nextMinePulse = nextMinePulse.plusMinutes(30);
|
||||||
|
}
|
||||||
ThreadUtils.sleep(50);
|
ThreadUtils.sleep(50);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -544,10 +552,10 @@ public class WorldServer {
|
|||||||
Logger.info("Running garbage collection...");
|
Logger.info("Running garbage collection...");
|
||||||
System.gc();
|
System.gc();
|
||||||
|
|
||||||
Logger.info("Starting Mine Thread...");
|
//Logger.info("Starting Mine Thread...");
|
||||||
Thread mineThread = new Thread(new MineThread());
|
//Thread mineThread = new Thread(new MineThread());
|
||||||
mineThread.setName("mine thread");
|
//mineThread.setName("mine thread");
|
||||||
mineThread.start();
|
//mineThread.start();
|
||||||
|
|
||||||
//Logger.info("Starting Power Thread...");
|
//Logger.info("Starting Power Thread...");
|
||||||
//Thread powerThread = new Thread(new PowersThread());
|
//Thread powerThread = new Thread(new PowersThread());
|
||||||
|
|||||||
@@ -16,18 +16,12 @@ import org.pmw.tinylog.Logger;
|
|||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
public class MineThread implements Runnable {
|
public class MineThread implements Runnable {
|
||||||
public static LocalDateTime nextPulse;
|
|
||||||
public MineThread(){
|
public MineThread(){
|
||||||
|
|
||||||
}
|
}
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
nextPulse = LocalDateTime.now().withMinute(0).withSecond(0).withNano(0);
|
processMineWindows();
|
||||||
while (true) {
|
|
||||||
if(LocalDateTime.now().isAfter(nextPulse)) {
|
|
||||||
processMineWindows(nextPulse);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void mineWindowOpen(Mine mine) {
|
public static void mineWindowOpen(Mine mine) {
|
||||||
@@ -104,7 +98,8 @@ public class MineThread implements Runnable {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void processMineWindows(LocalDateTime currentTime){
|
public static void processMineWindows(){
|
||||||
|
LocalDateTime currentTime = LocalDateTime.now();
|
||||||
for (Mine mine : Mine.getMines()) {
|
for (Mine mine : Mine.getMines()) {
|
||||||
Building tower = BuildingManager.getBuildingFromCache(mine.getBuildingID());
|
Building tower = BuildingManager.getBuildingFromCache(mine.getBuildingID());
|
||||||
//if the tower comes back null, skip this mine
|
//if the tower comes back null, skip this mine
|
||||||
@@ -139,6 +134,5 @@ public class MineThread implements Runnable {
|
|||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
nextPulse = nextPulse.plusMinutes(30);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user