diff options
| author | Kevinthegreat <92656833+kevinthegreat1@users.noreply.github.com> | 2023-09-11 22:57:08 -0400 |
|---|---|---|
| committer | Kevinthegreat <92656833+kevinthegreat1@users.noreply.github.com> | 2023-09-11 22:57:08 -0400 |
| commit | 059385f9dd070beae77a77bebae34f0ca06b664a (patch) | |
| tree | d73344e341b17f28c499f9ec7f468736efa1672c /src/main/java/me/xmrvizzy/skyblocker/utils/scheduler | |
| parent | a99e3f21b31d6b9cfc28d207b4bed51c525dab12 (diff) | |
| download | Skyblocker-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.java | 7 | ||||
| -rw-r--r-- | src/main/java/me/xmrvizzy/skyblocker/utils/scheduler/Scheduler.java | 13 |
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); } /** |
