aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/xmrvizzy/skyblocker/utils/Scheduler.java
diff options
context:
space:
mode:
authorExternal Time <84183548+ExternalTime@users.noreply.github.com>2022-04-07 20:30:06 +0200
committerExternal Time <84183548+ExternalTime@users.noreply.github.com>2022-04-07 20:30:06 +0200
commit4ac927ca52d580f3db3f7908cbb45a520e89c55a (patch)
treec194c947de0a8d1a3889eabe5459ef981a106fd7 /src/main/java/me/xmrvizzy/skyblocker/utils/Scheduler.java
parent481ea9be68c316ff362c64457f72968ec72120d5 (diff)
downloadSkyblocker-4ac927ca52d580f3db3f7908cbb45a520e89c55a.tar.gz
Skyblocker-4ac927ca52d580f3db3f7908cbb45a520e89c55a.tar.bz2
Skyblocker-4ac927ca52d580f3db3f7908cbb45a520e89c55a.zip
Replaced most assertions with proper error handling
Diffstat (limited to 'src/main/java/me/xmrvizzy/skyblocker/utils/Scheduler.java')
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/utils/Scheduler.java14
1 files changed, 11 insertions, 3 deletions
diff --git a/src/main/java/me/xmrvizzy/skyblocker/utils/Scheduler.java b/src/main/java/me/xmrvizzy/skyblocker/utils/Scheduler.java
index 0fdf4892..16e5b023 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/utils/Scheduler.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/utils/Scheduler.java
@@ -1,8 +1,12 @@
package me.xmrvizzy.skyblocker.utils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
import java.util.PriorityQueue;
public class Scheduler {
+ private static final Logger LOGGER = LoggerFactory.getLogger(Scheduler.class);
private int currentTick;
private final PriorityQueue<ScheduledTask> tasks;
@@ -12,21 +16,25 @@ public class Scheduler {
}
public void schedule(Runnable task, int delay) {
- assert delay > 0;
+ if (delay < 0)
+ LOGGER.warn("Scheduled a task with negative delay");
ScheduledTask tmp = new ScheduledTask(currentTick + delay, task);
tasks.add(tmp);
}
public void scheduleCyclic(Runnable task, int period) {
- new CyclicTask(task, period).run();
+ if (period <= 0)
+ LOGGER.error("Attempted to schedule a cyclic task with period lower than 1");
+ else
+ new CyclicTask(task, period).run();
}
public void tick() {
currentTick += 1;
ScheduledTask task;
while ((task = tasks.peek()) != null && task.schedule <= currentTick) {
- task.run();
tasks.poll();
+ task.run();
}
}