diff options
author | External Time <84183548+ExternalTime@users.noreply.github.com> | 2022-04-07 20:30:06 +0200 |
---|---|---|
committer | External Time <84183548+ExternalTime@users.noreply.github.com> | 2022-04-07 20:30:06 +0200 |
commit | 4ac927ca52d580f3db3f7908cbb45a520e89c55a (patch) | |
tree | c194c947de0a8d1a3889eabe5459ef981a106fd7 /src/main/java/me/xmrvizzy/skyblocker/utils/Scheduler.java | |
parent | 481ea9be68c316ff362c64457f72968ec72120d5 (diff) | |
download | Skyblocker-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.java | 14 |
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(); } } |