diff options
Diffstat (limited to 'src/main/java/me/xmrvizzy/skyblocker/utils')
-rw-r--r-- | src/main/java/me/xmrvizzy/skyblocker/utils/Events.java | 29 | ||||
-rw-r--r-- | src/main/java/me/xmrvizzy/skyblocker/utils/Utils.java | 27 |
2 files changed, 37 insertions, 19 deletions
diff --git a/src/main/java/me/xmrvizzy/skyblocker/utils/Events.java b/src/main/java/me/xmrvizzy/skyblocker/utils/Events.java new file mode 100644 index 00000000..8488d6ab --- /dev/null +++ b/src/main/java/me/xmrvizzy/skyblocker/utils/Events.java @@ -0,0 +1,29 @@ +package me.xmrvizzy.skyblocker.utils; + +import me.xmrvizzy.skyblocker.SkyblockerMod; +import net.minecraft.client.MinecraftClient; +import net.minecraft.text.*; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public class Events { + public static MinecraftClient client = MinecraftClient.getInstance(); + public static Logger logger = LoggerFactory.getLogger(SkyblockerMod.NAMESPACE); + + public static void onSkyblockJoin(){ + Utils.isOnSkyblock = true; + logger.info("Joined Skyblock"); + if (UpdateChecker.shouldUpdate()){ + LiteralText link = new LiteralText("https://modrinth.com/mod/skyblocker-liap/versions"); + client.player.sendMessage(Text.of("You are running an outdated version of Skyblocker! Click the link below to find the newest version!"), false); + client.player.sendMessage(link.styled(style -> style.withClickEvent(new ClickEvent(ClickEvent.Action.OPEN_URL, "https://modrinth.com/mod/skyblocker-liap/versions"))), false); + } + } + + public static void onSkyblockDisconnect(){ + logger.info("Disconnected from Skyblock"); + SkyblockerMod.getInstance().discordRPCManager.stop(); + Utils.isOnSkyblock = false; + Utils.isInDungeons = false; + } +} diff --git a/src/main/java/me/xmrvizzy/skyblocker/utils/Utils.java b/src/main/java/me/xmrvizzy/skyblocker/utils/Utils.java index a4736242..e3623bb4 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/utils/Utils.java +++ b/src/main/java/me/xmrvizzy/skyblocker/utils/Utils.java @@ -1,7 +1,5 @@ package me.xmrvizzy.skyblocker.utils; -import com.google.common.collect.Iterables; -import com.google.common.collect.Lists; import me.xmrvizzy.skyblocker.skyblock.item.PriceInfoTooltip; import net.fabricmc.fabric.api.client.item.v1.ItemTooltipCallback; import net.minecraft.client.MinecraftClient; @@ -12,44 +10,35 @@ import net.minecraft.scoreboard.Team; import net.minecraft.util.Formatting; import java.util.ArrayList; -import java.util.Collection; import java.util.Collections; import java.util.List; -import java.util.stream.Collectors; public class Utils { - public static boolean isSkyblock = false; - public static boolean isDungeons = false; + public static boolean isOnSkyblock = false; + public static boolean isInDungeons = false; public static boolean isInjected = false; public static void sbChecker() { List<String> sidebar = getSidebar(); if (sidebar == null) { - isSkyblock = false; - isDungeons = false; + isOnSkyblock = false; + isInDungeons = false; return; } String string = sidebar.toString(); if (sidebar.isEmpty()) return; - if (sidebar.get(sidebar.size() - 1).equals("www.hypixel.net")) { - if (sidebar.get(0).contains("SKYBLOCK")){ + if (sidebar.get(0).contains("SKYBLOCK") && !isOnSkyblock){ if(!isInjected){ isInjected = true; ItemTooltipCallback.EVENT.register(PriceInfoTooltip::onInjectTooltip); } - isSkyblock = true; + Events.onSkyblockJoin(); } - else isSkyblock = false; - - isDungeons = isSkyblock && string.contains("The Catacombs"); - - } else { - isSkyblock = false; - isDungeons = false; + if (!sidebar.get(0).contains("SKYBLOCK") && isOnSkyblock) Events.onSkyblockDisconnect(); + isInDungeons = isOnSkyblock && string.contains("The Catacombs"); } - } public static String getLocation() { String location = null; |