aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/xmrvizzy/skyblocker/utils
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/me/xmrvizzy/skyblocker/utils')
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/utils/Events.java29
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/utils/Utils.java27
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;