From 935e806e526b3be24d3ba4455495c11297a8dd70 Mon Sep 17 00:00:00 2001 From: TacoMonkey <75862693+TacoMonkey11@users.noreply.github.com> Date: Mon, 31 Jan 2022 17:47:21 -0500 Subject: Added Skyblock join/disconnect "events" I renamed two variables, deal with it --- .../java/me/xmrvizzy/skyblocker/utils/Events.java | 29 ++++++++++++++++++++++ .../java/me/xmrvizzy/skyblocker/utils/Utils.java | 27 ++++++-------------- 2 files changed, 37 insertions(+), 19 deletions(-) create mode 100644 src/main/java/me/xmrvizzy/skyblocker/utils/Events.java (limited to 'src/main/java/me/xmrvizzy/skyblocker/utils') 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 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; -- cgit From 00730e46f8abbf5328fbe31a626e9b1e81e81e40 Mon Sep 17 00:00:00 2001 From: TacoMonkey <75862693+TacoMonkey11@users.noreply.github.com> Date: Mon, 31 Jan 2022 17:47:37 -0500 Subject: Added simple update checker --- .../xmrvizzy/skyblocker/utils/UpdateChecker.java | 53 ++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 src/main/java/me/xmrvizzy/skyblocker/utils/UpdateChecker.java (limited to 'src/main/java/me/xmrvizzy/skyblocker/utils') diff --git a/src/main/java/me/xmrvizzy/skyblocker/utils/UpdateChecker.java b/src/main/java/me/xmrvizzy/skyblocker/utils/UpdateChecker.java new file mode 100644 index 00000000..2fb80fd6 --- /dev/null +++ b/src/main/java/me/xmrvizzy/skyblocker/utils/UpdateChecker.java @@ -0,0 +1,53 @@ +package me.xmrvizzy.skyblocker.utils; + +import com.google.gson.JsonArray; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParser; +import me.xmrvizzy.skyblocker.SkyblockerMod; +import net.fabricmc.loader.api.FabricLoader; +import org.spongepowered.asm.util.VersionNumber; + +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.net.URL; +import java.net.URLConnection; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +public class UpdateChecker { + public static boolean shouldUpdate(){ + Pattern pattern = Pattern.compile("v(\\d+)\\.(\\d+)\\.(\\d+)"); + Pattern localPattern = Pattern.compile("(\\d+)\\.(\\d+)\\.(\\d+)"); + Matcher matcher; + VersionNumber localVersion = null; + VersionNumber latestVersion = null; + Boolean shouldUpdate = false; + + try{ + URL url = new URL("https://api.modrinth.com/v2/project/skyblocker-liap/version"); + URLConnection request = url.openConnection(); + request.connect(); + + JsonElement json = JsonParser.parseReader(new InputStreamReader((InputStream) request.getContent())); + JsonArray jsonArray = json.getAsJsonArray(); + JsonObject versionJson = jsonArray.get(0).getAsJsonObject(); + matcher = pattern.matcher(versionJson.get("version_number").getAsString()); + if (matcher.find()){ + latestVersion = VersionNumber.parse(matcher.group(1) + "." + matcher.group(2) + "." + matcher.group(3)); + } + matcher = localPattern.matcher(FabricLoader.getInstance().getModContainer(SkyblockerMod.NAMESPACE).get().getMetadata().getVersion().getFriendlyString()); + if (matcher.find()){ + localVersion = VersionNumber.parse(matcher.group(1) + "." + matcher.group(2) + "." + matcher.group(3)); + } + if (localVersion != null && latestVersion != null) + if (localVersion.compareTo(latestVersion) < 0) shouldUpdate = true; + + } catch (IOException e) { + e.printStackTrace(); + shouldUpdate = false; + } + return shouldUpdate; + } +} -- cgit From 1c839abd92d8de521dd5ed254b4da08ff0bb3d83 Mon Sep 17 00:00:00 2001 From: TacoMonkey <75862693+TacoMonkey11@users.noreply.github.com> Date: Mon, 31 Jan 2022 17:49:31 -0500 Subject: Added config for the Update Notification --- src/main/java/me/xmrvizzy/skyblocker/utils/Events.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/main/java/me/xmrvizzy/skyblocker/utils') diff --git a/src/main/java/me/xmrvizzy/skyblocker/utils/Events.java b/src/main/java/me/xmrvizzy/skyblocker/utils/Events.java index 8488d6ab..615e5971 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/utils/Events.java +++ b/src/main/java/me/xmrvizzy/skyblocker/utils/Events.java @@ -1,6 +1,7 @@ package me.xmrvizzy.skyblocker.utils; import me.xmrvizzy.skyblocker.SkyblockerMod; +import me.xmrvizzy.skyblocker.config.SkyblockerConfig; import net.minecraft.client.MinecraftClient; import net.minecraft.text.*; import org.slf4j.Logger; @@ -13,7 +14,7 @@ public class Events { public static void onSkyblockJoin(){ Utils.isOnSkyblock = true; logger.info("Joined Skyblock"); - if (UpdateChecker.shouldUpdate()){ + if (UpdateChecker.shouldUpdate() && SkyblockerConfig.get().general.enableUpdateNotification){ 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); -- cgit From 36654a68e3d4151b290d513c1a2035838ad68376 Mon Sep 17 00:00:00 2001 From: TacoMonkey <75862693+TacoMonkey11@users.noreply.github.com> Date: Tue, 1 Feb 2022 11:01:36 -0500 Subject: refined update message --- src/main/java/me/xmrvizzy/skyblocker/utils/Events.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'src/main/java/me/xmrvizzy/skyblocker/utils') diff --git a/src/main/java/me/xmrvizzy/skyblocker/utils/Events.java b/src/main/java/me/xmrvizzy/skyblocker/utils/Events.java index 615e5971..f1f0c464 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/utils/Events.java +++ b/src/main/java/me/xmrvizzy/skyblocker/utils/Events.java @@ -15,9 +15,13 @@ public class Events { Utils.isOnSkyblock = true; logger.info("Joined Skyblock"); if (UpdateChecker.shouldUpdate() && SkyblockerConfig.get().general.enableUpdateNotification){ - 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); + TranslatableText linkMessage = new TranslatableText("skyblocker.update.update_message"); + TranslatableText linkMessageEnding = new TranslatableText("skyblocker.update.update_message_end"); + TranslatableText link = new TranslatableText("skyblocker.update.update_link"); + TranslatableText hoverText = new TranslatableText("skyblocker.update.hover_text"); + linkMessage.append(link.styled(style -> style.withClickEvent(new ClickEvent(ClickEvent.Action.OPEN_URL, "https://modrinth.com/mod/skyblocker-liap/versions")).withHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, hoverText)))).append(linkMessageEnding); + + client.player.sendMessage(linkMessage, false); } } -- cgit From b02cd6b85808e45f48b16403655f03c9d4b4b075 Mon Sep 17 00:00:00 2001 From: TacoMonkey <75862693+TacoMonkey11@users.noreply.github.com> Date: Tue, 1 Feb 2022 11:01:48 -0500 Subject: Added a toast builder for the future --- .../me/xmrvizzy/skyblocker/utils/ToastBuilder.java | 34 ++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 src/main/java/me/xmrvizzy/skyblocker/utils/ToastBuilder.java (limited to 'src/main/java/me/xmrvizzy/skyblocker/utils') diff --git a/src/main/java/me/xmrvizzy/skyblocker/utils/ToastBuilder.java b/src/main/java/me/xmrvizzy/skyblocker/utils/ToastBuilder.java new file mode 100644 index 00000000..910c8a6c --- /dev/null +++ b/src/main/java/me/xmrvizzy/skyblocker/utils/ToastBuilder.java @@ -0,0 +1,34 @@ +package me.xmrvizzy.skyblocker.utils; + +import com.mojang.blaze3d.systems.RenderSystem; +import net.fabricmc.api.EnvType; +import net.fabricmc.api.Environment; +import net.minecraft.client.MinecraftClient; +import net.minecraft.client.render.GameRenderer; +import net.minecraft.client.toast.Toast; +import net.minecraft.client.toast.ToastManager; +import net.minecraft.client.util.math.MatrixStack; +import net.minecraft.text.Text; + +@Environment(value= EnvType.CLIENT) +public class ToastBuilder implements Toast { + private final Text title; + private final Text description; + + public ToastBuilder(Text title, Text description) { + this.title = title; + this.description = description; + } + + @Override + public Toast.Visibility draw(MatrixStack matrices, ToastManager manager, long startTime) { + RenderSystem.setShader(GameRenderer::getPositionTexShader); + RenderSystem.setShaderTexture(0, TEXTURE); + RenderSystem.setShaderColor(1.0F, 1.0F, 1.0F, 1.0F); + + manager.drawTexture(matrices, 0, 0, 0, 0, this.getWidth(), this.getHeight()); + manager.getClient().textRenderer.draw(matrices, title, 7.0f, 7.0f, -11534256); + manager.getClient().textRenderer.draw(matrices, description, 7.0f, 18.0f, -16777216); + return startTime >= 3000L ? Toast.Visibility.HIDE : Toast.Visibility.SHOW; + } +} -- cgit From 3e7f0d4c2ab64d7483788a9afc9614e3516bf813 Mon Sep 17 00:00:00 2001 From: TacoMonkey <75862693+TacoMonkey11@users.noreply.github.com> Date: Tue, 1 Feb 2022 20:05:47 -0500 Subject: Added auction bought notification --- src/main/java/me/xmrvizzy/skyblocker/utils/ToastBuilder.java | 1 - 1 file changed, 1 deletion(-) (limited to 'src/main/java/me/xmrvizzy/skyblocker/utils') diff --git a/src/main/java/me/xmrvizzy/skyblocker/utils/ToastBuilder.java b/src/main/java/me/xmrvizzy/skyblocker/utils/ToastBuilder.java index 910c8a6c..fd3122f7 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/utils/ToastBuilder.java +++ b/src/main/java/me/xmrvizzy/skyblocker/utils/ToastBuilder.java @@ -3,7 +3,6 @@ package me.xmrvizzy.skyblocker.utils; import com.mojang.blaze3d.systems.RenderSystem; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; -import net.minecraft.client.MinecraftClient; import net.minecraft.client.render.GameRenderer; import net.minecraft.client.toast.Toast; import net.minecraft.client.toast.ToastManager; -- cgit From e398b26148195c928b6fa28dc72987b9ed0c5da7 Mon Sep 17 00:00:00 2001 From: TacoMonkey <75862693+TacoMonkey11@users.noreply.github.com> Date: Tue, 1 Feb 2022 20:09:52 -0500 Subject: Revert "Added auction bought notification" This reverts commit 3e7f0d4c2ab64d7483788a9afc9614e3516bf813. --- src/main/java/me/xmrvizzy/skyblocker/utils/ToastBuilder.java | 1 + 1 file changed, 1 insertion(+) (limited to 'src/main/java/me/xmrvizzy/skyblocker/utils') diff --git a/src/main/java/me/xmrvizzy/skyblocker/utils/ToastBuilder.java b/src/main/java/me/xmrvizzy/skyblocker/utils/ToastBuilder.java index fd3122f7..910c8a6c 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/utils/ToastBuilder.java +++ b/src/main/java/me/xmrvizzy/skyblocker/utils/ToastBuilder.java @@ -3,6 +3,7 @@ package me.xmrvizzy.skyblocker.utils; import com.mojang.blaze3d.systems.RenderSystem; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; +import net.minecraft.client.MinecraftClient; import net.minecraft.client.render.GameRenderer; import net.minecraft.client.toast.Toast; import net.minecraft.client.toast.ToastManager; -- cgit From cfa71c037f0caaf04ea06ec2dd40ff17d0622fcd Mon Sep 17 00:00:00 2001 From: TacoMonkey <75862693+TacoMonkey11@users.noreply.github.com> Date: Fri, 18 Feb 2022 16:05:24 -0500 Subject: Switch from URLConnection to InputStreamReader --- .../java/me/xmrvizzy/skyblocker/utils/Events.java | 2 +- .../xmrvizzy/skyblocker/utils/UpdateChecker.java | 47 ++++++++++------------ 2 files changed, 23 insertions(+), 26 deletions(-) (limited to 'src/main/java/me/xmrvizzy/skyblocker/utils') diff --git a/src/main/java/me/xmrvizzy/skyblocker/utils/Events.java b/src/main/java/me/xmrvizzy/skyblocker/utils/Events.java index f1f0c464..e3aa4da4 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/utils/Events.java +++ b/src/main/java/me/xmrvizzy/skyblocker/utils/Events.java @@ -14,7 +14,7 @@ public class Events { public static void onSkyblockJoin(){ Utils.isOnSkyblock = true; logger.info("Joined Skyblock"); - if (UpdateChecker.shouldUpdate() && SkyblockerConfig.get().general.enableUpdateNotification){ + if (UpdateChecker.shouldUpdate()){ TranslatableText linkMessage = new TranslatableText("skyblocker.update.update_message"); TranslatableText linkMessageEnding = new TranslatableText("skyblocker.update.update_message_end"); TranslatableText link = new TranslatableText("skyblocker.update.update_link"); diff --git a/src/main/java/me/xmrvizzy/skyblocker/utils/UpdateChecker.java b/src/main/java/me/xmrvizzy/skyblocker/utils/UpdateChecker.java index 2fb80fd6..ffdd59d4 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/utils/UpdateChecker.java +++ b/src/main/java/me/xmrvizzy/skyblocker/utils/UpdateChecker.java @@ -1,16 +1,16 @@ package me.xmrvizzy.skyblocker.utils; -import com.google.gson.JsonArray; -import com.google.gson.JsonElement; -import com.google.gson.JsonObject; -import com.google.gson.JsonParser; +import com.google.gson.*; import me.xmrvizzy.skyblocker.SkyblockerMod; +import me.xmrvizzy.skyblocker.config.SkyblockerConfig; import net.fabricmc.loader.api.FabricLoader; import org.spongepowered.asm.util.VersionNumber; +import javax.net.ssl.HttpsURLConnection; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; +import java.net.HttpURLConnection; import java.net.URL; import java.net.URLConnection; import java.util.regex.Matcher; @@ -23,30 +23,27 @@ public class UpdateChecker { Matcher matcher; VersionNumber localVersion = null; VersionNumber latestVersion = null; - Boolean shouldUpdate = false; + boolean shouldUpdate = false; + if (SkyblockerConfig.get().general.enableUpdateNotification){ + try{ + URL url = new URL("https://api.modrinth.com/v2/project/skyblocker-liap/version"); - try{ - URL url = new URL("https://api.modrinth.com/v2/project/skyblocker-liap/version"); - URLConnection request = url.openConnection(); - request.connect(); + InputStreamReader reader = new InputStreamReader(url.openStream()); + JsonObject versionJson = new Gson().fromJson(reader, JsonElement.class).getAsJsonArray().get(0).getAsJsonObject(); + matcher = pattern.matcher(versionJson.get("version_number").getAsString()); + if (matcher.find()){ + latestVersion = VersionNumber.parse(matcher.group(1) + "." + matcher.group(2) + "." + matcher.group(3)); + } + matcher = localPattern.matcher(FabricLoader.getInstance().getModContainer(SkyblockerMod.NAMESPACE).get().getMetadata().getVersion().getFriendlyString()); + if (matcher.find()){ + localVersion = VersionNumber.parse(matcher.group(1) + "." + matcher.group(2) + "." + matcher.group(3)); + } + if (localVersion != null && latestVersion != null) + if (localVersion.compareTo(latestVersion) < 0) shouldUpdate = true; - JsonElement json = JsonParser.parseReader(new InputStreamReader((InputStream) request.getContent())); - JsonArray jsonArray = json.getAsJsonArray(); - JsonObject versionJson = jsonArray.get(0).getAsJsonObject(); - matcher = pattern.matcher(versionJson.get("version_number").getAsString()); - if (matcher.find()){ - latestVersion = VersionNumber.parse(matcher.group(1) + "." + matcher.group(2) + "." + matcher.group(3)); + } catch (IOException e) { + e.printStackTrace(); } - matcher = localPattern.matcher(FabricLoader.getInstance().getModContainer(SkyblockerMod.NAMESPACE).get().getMetadata().getVersion().getFriendlyString()); - if (matcher.find()){ - localVersion = VersionNumber.parse(matcher.group(1) + "." + matcher.group(2) + "." + matcher.group(3)); - } - if (localVersion != null && latestVersion != null) - if (localVersion.compareTo(latestVersion) < 0) shouldUpdate = true; - - } catch (IOException e) { - e.printStackTrace(); - shouldUpdate = false; } return shouldUpdate; } -- cgit From 7cf1a059304507defd304477790d8f35ee18a393 Mon Sep 17 00:00:00 2001 From: TacoMonkey <75862693+TacoMonkey11@users.noreply.github.com> Date: Fri, 18 Feb 2022 17:07:00 -0500 Subject: chucking it into a thread... --- .../xmrvizzy/skyblocker/utils/UpdateChecker.java | 51 ++++++++++++---------- 1 file changed, 28 insertions(+), 23 deletions(-) (limited to 'src/main/java/me/xmrvizzy/skyblocker/utils') diff --git a/src/main/java/me/xmrvizzy/skyblocker/utils/UpdateChecker.java b/src/main/java/me/xmrvizzy/skyblocker/utils/UpdateChecker.java index ffdd59d4..fd43d8e3 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/utils/UpdateChecker.java +++ b/src/main/java/me/xmrvizzy/skyblocker/utils/UpdateChecker.java @@ -17,33 +17,38 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; public class UpdateChecker { + public static boolean shouldUpdate = false; + public static Pattern pattern = Pattern.compile("v(\\d+)\\.(\\d+)\\.(\\d+)"); + public static Pattern localPattern = Pattern.compile("(\\d+)\\.(\\d+)\\.(\\d+)"); + public static Matcher matcher; + public static VersionNumber localVersion = null; + public static VersionNumber latestVersion = null; public static boolean shouldUpdate(){ - Pattern pattern = Pattern.compile("v(\\d+)\\.(\\d+)\\.(\\d+)"); - Pattern localPattern = Pattern.compile("(\\d+)\\.(\\d+)\\.(\\d+)"); - Matcher matcher; - VersionNumber localVersion = null; - VersionNumber latestVersion = null; - boolean shouldUpdate = false; if (SkyblockerConfig.get().general.enableUpdateNotification){ - try{ - URL url = new URL("https://api.modrinth.com/v2/project/skyblocker-liap/version"); + new Thread(new Runnable() { + @Override + public void run() { + try{ + URL url = new URL("https://api.modrinth.com/v2/project/skyblocker-liap/version"); - InputStreamReader reader = new InputStreamReader(url.openStream()); - JsonObject versionJson = new Gson().fromJson(reader, JsonElement.class).getAsJsonArray().get(0).getAsJsonObject(); - matcher = pattern.matcher(versionJson.get("version_number").getAsString()); - if (matcher.find()){ - latestVersion = VersionNumber.parse(matcher.group(1) + "." + matcher.group(2) + "." + matcher.group(3)); - } - matcher = localPattern.matcher(FabricLoader.getInstance().getModContainer(SkyblockerMod.NAMESPACE).get().getMetadata().getVersion().getFriendlyString()); - if (matcher.find()){ - localVersion = VersionNumber.parse(matcher.group(1) + "." + matcher.group(2) + "." + matcher.group(3)); - } - if (localVersion != null && latestVersion != null) - if (localVersion.compareTo(latestVersion) < 0) shouldUpdate = true; + InputStreamReader reader = new InputStreamReader(url.openStream()); + JsonObject versionJson = new Gson().fromJson(reader, JsonElement.class).getAsJsonArray().get(0).getAsJsonObject(); + matcher = pattern.matcher(versionJson.get("version_number").getAsString()); + if (matcher.find()){ + latestVersion = VersionNumber.parse(matcher.group(1) + "." + matcher.group(2) + "." + matcher.group(3)); + } + matcher = localPattern.matcher(FabricLoader.getInstance().getModContainer(SkyblockerMod.NAMESPACE).get().getMetadata().getVersion().getFriendlyString()); + if (matcher.find()){ + localVersion = VersionNumber.parse(matcher.group(1) + "." + matcher.group(2) + "." + matcher.group(3)); + } + if (localVersion != null && latestVersion != null) + if (localVersion.compareTo(latestVersion) < 0) shouldUpdate = true; - } catch (IOException e) { - e.printStackTrace(); - } + } catch (IOException e) { + e.printStackTrace(); + } + } + }).start(); } return shouldUpdate; } -- cgit