diff options
Diffstat (limited to 'src/main/java/me/xmrvizzy/skyblocker/utils')
-rw-r--r-- | src/main/java/me/xmrvizzy/skyblocker/utils/Scheduler.java | 6 | ||||
-rw-r--r-- | src/main/java/me/xmrvizzy/skyblocker/utils/title/TitleContainer.java | 3 |
2 files changed, 8 insertions, 1 deletions
diff --git a/src/main/java/me/xmrvizzy/skyblocker/utils/Scheduler.java b/src/main/java/me/xmrvizzy/skyblocker/utils/Scheduler.java index fbe79ade..1ee3e040 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/utils/Scheduler.java +++ b/src/main/java/me/xmrvizzy/skyblocker/utils/Scheduler.java @@ -2,6 +2,7 @@ package me.xmrvizzy.skyblocker.utils; import com.mojang.brigadier.Command; 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; import org.slf4j.Logger; @@ -54,10 +55,15 @@ public class Scheduler { } } + public static Command<FabricClientCommandSource> queueOpenScreenCommand(Supplier<Screen> screenSupplier) { + return context -> SkyblockerMod.getInstance().scheduler.queueOpenScreen(screenSupplier); + } + /** * Schedules a screen to open in the next tick. Used in commands to avoid screen immediately closing after the command is executed. * * @param screenSupplier the supplier of the screen to open + * @see #queueOpenScreenCommand(Supplier) */ public int queueOpenScreen(Supplier<Screen> screenSupplier) { MinecraftClient.getInstance().send(() -> MinecraftClient.getInstance().setScreen(screenSupplier.get())); diff --git a/src/main/java/me/xmrvizzy/skyblocker/utils/title/TitleContainer.java b/src/main/java/me/xmrvizzy/skyblocker/utils/title/TitleContainer.java index 7b92fff6..a485d37b 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/utils/title/TitleContainer.java +++ b/src/main/java/me/xmrvizzy/skyblocker/utils/title/TitleContainer.java @@ -2,6 +2,7 @@ package me.xmrvizzy.skyblocker.utils.title; import me.xmrvizzy.skyblocker.SkyblockerMod; import me.xmrvizzy.skyblocker.config.SkyblockerConfig; +import me.xmrvizzy.skyblocker.utils.Scheduler; import net.fabricmc.fabric.api.client.command.v2.ClientCommandManager; import net.fabricmc.fabric.api.client.command.v2.ClientCommandRegistrationCallback; import net.fabricmc.fabric.api.client.rendering.v1.HudRenderCallback; @@ -29,7 +30,7 @@ public class TitleContainer { ClientCommandRegistrationCallback.EVENT.register((dispatcher, registryAccess) -> dispatcher.register(ClientCommandManager.literal("skyblocker") .then(ClientCommandManager.literal("hud") .then(ClientCommandManager.literal("titleContainer") - .executes(context -> SkyblockerMod.getInstance().scheduler.queueOpenScreen(TitleContainerConfigScreen::new)))))); + .executes(Scheduler.queueOpenScreenCommand(TitleContainerConfigScreen::new)))))); } /** |