diff options
Diffstat (limited to 'src/main/java')
4 files changed, 54 insertions, 33 deletions
diff --git a/src/main/java/me/xmrvizzy/skyblocker/SkyblockerMod.java b/src/main/java/me/xmrvizzy/skyblocker/SkyblockerMod.java index d7145117..ec03439c 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/SkyblockerMod.java +++ b/src/main/java/me/xmrvizzy/skyblocker/SkyblockerMod.java @@ -6,7 +6,6 @@ import me.xmrvizzy.skyblocker.discord.DiscordRPCManager; import me.xmrvizzy.skyblocker.skyblock.dungeon.DungeonBlaze; import me.xmrvizzy.skyblocker.utils.Utils; import net.minecraft.client.MinecraftClient; -import net.minecraft.text.Text; import java.util.Objects; @@ -29,30 +28,45 @@ public class SkyblockerMod { public void onTick() { MinecraftClient client = MinecraftClient.getInstance(); if (client == null) return; - + System.out.println(ticks); ticks++; - if (ticks % 4 == 0) - try { - if (Utils.isDungeons) { - DungeonBlaze.DungeonBlaze(); + if(onHypxiel()) { + if (ticks % 4 == 0) + try { + if (Utils.isDungeons) { + DungeonBlaze.DungeonBlaze(); + } + } catch (Exception e) { + //System.out.println("Blazesolver: " + e); } - } catch (Exception e) { - //System.out.println("Blazesolver: " + e); - } - if (ticks % 20 == 0 ) { - rpTimer++; - if (rpTimer == 5){ - discordRPCManager.updatePresence(); - discordRPCManager.cycleCount++; - if (discordRPCManager.cycleCount == 3) discordRPCManager.cycleCount = 0; - rpTimer = 0; + if (ticks % 20 == 0) { + rpTimer++; + if (rpTimer == 5) { + if (discordRPCManager.isConnected && Utils.isSkyblock && SkyblockerConfig.get().richPresence.enableRichPresence) { + discordRPCManager.updatePresence(); + } + if (discordRPCManager.isConnected && Utils.isSkyblock && SkyblockerConfig.get().richPresence.cycleMode) { + discordRPCManager.cycleCount++; + if (discordRPCManager.cycleCount == 3) discordRPCManager.cycleCount = 0; + } + rpTimer = 0; + } + if (client.world != null && !client.isInSingleplayer()) + Utils.sbChecker(); + if (!discordRPCManager.isConnected && Utils.isSkyblock && SkyblockerConfig.get().richPresence.enableRichPresence) + discordRPCManager.start(); + if (discordRPCManager.isConnected && !SkyblockerConfig.get().richPresence.enableRichPresence) + discordRPCManager.stop(); + ticks = 0; } - if (client.world != null && !client.isInSingleplayer()) + } else { + if (ticks % 20 == 0) { + if (discordRPCManager.isConnected) { + discordRPCManager.stop(); + } Utils.sbChecker(); - if (!discordRPCManager.isConnected && Utils.isSkyblock && SkyblockerConfig.get().general.richPresence.enableRichPresence && onHypxiel()) discordRPCManager.start(); - if (discordRPCManager.isConnected && !SkyblockerConfig.get().general.richPresence.enableRichPresence) discordRPCManager.stop(); - if (client.world == null || client.isInSingleplayer() || !Utils.isSkyblock || !onHypxiel()) if (discordRPCManager.isConnected)discordRPCManager.stop(); - ticks = 0; + ticks = 0; + } } } public static MinecraftClient client() { @@ -65,7 +79,7 @@ public class SkyblockerMod { } public static boolean onHypxiel() { try { - return client() != null && !client().isInSingleplayer() && client().getCurrentServerEntry().address != null && client().getCurrentServerEntry().address.contains("hypixel.net"); + return client() != null && !client().isInSingleplayer() && Objects.requireNonNull(client().getCurrentServerEntry()).address != null && client().getCurrentServerEntry().address.contains("hypixel.net"); } catch (NullPointerException exception) { return false; } diff --git a/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java b/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java index c4251e6c..9471620b 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java +++ b/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java @@ -24,23 +24,22 @@ public class SkyblockerConfig implements ConfigData { @ConfigEntry.Gui.TransitiveObject public Messages messages = new Messages(); + @ConfigEntry.Category("richPresence") + @ConfigEntry.Gui.TransitiveObject + public RichPresence richPresence = new RichPresence(); + public static class General { - public String apiKey; @ConfigEntry.Category("bars") @ConfigEntry.Gui.CollapsibleObject(startExpanded = true) public Bars bars = new Bars(); - - @ConfigEntry.Category("RichPresence") - @ConfigEntry.Gui.CollapsibleObject() - public RichPresence richPresence = new RichPresence(); @ConfigEntry.Category("itemList") - @ConfigEntry.Gui.CollapsibleObject() + @ConfigEntry.Gui.CollapsibleObject(startExpanded = true) public ItemList itemList = new ItemList(); @ConfigEntry.Category("quicknav") - @ConfigEntry.Gui.CollapsibleObject() + @ConfigEntry.Gui.CollapsibleObject(startExpanded = true) public Quicknav quicknav = new Quicknav(); @ConfigEntry.Gui.Excluded diff --git a/src/main/java/me/xmrvizzy/skyblocker/discord/DiscordRPCManager.java b/src/main/java/me/xmrvizzy/skyblocker/discord/DiscordRPCManager.java index 84dcc0c5..96da1198 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/discord/DiscordRPCManager.java +++ b/src/main/java/me/xmrvizzy/skyblocker/discord/DiscordRPCManager.java @@ -39,7 +39,7 @@ public class DiscordRPCManager implements IPCListener{ public void updatePresence(){ RichPresence presence = new RichPresence.Builder() - .setState(SkyblockerConfig.get().general.richPresence.customMessage) + .setState(SkyblockerConfig.get().richPresence.customMessage) .setDetails(getInfo()) .setStartTimestamp(startTimestamp) .setLargeImage("skyblocker-default") @@ -49,13 +49,13 @@ public class DiscordRPCManager implements IPCListener{ public String getInfo(){ String info = null; - if (!SkyblockerConfig.get().general.richPresence.cycleMode){ - switch (SkyblockerConfig.get().general.richPresence.info){ + if (!SkyblockerConfig.get().richPresence.cycleMode){ + switch (SkyblockerConfig.get().richPresence.info){ case BITS -> info = "Bits: " + dFormat.format(Utils.getBits()); case PURSE -> info = "Purse: " + dFormat.format(Utils.getPurse()); case LOCATION -> info = "⏣ " + Utils.getLocation(); } - } else if (SkyblockerConfig.get().general.richPresence.cycleMode){ + } else if (SkyblockerConfig.get().richPresence.cycleMode){ switch (cycleCount){ case 0 -> info = "Bits: " + dFormat.format(Utils.getBits()); case 1 -> info = "Purse: " + dFormat.format(Utils.getPurse()); diff --git a/src/main/java/me/xmrvizzy/skyblocker/utils/Utils.java b/src/main/java/me/xmrvizzy/skyblocker/utils/Utils.java index 71f4954a..c8e787e9 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/utils/Utils.java +++ b/src/main/java/me/xmrvizzy/skyblocker/utils/Utils.java @@ -23,6 +23,11 @@ public class Utils { public static void sbChecker() { List<String> sidebar = getSidebar(); + if (sidebar == null) { + isSkyblock = false; + isDungeons = false; + return; + } String string = sidebar.toString(); if (sidebar.isEmpty()) return; @@ -49,6 +54,7 @@ public class Utils { String location = null; List<String> sidebarLines = getSidebar(); try{ + assert sidebarLines != null; for (String sidebarLine : sidebarLines) { if (sidebarLine.contains("⏣")) location = sidebarLine; } @@ -65,6 +71,7 @@ public class Utils { List<String> sidebarLines = getSidebar(); try{ + assert sidebarLines != null; for (String sidebarLine : sidebarLines) { if (sidebarLine.contains("Piggy:")) purseString = sidebarLine; if (sidebarLine.contains("Purse:")) purseString = sidebarLine; @@ -82,6 +89,7 @@ public class Utils { String bitsString = null; List<String> sidebarLines = getSidebar(); try{ + assert sidebarLines != null; for (String sidebarLine : sidebarLines) { if (sidebarLine.contains("Bits")) bitsString = sidebarLine; } |