mines produce once a day, maintenance system for TOL only

This commit is contained in:
2024-06-25 20:17:16 -05:00
parent 94be3335a0
commit c0d1a4f274
5 changed files with 32 additions and 45 deletions
@@ -162,20 +162,5 @@ public class HalfHourlyJobThread implements Runnable {
processMineWindow();
// Mines can only be claimed once per cycle.
// This will reset at 1am after the last mine
// window closes.
if (LocalDateTime.now().getHour() == 1) {
for (Mine mine : Mine.getMines()) {
try {
mine.depositMineResources();
} catch (Exception e) {
Logger.info(e.getMessage() + " for Mine " + mine.getObjectUUID());
}
mine.wasClaimed = false;
}
}
}
}
@@ -15,6 +15,8 @@ import engine.net.MessageDispatcher;
import engine.objects.*;
import engine.server.world.WorldServer;
import org.pmw.tinylog.Logger;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.concurrent.ConcurrentHashMap;
@@ -51,6 +53,21 @@ public class HourlyJobThread implements Runnable {
Logger.error("missing city map");
}
//run maintenance every day at 1 am
if(LocalDateTime.now().getHour() == 1) {
MaintenanceManager.dailyMaintenance();
//produce mine resources once a day
for (Mine mine : Mine.getMines()) {
try {
mine.depositMineResources();
} catch (Exception e) {
Logger.info(e.getMessage() + " for Mine " + mine.getObjectUUID());
}
mine.wasClaimed = false;
}
}
// Log metrics to console
Logger.info(WorldServer.getUptimeString());
Logger.info(SimulationManager.getPopulationString());