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 ++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 src/main/java/me/xmrvizzy/skyblocker/utils/Events.java (limited to 'src/main/java/me/xmrvizzy/skyblocker/utils/Events.java') 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; + } +} -- 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/config/SkyblockerConfig.java | 2 ++ src/main/java/me/xmrvizzy/skyblocker/utils/Events.java | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) (limited to 'src/main/java/me/xmrvizzy/skyblocker/utils/Events.java') diff --git a/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java b/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java index 9471620b..ad511ff2 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java +++ b/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java @@ -42,6 +42,8 @@ public class SkyblockerConfig implements ConfigData { @ConfigEntry.Gui.CollapsibleObject(startExpanded = true) public Quicknav quicknav = new Quicknav(); + public boolean enableUpdateNotification = true; + @ConfigEntry.Gui.Excluded public List lockedSlots = new ArrayList<>(); } 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 +++++++--- src/main/resources/assets/skyblocker/lang/en_us.json | 7 ++++++- 2 files changed, 13 insertions(+), 4 deletions(-) (limited to 'src/main/java/me/xmrvizzy/skyblocker/utils/Events.java') 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); } } diff --git a/src/main/resources/assets/skyblocker/lang/en_us.json b/src/main/resources/assets/skyblocker/lang/en_us.json index 4e7d88bb..d3e7db26 100644 --- a/src/main/resources/assets/skyblocker/lang/en_us.json +++ b/src/main/resources/assets/skyblocker/lang/en_us.json @@ -43,5 +43,10 @@ "text.autoconfig.skyblocker.option.messages.hideAOTE": "Hide AOTE Messages", "text.autoconfig.skyblocker.option.messages.hideImplosion": "Hide Implosion Message", "text.autoconfig.skyblocker.option.messages.hideMoltenWave": "Hide Molten Wave Message", - "text.autoconfig.skyblocker.option.messages.hideAds": "Hide Ads From Public Chat" + "text.autoconfig.skyblocker.option.messages.hideAds": "Hide Ads From Public Chat", + + "skyblocker.update.update_message": "§b[§6Skyblocker§b] §2There is a new version available!", + "skyblocker.update.update_link": " §2§nClick here§r", + "skyblocker.update.update_message_end" : " §ato find out about latest features.", + "skyblocker.update.hover_text": "Open Modrinth" } \ No newline at end of file -- 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/Events.java') 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