aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/xmrvizzy/skyblocker/utils/scheduler
diff options
context:
space:
mode:
authorKevinthegreat <92656833+kevinthegreat1@users.noreply.github.com>2023-09-11 22:57:08 -0400
committerKevinthegreat <92656833+kevinthegreat1@users.noreply.github.com>2023-09-11 22:57:08 -0400
commit059385f9dd070beae77a77bebae34f0ca06b664a (patch)
treed73344e341b17f28c499f9ec7f468736efa1672c /src/main/java/me/xmrvizzy/skyblocker/utils/scheduler
parenta99e3f21b31d6b9cfc28d207b4bed51c525dab12 (diff)
downloadSkyblocker-059385f9dd070beae77a77bebae34f0ca06b664a.tar.gz
Skyblocker-059385f9dd070beae77a77bebae34f0ca06b664a.tar.bz2
Skyblocker-059385f9dd070beae77a77bebae34f0ca06b664a.zip
Make Scheduler and MessageScheduler singletons
Diffstat (limited to 'src/main/java/me/xmrvizzy/skyblocker/utils/scheduler')
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/utils/scheduler/MessageScheduler.java7
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/utils/scheduler/Scheduler.java13
2 files changed, 9 insertions, 11 deletions
diff --git a/src/main/java/me/xmrvizzy/skyblocker/utils/scheduler/MessageScheduler.java b/src/main/java/me/xmrvizzy/skyblocker/utils/scheduler/MessageScheduler.java
index bde29c13..b8ffa548 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/utils/scheduler/MessageScheduler.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/utils/scheduler/MessageScheduler.java
@@ -3,19 +3,22 @@ package me.xmrvizzy.skyblocker.utils.scheduler;
import net.minecraft.client.MinecraftClient;
/**
- * A scheduler for sending chat messages or commands. Use the instance in {@link me.xmrvizzy.skyblocker.SkyblockerMod#messageScheduler SkyblockerMod.messageScheduler}. Do not instantiate this class.
+ * A scheduler for sending chat messages or commands. Use the instance in {@link #INSTANCE}. Do not instantiate this class.
*/
-@SuppressWarnings("deprecation")
public class MessageScheduler extends Scheduler {
/**
* The minimum delay that the server will accept between chat messages.
*/
private static final int MIN_DELAY = 200;
+ public static final MessageScheduler INSTANCE = new MessageScheduler();
/**
* The timestamp of the last message send,
*/
private long lastMessage = 0;
+ protected MessageScheduler() {
+ }
+
/**
* Sends a chat message or command after the minimum cooldown. Prefer this method to send messages or commands to the server.
*
diff --git a/src/main/java/me/xmrvizzy/skyblocker/utils/scheduler/Scheduler.java b/src/main/java/me/xmrvizzy/skyblocker/utils/scheduler/Scheduler.java
index e3b590c7..700bdce3 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/utils/scheduler/Scheduler.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/utils/scheduler/Scheduler.java
@@ -3,7 +3,6 @@ package me.xmrvizzy.skyblocker.utils.scheduler;
import com.mojang.brigadier.Command;
import it.unimi.dsi.fastutil.ints.AbstractInt2ObjectMap;
import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap;
-import me.xmrvizzy.skyblocker.SkyblockerMod;
import net.fabricmc.fabric.api.client.command.v2.FabricClientCommandSource;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.gui.screen.Screen;
@@ -15,19 +14,15 @@ import java.util.List;
import java.util.function.Supplier;
/**
- * A scheduler for running tasks at a later time. Tasks will be run synchronously on the main client thread. Use the instance stored in {@link SkyblockerMod#scheduler}. Do not instantiate this class.
+ * A scheduler for running tasks at a later time. Tasks will be run synchronously on the main client thread. Use the instance stored in {@link #INSTANCE}. Do not instantiate this class.
*/
public class Scheduler {
private static final Logger LOGGER = LoggerFactory.getLogger(Scheduler.class);
+ public static final Scheduler INSTANCE = new Scheduler();
private int currentTick = 0;
private final AbstractInt2ObjectMap<List<ScheduledTask>> tasks = new Int2ObjectOpenHashMap<>();
- /**
- * Do not instantiate this class. Use {@link SkyblockerMod#scheduler} instead.
- */
- @SuppressWarnings("DeprecatedIsStillUsed")
- @Deprecated
- public Scheduler() {
+ protected Scheduler() {
}
/**
@@ -59,7 +54,7 @@ public class Scheduler {
}
public static Command<FabricClientCommandSource> queueOpenScreenCommand(Supplier<Screen> screenSupplier) {
- return context -> SkyblockerMod.getInstance().scheduler.queueOpenScreen(screenSupplier);
+ return context -> INSTANCE.queueOpenScreen(screenSupplier);
}
/**