diff options
Diffstat (limited to 'src/main')
5 files changed, 61 insertions, 44 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; } diff --git a/src/main/resources/assets/skyblocker/lang/en_us.json b/src/main/resources/assets/skyblocker/lang/en_us.json index d8b5e17a..4e7d88bb 100644 --- a/src/main/resources/assets/skyblocker/lang/en_us.json +++ b/src/main/resources/assets/skyblocker/lang/en_us.json @@ -6,18 +6,17 @@ "text.autoconfig.skyblocker.title": "Skyblocker Settings", "text.autoconfig.skyblocker.category.general": "General", - "text.autoconfig.skyblocker.option.general.apiKey": "Hypixel API Key (WIP)", "text.autoconfig.skyblocker.option.general.bars": "Health, Mana, Defence & XP Bars", "text.autoconfig.skyblocker.option.general.bars.enableBars": "Enable Bars", "text.autoconfig.skyblocker.option.general.quicknav": "Quicknav", "text.autoconfig.skyblocker.option.general.quicknav.enableQuicknav": "Enable Quicknav", - "text.autoconfig.skyblocker.option.general.richPresence": "Discord Rich Presence", - "text.autoconfig.skyblocker.option.general.richPresence.info": "Skyblock Info", - "text.autoconfig.skyblocker.option.general.richPresence.info.@Tooltip": "This value doesn't matter if you are cycling", - "text.autoconfig.skyblocker.option.general.richPresence.cycleMode": "Cycle Skyblock Info", - "text.autoconfig.skyblocker.option.general.richPresence.enableRichPresence": "Enabled", - "text.autoconfig.skyblocker.option.general.richPresence.customMessage": "Custom Message", + "text.autoconfig.skyblocker.category.richPresence": "Discord Rich Presence", + "text.autoconfig.skyblocker.option.richPresence.info": "Skyblock Info", + "text.autoconfig.skyblocker.option.richPresence.info.@Tooltip": "This value doesn't matter if you are cycling", + "text.autoconfig.skyblocker.option.richPresence.cycleMode": "Cycle Skyblock Info", + "text.autoconfig.skyblocker.option.richPresence.enableRichPresence": "Enabled", + "text.autoconfig.skyblocker.option.richPresence.customMessage": "Custom Message", "text.autoconfig.skyblocker.option.general.itemList": "Item List", "text.autoconfig.skyblocker.option.general.itemList.enableItemList": "Enable Item List", @@ -44,8 +43,5 @@ "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.category.fishing": "Fishing", - "text.autoconfig.skyblocker.option.fishing.enableFishingDing": "Enable Fishing Ding" + "text.autoconfig.skyblocker.option.messages.hideAds": "Hide Ads From Public Chat" }
\ No newline at end of file |