From 300fe03100274d0e4f75e1294d71542cd0cc8e0e Mon Sep 17 00:00:00 2001 From: Kevinthegreat <92656833+kevinthegreat1@users.noreply.github.com> Date: Tue, 30 May 2023 11:23:46 -0400 Subject: Fix MessageScheduler removing and not sending message tasks during cooldown --- src/main/java/me/xmrvizzy/skyblocker/utils/MessageScheduler.java | 6 ++++-- src/main/java/me/xmrvizzy/skyblocker/utils/Scheduler.java | 7 ++++--- 2 files changed, 8 insertions(+), 5 deletions(-) (limited to 'src/main/java/me') diff --git a/src/main/java/me/xmrvizzy/skyblocker/utils/MessageScheduler.java b/src/main/java/me/xmrvizzy/skyblocker/utils/MessageScheduler.java index 85cc963d..8aff5517 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/utils/MessageScheduler.java +++ b/src/main/java/me/xmrvizzy/skyblocker/utils/MessageScheduler.java @@ -14,7 +14,7 @@ public class MessageScheduler extends Scheduler { sendMessage(message); lastMessage = System.currentTimeMillis(); } else { - tasks.add(new ScheduledTask(() -> sendMessage(message), 0)); + queueMessage(message, 0); } } @@ -34,10 +34,12 @@ public class MessageScheduler extends Scheduler { } @Override - protected void runTask(Runnable task) { + protected boolean runTask(Runnable task) { if (lastMessage + 200 < System.currentTimeMillis()) { task.run(); lastMessage = System.currentTimeMillis(); + return true; } + return false; } } diff --git a/src/main/java/me/xmrvizzy/skyblocker/utils/Scheduler.java b/src/main/java/me/xmrvizzy/skyblocker/utils/Scheduler.java index 09db3f93..73c15efc 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/utils/Scheduler.java +++ b/src/main/java/me/xmrvizzy/skyblocker/utils/Scheduler.java @@ -51,13 +51,14 @@ public class Scheduler { public void tick() { currentTick += 1; ScheduledTask task; - while ((task = tasks.peek()) != null && task.schedule <= currentTick) { - runTask(tasks.poll()); + while ((task = tasks.peek()) != null && task.schedule <= currentTick && runTask(task)) { + tasks.poll(); } } - protected void runTask(Runnable task){ + protected boolean runTask(Runnable task) { task.run(); + return true; } /** -- cgit