diff options
Diffstat (limited to 'src/main/java')
3 files changed, 20 insertions, 4 deletions
diff --git a/src/main/java/me/xmrvizzy/skyblocker/SkyblockerMod.java b/src/main/java/me/xmrvizzy/skyblocker/SkyblockerMod.java index 29e98038..d7145117 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/SkyblockerMod.java +++ b/src/main/java/me/xmrvizzy/skyblocker/SkyblockerMod.java @@ -6,6 +6,7 @@ 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; @@ -14,7 +15,6 @@ public class SkyblockerMod { private static final SkyblockerMod instance = new SkyblockerMod(); public final ContainerSolverManager containerSolverManager = new ContainerSolverManager(); public DiscordRPCManager discordRPCManager = new DiscordRPCManager(); - public static int rpTimer = 0; private SkyblockerMod() { } @@ -24,6 +24,7 @@ public class SkyblockerMod { } private int ticks = 0; + private int rpTimer = 0; public void onTick() { MinecraftClient client = MinecraftClient.getInstance(); @@ -42,6 +43,8 @@ public class SkyblockerMod { rpTimer++; if (rpTimer == 5){ discordRPCManager.updatePresence(); + discordRPCManager.cycleCount++; + if (discordRPCManager.cycleCount == 3) discordRPCManager.cycleCount = 0; rpTimer = 0; } if (client.world != null && !client.isInSingleplayer()) diff --git a/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java b/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java index 3eca5fd2..091292b3 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java +++ b/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java @@ -53,7 +53,9 @@ public class SkyblockerConfig implements ConfigData { public static class RichPresence { public boolean enableRichPresence = false; @ConfigEntry.Gui.EnumHandler(option = ConfigEntry.Gui.EnumHandler.EnumDisplayOption.BUTTON) + @ConfigEntry.Gui.Tooltip() public Info info = Info.LOCATION; + public boolean cycleMode = false; public String customMessage; } diff --git a/src/main/java/me/xmrvizzy/skyblocker/discord/DiscordRPCManager.java b/src/main/java/me/xmrvizzy/skyblocker/discord/DiscordRPCManager.java index 36d225b6..84dcc0c5 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/discord/DiscordRPCManager.java +++ b/src/main/java/me/xmrvizzy/skyblocker/discord/DiscordRPCManager.java @@ -18,6 +18,7 @@ public class DiscordRPCManager implements IPCListener{ public boolean isConnected; public static final Logger logger = LoggerFactory.getLogger("Skyblocker DiscordRPC"); public static DecimalFormat dFormat = new DecimalFormat("###,###.##"); + public int cycleCount = 0; public void start(){ try { @@ -48,9 +49,19 @@ public class DiscordRPCManager implements IPCListener{ public String getInfo(){ String info = null; - if (SkyblockerConfig.get().general.richPresence.info == SkyblockerConfig.Info.BITS) info = "Bits: " + dFormat.format(Utils.getBits()); - if (SkyblockerConfig.get().general.richPresence.info == SkyblockerConfig.Info.PURSE) info = "Purse: " + dFormat.format(Utils.getPurse()); - if (SkyblockerConfig.get().general.richPresence.info == SkyblockerConfig.Info.LOCATION) info = "⏣ " + Utils.getLocation(); + if (!SkyblockerConfig.get().general.richPresence.cycleMode){ + switch (SkyblockerConfig.get().general.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){ + switch (cycleCount){ + case 0 -> info = "Bits: " + dFormat.format(Utils.getBits()); + case 1 -> info = "Purse: " + dFormat.format(Utils.getPurse()); + case 2 -> info = "⏣ " + Utils.getLocation(); + } + } return info; } |