From bd3f0329d0e391bd84b5f9e3ff207d9dd9815853 Mon Sep 17 00:00:00 2001 From: Yasin Date: Mon, 9 Oct 2023 12:58:02 +0200 Subject: new pr because fixing merge conflict would take too long --- .../skyblocker/skyblock/dwarven/DwarvenHud.java | 144 +++++++++++++++++++++ .../skyblock/dwarven/DwarvenHudConfigScreen.java | 66 ++++++++++ .../hysky/skyblocker/skyblock/dwarven/Fetchur.java | 53 ++++++++ .../hysky/skyblocker/skyblock/dwarven/Puzzler.java | 39 ++++++ 4 files changed, 302 insertions(+) create mode 100644 src/main/java/de/hysky/skyblocker/skyblock/dwarven/DwarvenHud.java create mode 100644 src/main/java/de/hysky/skyblocker/skyblock/dwarven/DwarvenHudConfigScreen.java create mode 100644 src/main/java/de/hysky/skyblocker/skyblock/dwarven/Fetchur.java create mode 100644 src/main/java/de/hysky/skyblocker/skyblock/dwarven/Puzzler.java (limited to 'src/main/java/de/hysky/skyblocker/skyblock/dwarven') diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dwarven/DwarvenHud.java b/src/main/java/de/hysky/skyblocker/skyblock/dwarven/DwarvenHud.java new file mode 100644 index 00000000..b853d7cc --- /dev/null +++ b/src/main/java/de/hysky/skyblocker/skyblock/dwarven/DwarvenHud.java @@ -0,0 +1,144 @@ +package de.hysky.skyblocker.skyblock.dwarven; + +import de.hysky.skyblocker.config.SkyblockerConfigManager; +import de.hysky.skyblocker.skyblock.tabhud.widget.hud.HudCommsWidget; +import de.hysky.skyblocker.utils.scheduler.Scheduler; +import it.unimi.dsi.fastutil.ints.IntIntPair; +import net.fabricmc.fabric.api.client.command.v2.ClientCommandManager; +import net.fabricmc.fabric.api.client.command.v2.ClientCommandRegistrationCallback; +import net.fabricmc.fabric.api.client.rendering.v1.HudRenderCallback; +import net.minecraft.client.MinecraftClient; +import net.minecraft.client.gui.DrawContext; +import net.minecraft.text.Text; +import net.minecraft.util.Formatting; + +import java.util.ArrayList; +import java.util.List; +import java.util.regex.Matcher; +import java.util.regex.Pattern; +import java.util.stream.Collectors; +import java.util.stream.Stream; + +public class DwarvenHud { + + public static final MinecraftClient client = MinecraftClient.getInstance(); + public static List commissionList = new ArrayList<>(); + + public static final List COMMISSIONS = Stream.of( + "(?:Titanium|Mithril|Hard Stone) Miner", + "(?:Ice Walker|Goblin|Goblin Raid|Automaton|Sludge|Team Treasurite Member|Yog|Boss Corleone|Thyst) Slayer", + "(?:Lava Springs|Cliffside Veins|Rampart's Quarry|Upper Mines|Royal Mines) Mithril", + "(?:Lava Springs|Cliffside Veins|Rampart's Quarry|Upper Mines|Royal Mines) Titanium", + "Goblin Raid", + "(?:Powder Ghast|Star Sentry) Puncher", + "(? Pattern.compile("^.*(" + s + "): (\\d+\\.?\\d*%|DONE)")) + .collect(Collectors.toList()); + + public static void init() { + ClientCommandRegistrationCallback.EVENT.register((dispatcher, registryAccess) -> dispatcher.register(ClientCommandManager.literal("skyblocker") + .then(ClientCommandManager.literal("hud") + .then(ClientCommandManager.literal("dwarven") + .executes(Scheduler.queueOpenScreenCommand(DwarvenHudConfigScreen::new)))))); + + HudRenderCallback.EVENT.register((context, tickDelta) -> { + if (!SkyblockerConfigManager.get().locations.dwarvenMines.dwarvenHud.enabled + || client.options.playerListKey.isPressed() + || client.player == null + || commissionList.isEmpty()) { + return; + } + render(HudCommsWidget.INSTANCE, context, SkyblockerConfigManager.get().locations.dwarvenMines.dwarvenHud.x, + SkyblockerConfigManager.get().locations.dwarvenMines.dwarvenHud.y, commissionList); + }); + } + + public static IntIntPair getDimForConfig(List commissions) { + return switch (SkyblockerConfigManager.get().locations.dwarvenMines.dwarvenHud.style) { + case SIMPLE -> { + HudCommsWidget.INSTANCE_CFG.updateData(commissions, false); + yield IntIntPair.of( + HudCommsWidget.INSTANCE_CFG.getWidth(), + HudCommsWidget.INSTANCE_CFG.getHeight()); + } + case FANCY -> { + HudCommsWidget.INSTANCE_CFG.updateData(commissions, true); + yield IntIntPair.of( + HudCommsWidget.INSTANCE_CFG.getWidth(), + HudCommsWidget.INSTANCE_CFG.getHeight()); + } + default -> IntIntPair.of(200, 20 * commissions.size()); + }; + } + + public static void render(HudCommsWidget hcw, DrawContext context, int hudX, int hudY, List commissions) { + + switch (SkyblockerConfigManager.get().locations.dwarvenMines.dwarvenHud.style) { + case SIMPLE -> renderSimple(hcw, context, hudX, hudY, commissions); + case FANCY -> renderFancy(hcw, context, hudX, hudY, commissions); + case CLASSIC -> renderClassic(context, hudX, hudY, commissions); + } + } + + public static void renderClassic(DrawContext context, int hudX, int hudY, List commissions) { + if (SkyblockerConfigManager.get().locations.dwarvenMines.dwarvenHud.enableBackground) { + context.fill(hudX, hudY, hudX + 200, hudY + (20 * commissions.size()), 0x64000000); + } + + int y = 0; + for (Commission commission : commissions) { + context + .drawTextWithShadow(client.textRenderer, + Text.literal(commission.commission + ": ") + .styled(style -> style.withColor(Formatting.AQUA)) + .append(Text.literal(commission.progression) + .styled(style -> style.withColor(Formatting.GREEN))), + hudX + 5, hudY + y + 5, 0xFFFFFFFF); + y += 20; + } + } + + public static void renderSimple(HudCommsWidget hcw, DrawContext context, int hudX, int hudY, List commissions) { + hcw.updateData(commissions, false); + hcw.update(); + hcw.setX(hudX); + hcw.setY(hudY); + hcw.render(context, + SkyblockerConfigManager.get().locations.dwarvenMines.dwarvenHud.enableBackground); + } + + public static void renderFancy(HudCommsWidget hcw, DrawContext context, int hudX, int hudY, List commissions) { + hcw.updateData(commissions, true); + hcw.update(); + hcw.setX(hudX); + hcw.setY(hudY); + hcw.render(context, + SkyblockerConfigManager.get().locations.dwarvenMines.dwarvenHud.enableBackground); + } + + public static void update() { + commissionList = new ArrayList<>(); + if (client.player == null || client.getNetworkHandler() == null || !SkyblockerConfigManager.get().locations.dwarvenMines.dwarvenHud.enabled) + return; + + client.getNetworkHandler().getPlayerList().forEach(playerListEntry -> { + if (playerListEntry.getDisplayName() != null) { + for (Pattern pattern : COMMISSIONS) { + Matcher matcher = pattern.matcher(playerListEntry.getDisplayName().getString()); + if (matcher.find()) { + commissionList.add(new Commission(matcher.group(1), matcher.group(2))); + } + + } + } + }); + } + + // steamroller tactics to get visibility from outside classes (HudCommsWidget) + public record Commission(String commission, String progression) { + } +} \ No newline at end of file diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dwarven/DwarvenHudConfigScreen.java b/src/main/java/de/hysky/skyblocker/skyblock/dwarven/DwarvenHudConfigScreen.java new file mode 100644 index 00000000..7b62221e --- /dev/null +++ b/src/main/java/de/hysky/skyblocker/skyblock/dwarven/DwarvenHudConfigScreen.java @@ -0,0 +1,66 @@ +package de.hysky.skyblocker.skyblock.dwarven; + +import de.hysky.skyblocker.config.SkyblockerConfigManager; +import de.hysky.skyblocker.skyblock.tabhud.widget.hud.HudCommsWidget; +import de.hysky.skyblocker.utils.render.RenderHelper; +import it.unimi.dsi.fastutil.ints.IntIntPair; +import net.minecraft.client.gui.DrawContext; +import net.minecraft.client.gui.screen.Screen; +import net.minecraft.text.Text; + +import java.awt.*; +import java.util.List; + +public class DwarvenHudConfigScreen extends Screen { + + private static final List CFG_COMMS = List.of(new DwarvenHud.Commission("Test Commission 1", "1%"), new DwarvenHud.Commission("Test Commission 2", "2%")); + + private int hudX = SkyblockerConfigManager.get().locations.dwarvenMines.dwarvenHud.x; + private int hudY = SkyblockerConfigManager.get().locations.dwarvenMines.dwarvenHud.y; + private final Screen parent; + + protected DwarvenHudConfigScreen() { + this(null); + } + + public DwarvenHudConfigScreen(Screen parent) { + super(Text.of("Dwarven HUD Config")); + this.parent = parent; + } + + @Override + public void render(DrawContext context, int mouseX, int mouseY, float delta) { + super.render(context, mouseX, mouseY, delta); + renderBackground(context, mouseX, mouseY, delta); + DwarvenHud.render(HudCommsWidget.INSTANCE_CFG, context, hudX, hudY, List.of(new DwarvenHud.Commission("Test Commission 1", "1%"), new DwarvenHud.Commission("Test Commission 2", "2%"))); + context.drawCenteredTextWithShadow(textRenderer, "Right Click To Reset Position", width / 2, height / 2, Color.GRAY.getRGB()); + } + + @Override + public boolean mouseDragged(double mouseX, double mouseY, int button, double deltaX, double deltaY) { + IntIntPair dims = DwarvenHud.getDimForConfig(CFG_COMMS); + if (RenderHelper.pointIsInArea(mouseX, mouseY, hudX, hudY, hudX + 200, hudY + 40) && button == 0) { + hudX = (int) Math.max(Math.min(mouseX - (double) dims.leftInt() / 2, this.width - dims.leftInt()), 0); + hudY = (int) Math.max(Math.min(mouseY - (double) dims.rightInt() / 2, this.height - dims.rightInt()), 0); + } + return super.mouseDragged(mouseX, mouseY, button, deltaX, deltaY); + } + + @Override + public boolean mouseClicked(double mouseX, double mouseY, int button) { + if (button == 1) { + IntIntPair dims = DwarvenHud.getDimForConfig(CFG_COMMS); + hudX = this.width / 2 - dims.leftInt(); + hudY = this.height / 2 - dims.rightInt(); + } + return super.mouseClicked(mouseX, mouseY, button); + } + + @Override + public void close() { + SkyblockerConfigManager.get().locations.dwarvenMines.dwarvenHud.x = hudX; + SkyblockerConfigManager.get().locations.dwarvenMines.dwarvenHud.y = hudY; + SkyblockerConfigManager.save(); + client.setScreen(parent); + } +} diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dwarven/Fetchur.java b/src/main/java/de/hysky/skyblocker/skyblock/dwarven/Fetchur.java new file mode 100644 index 00000000..9bfb77f7 --- /dev/null +++ b/src/main/java/de/hysky/skyblocker/skyblock/dwarven/Fetchur.java @@ -0,0 +1,53 @@ +package de.hysky.skyblocker.skyblock.dwarven; + +import de.hysky.skyblocker.config.SkyblockerConfigManager; +import de.hysky.skyblocker.utils.chat.ChatFilterResult; +import de.hysky.skyblocker.utils.chat.ChatPatternListener; +import net.minecraft.client.MinecraftClient; +import net.minecraft.text.Text; + +import java.util.HashMap; +import java.util.Map; +import java.util.regex.Matcher; + +public class Fetchur extends ChatPatternListener { + private static final Map answers; + + public Fetchur() { + super("^§e\\[NPC] Fetchur§f: (?:its|theyre) ([a-zA-Z, \\-]*)$"); + } + + @Override + public ChatFilterResult state() { + return SkyblockerConfigManager.get().locations.dwarvenMines.solveFetchur ? ChatFilterResult.FILTER : ChatFilterResult.PASS; + } + + @Override + public boolean onMatch(Text message, Matcher matcher) { + MinecraftClient client = MinecraftClient.getInstance(); + if (client.player == null) return false; + String riddle = matcher.group(1); + String answer = answers.getOrDefault(riddle, riddle); + client.player.sendMessage(Text.of("§e[NPC] Fetchur§f: " + answer), false); + return true; + } + + static { + answers = new HashMap<>(); + answers.put("red and soft", Text.translatable("block.minecraft.red_wool").getString()); + answers.put("yellow and see through", Text.translatable("block.minecraft.yellow_stained_glass").getString()); + answers.put("circular and sometimes moves", Text.translatable("item.minecraft.compass").getString()); + // TODO remove when typo fixed by hypixel + answers.put("circlular and sometimes moves", Text.translatable("item.minecraft.compass").getString()); + answers.put("expensive minerals", "Mithril"); + answers.put("useful during celebrations", Text.translatable("item.minecraft.firework_rocket").getString()); + answers.put("hot and gives energy", "Cheap / Decent Coffee"); + answers.put("tall and can be opened", Text.translatable("block.minecraft.oak_door").getString()); + answers.put("brown and fluffy", Text.translatable("item.minecraft.rabbit_foot").getString()); + answers.put("explosive but more than usual", "Superboom TNT"); + answers.put("wearable and grows", Text.translatable("block.minecraft.pumpkin").getString()); + answers.put("shiny and makes sparks", Text.translatable("item.minecraft.flint_and_steel").getString()); + answers.put("red and white and you can mine it", Text.translatable("block.minecraft.nether_quartz_ore").getString()); + answers.put("round and green, or purple", Text.translatable("item.minecraft.ender_pearl").getString()); + } +} diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dwarven/Puzzler.java b/src/main/java/de/hysky/skyblocker/skyblock/dwarven/Puzzler.java new file mode 100644 index 00000000..fae845b5 --- /dev/null +++ b/src/main/java/de/hysky/skyblocker/skyblock/dwarven/Puzzler.java @@ -0,0 +1,39 @@ +package de.hysky.skyblocker.skyblock.dwarven; + +import de.hysky.skyblocker.config.SkyblockerConfigManager; +import de.hysky.skyblocker.utils.chat.ChatFilterResult; +import de.hysky.skyblocker.utils.chat.ChatPatternListener; +import net.minecraft.block.Blocks; +import net.minecraft.client.MinecraftClient; +import net.minecraft.client.world.ClientWorld; +import net.minecraft.text.Text; +import net.minecraft.util.math.BlockPos; + +import java.util.regex.Matcher; + +public class Puzzler extends ChatPatternListener { + public Puzzler() { + super("^§e\\[NPC] §dPuzzler§f: ((?:§d▲|§5▶|§b◀|§a▼){10})$"); + } + + @Override + public ChatFilterResult state() { + return SkyblockerConfigManager.get().locations.dwarvenMines.solvePuzzler ? null : ChatFilterResult.PASS; + } + + @Override + public boolean onMatch(Text message, Matcher matcher) { + int x = 181; + int z = 135; + for (char c : matcher.group(1).toCharArray()) { + if (c == '▲') z++; + else if (c == '▼') z--; + else if (c == '◀') x++; + else if (c == '▶') x--; + } + ClientWorld world = MinecraftClient.getInstance().world; + if (world != null) + world.setBlockState(new BlockPos(x, 195, z), Blocks.CRIMSON_PLANKS.getDefaultState()); + return false; + } +} \ No newline at end of file -- cgit From ba30ca8fac0c92482875f93718fef253dd5673db Mon Sep 17 00:00:00 2001 From: Yasin Date: Mon, 9 Oct 2023 20:20:09 +0200 Subject: fix stuff intellij introduced --- src/main/java/de/hysky/skyblocker/mixin/ItemStackMixin.java | 10 ++++++---- .../de/hysky/skyblocker/mixin/accessor/FrustumInvoker.java | 3 +-- .../skyblocker/skyblock/dungeon/secrets/DungeonSecrets.java | 2 +- .../skyblocker/skyblock/dwarven/DwarvenHudConfigScreen.java | 3 ++- src/main/java/de/hysky/skyblocker/skyblock/rift/TheRift.java | 3 +-- .../de/hysky/skyblocker/utils/discord/DiscordRPCManager.java | 11 +++++------ 6 files changed, 16 insertions(+), 16 deletions(-) (limited to 'src/main/java/de/hysky/skyblocker/skyblock/dwarven') diff --git a/src/main/java/de/hysky/skyblocker/mixin/ItemStackMixin.java b/src/main/java/de/hysky/skyblocker/mixin/ItemStackMixin.java index c7f5fac9..76073a2c 100644 --- a/src/main/java/de/hysky/skyblocker/mixin/ItemStackMixin.java +++ b/src/main/java/de/hysky/skyblocker/mixin/ItemStackMixin.java @@ -1,6 +1,6 @@ package de.hysky.skyblocker.mixin; -import de.hysky.skyblocker.utils.ItemUtils; + import org.jetbrains.annotations.Nullable; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; @@ -9,6 +9,8 @@ import org.spongepowered.asm.mixin.injection.At; import com.llamalad7.mixinextras.injector.ModifyReturnValue; import de.hysky.skyblocker.config.SkyblockerConfigManager; +import de.hysky.skyblocker.utils.ItemUtils; +import de.hysky.skyblocker.utils.ItemUtils.Durability; import de.hysky.skyblocker.utils.Utils; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NbtCompound; @@ -34,7 +36,7 @@ public abstract class ItemStackMixin { @ModifyReturnValue(method = "getDamage", at = @At("RETURN")) private int skyblocker$handleDamage(int original) { - ItemUtils.Durability dur = ItemUtils.getDurability((ItemStack) (Object) this); + Durability dur = ItemUtils.getDurability((ItemStack) (Object) this); if (dur != null) { return dur.max() - dur.current(); } @@ -43,7 +45,7 @@ public abstract class ItemStackMixin { @ModifyReturnValue(method = "getMaxDamage", at = @At("RETURN")) private int skyblocker$handleMaxDamage(int original) { - ItemUtils.Durability dur = ItemUtils.getDurability((ItemStack) (Object) this); + Durability dur = ItemUtils.getDurability((ItemStack) (Object) this); if (dur != null) { return dur.max(); } @@ -52,7 +54,7 @@ public abstract class ItemStackMixin { @ModifyReturnValue(method = "isDamageable", at = @At("RETURN")) private boolean skyblocker$handleDamageable(boolean original) { - ItemUtils.Durability dur = ItemUtils.getDurability((ItemStack) (Object) this); + Durability dur = ItemUtils.getDurability((ItemStack) (Object) this); if (dur != null) { return true; } diff --git a/src/main/java/de/hysky/skyblocker/mixin/accessor/FrustumInvoker.java b/src/main/java/de/hysky/skyblocker/mixin/accessor/FrustumInvoker.java index 3a9e688b..dd4f5ef1 100644 --- a/src/main/java/de/hysky/skyblocker/mixin/accessor/FrustumInvoker.java +++ b/src/main/java/de/hysky/skyblocker/mixin/accessor/FrustumInvoker.java @@ -1,12 +1,11 @@ package de.hysky.skyblocker.mixin.accessor; -import de.hysky.skyblocker.utils.render.FrustumUtils; import net.minecraft.client.render.Frustum; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.gen.Invoker; /** - * Use {@link FrustumUtils#isVisible(double, double, double, double, double, double) FrustumUtils#isVisible} which is shorter. For the purpose of avoiding object allocations! + * Use {@link de.hysky.skyblocker.utils.render.FrustumUtils#isVisible(double, double, double, double, double, double) FrustumUtils#isVisible} which is shorter. For the purpose of avoiding object allocations! */ @Mixin(Frustum.class) public interface FrustumInvoker { diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/secrets/DungeonSecrets.java b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/secrets/DungeonSecrets.java index 7d20644a..c2358689 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/secrets/DungeonSecrets.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/secrets/DungeonSecrets.java @@ -430,7 +430,7 @@ public class DungeonSecrets { } /** - * Checks if the player is in a dungeon and {@link SkyblockerConfigManager.Dungeons#secretWaypoints Secret Waypoints} is enabled. + * Checks if the player is in a dungeon and {@link de.hysky.skyblocker.config.SkyblockerConfig.Dungeons#secretWaypoints Secret Waypoints} is enabled. * * @return whether dungeon secrets should be processed */ diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dwarven/DwarvenHudConfigScreen.java b/src/main/java/de/hysky/skyblocker/skyblock/dwarven/DwarvenHudConfigScreen.java index 7b62221e..2bb21568 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/dwarven/DwarvenHudConfigScreen.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/dwarven/DwarvenHudConfigScreen.java @@ -1,6 +1,7 @@ package de.hysky.skyblocker.skyblock.dwarven; import de.hysky.skyblocker.config.SkyblockerConfigManager; +import de.hysky.skyblocker.skyblock.dwarven.DwarvenHud.Commission; import de.hysky.skyblocker.skyblock.tabhud.widget.hud.HudCommsWidget; import de.hysky.skyblocker.utils.render.RenderHelper; import it.unimi.dsi.fastutil.ints.IntIntPair; @@ -13,7 +14,7 @@ import java.util.List; public class DwarvenHudConfigScreen extends Screen { - private static final List CFG_COMMS = List.of(new DwarvenHud.Commission("Test Commission 1", "1%"), new DwarvenHud.Commission("Test Commission 2", "2%")); + private static final List CFG_COMMS = List.of(new Commission("Test Commission 1", "1%"), new DwarvenHud.Commission("Test Commission 2", "2%")); private int hudX = SkyblockerConfigManager.get().locations.dwarvenMines.dwarvenHud.x; private int hudY = SkyblockerConfigManager.get().locations.dwarvenMines.dwarvenHud.y; diff --git a/src/main/java/de/hysky/skyblocker/skyblock/rift/TheRift.java b/src/main/java/de/hysky/skyblocker/skyblock/rift/TheRift.java index 10b593bd..b39151d3 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/rift/TheRift.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/rift/TheRift.java @@ -1,13 +1,12 @@ package de.hysky.skyblocker.skyblock.rift; import de.hysky.skyblocker.config.SkyblockerConfigManager; -import de.hysky.skyblocker.utils.Utils; import de.hysky.skyblocker.utils.scheduler.Scheduler; import net.fabricmc.fabric.api.client.rendering.v1.WorldRenderEvents; public class TheRift { /** - * @see Utils#isInTheRift() Utils#isInTheRift(). + * @see de.hysky.skyblocker.utils.Utils#isInTheRift() Utils#isInTheRift(). */ public static final String LOCATION = "rift"; diff --git a/src/main/java/de/hysky/skyblocker/utils/discord/DiscordRPCManager.java b/src/main/java/de/hysky/skyblocker/utils/discord/DiscordRPCManager.java index f0589a0b..4f48a12f 100644 --- a/src/main/java/de/hysky/skyblocker/utils/discord/DiscordRPCManager.java +++ b/src/main/java/de/hysky/skyblocker/utils/discord/DiscordRPCManager.java @@ -1,7 +1,6 @@ package de.hysky.skyblocker.utils.discord; -import de.hysky.skyblocker.config.SkyblockerConfig; import de.hysky.skyblocker.config.SkyblockerConfigManager; import de.hysky.skyblocker.events.SkyblockEvents; import de.hysky.skyblocker.utils.Utils; @@ -35,7 +34,7 @@ public class DiscordRPCManager { } /** - * Checks the {@link SkyblockerConfig.RichPresence#customMessage custom message}, updates {@link #cycleCount} if enabled, and updates rich presence. + * Checks the {@link de.hysky.skyblocker.config.SkyblockerConfig.RichPresence#customMessage custom message}, updates {@link #cycleCount} if enabled, and updates rich presence. */ public static void updateDataAndPresence() { // If the custom message is empty, discord will keep the last message, this is can serve as a default if the user doesn't want a custom message @@ -59,16 +58,16 @@ public class DiscordRPCManager { *

* When the {@link #updateTask previous update} does not exist or {@link CompletableFuture#isDone() has completed}: *

- * Connects to discord if {@link SkyblockerConfig.RichPresence#enableRichPresence rich presence is enabled}, + * Connects to discord if {@link de.hysky.skyblocker.config.SkyblockerConfig.RichPresence#enableRichPresence rich presence is enabled}, * the player {@link Utils#isOnSkyblock() is on Skyblock}, and {@link DiscordIPC#isConnected() discord is not already connected}. - * Updates the presence if {@link SkyblockerConfig.RichPresence#enableRichPresence rich presence is enabled} + * Updates the presence if {@link de.hysky.skyblocker.config.SkyblockerConfig.RichPresence#enableRichPresence rich presence is enabled} * and the player {@link Utils#isOnSkyblock() is on Skyblock}. - * Stops the connection if {@link SkyblockerConfig.RichPresence#enableRichPresence rich presence is disabled} + * Stops the connection if {@link de.hysky.skyblocker.config.SkyblockerConfig.RichPresence#enableRichPresence rich presence is disabled} * or the player {@link Utils#isOnSkyblock() is not on Skyblock} and {@link DiscordIPC#isConnected() discord is connected}. * Saves the update task in {@link #updateTask} * * @param initialization whether this is the first time the presence is being updates. If {@code true}, a message will be logged - * if {@link SkyblockerConfig.RichPresence#enableRichPresence rich presence is disabled}. + * if {@link de.hysky.skyblocker.config.SkyblockerConfig.RichPresence#enableRichPresence rich presence is disabled}. */ private static void initAndUpdatePresence(boolean initialization) { if (updateTask == null || updateTask.isDone()) { -- cgit