aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/utils/MessageScheduler.java6
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/utils/Scheduler.java7
2 files changed, 8 insertions, 5 deletions
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;
}
/**