diff options
Diffstat (limited to 'src/main/java')
70 files changed, 1783 insertions, 613 deletions
diff --git a/src/main/java/de/hysky/skyblocker/SkyblockerMod.java b/src/main/java/de/hysky/skyblocker/SkyblockerMod.java index b1d25a01..4e110e15 100644 --- a/src/main/java/de/hysky/skyblocker/SkyblockerMod.java +++ b/src/main/java/de/hysky/skyblocker/SkyblockerMod.java @@ -10,6 +10,7 @@ import de.hysky.skyblocker.skyblock.bazaar.BazaarHelper; import de.hysky.skyblocker.skyblock.calculators.CalculatorCommand; import de.hysky.skyblocker.skyblock.chat.ChatRuleAnnouncementScreen; import de.hysky.skyblocker.skyblock.chat.ChatRulesHandler; +import de.hysky.skyblocker.skyblock.chat.SkyblockXpMessages; import de.hysky.skyblocker.skyblock.chocolatefactory.EggFinder; import de.hysky.skyblocker.skyblock.chocolatefactory.TimeTowerReminder; import de.hysky.skyblocker.skyblock.crimson.dojo.DojoManager; @@ -59,6 +60,8 @@ import de.hysky.skyblocker.utils.container.ContainerSolverManager; import de.hysky.skyblocker.utils.render.title.TitleContainer; import de.hysky.skyblocker.utils.scheduler.MessageScheduler; import de.hysky.skyblocker.utils.scheduler.Scheduler; +import de.hysky.skyblocker.utils.ws.SkyblockerWebSocket; +import de.hysky.skyblocker.utils.ws.WsStateManager; import net.fabricmc.api.ClientModInitializer; import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents; import net.fabricmc.loader.api.FabricLoader; @@ -134,11 +137,13 @@ public class SkyblockerMod implements ClientModInitializer { LowerSensitivity.init(); CrystalsLocationsManager.init(); WishingCompassSolver.init(); + CrystalsChestHighlighter.init(); MetalDetector.init(); ChatMessageListener.init(); Shortcuts.init(); ChatRulesHandler.init(); ChatRuleAnnouncementScreen.init(); + SkyblockXpMessages.init(); CalculatorCommand.init(); DiscordRPCManager.init(); LividColor.init(); @@ -183,6 +188,8 @@ public class SkyblockerMod implements ClientModInitializer { SecretsTracker.init(); ApiAuthentication.init(); ApiUtils.init(); + SkyblockerWebSocket.init(); + WsStateManager.init(); Debug.init(); Kuudra.init(); DojoManager.init(); diff --git a/src/main/java/de/hysky/skyblocker/config/categories/ChatCategory.java b/src/main/java/de/hysky/skyblocker/config/categories/ChatCategory.java index 993b07e4..60c88f0e 100644 --- a/src/main/java/de/hysky/skyblocker/config/categories/ChatCategory.java +++ b/src/main/java/de/hysky/skyblocker/config/categories/ChatCategory.java @@ -14,6 +14,14 @@ public class ChatCategory { public static ConfigCategory create(SkyblockerConfig defaults, SkyblockerConfig config) { return ConfigCategory.createBuilder() .name(Text.translatable("skyblocker.config.chat")) + .option(Option.<Boolean>createBuilder() + .name(Text.translatable("skyblocker.config.chat.skyblockXpMessages")) + .description(OptionDescription.of(Text.translatable("skyblocker.config.chat.skyblockXpMessages.@Tooltip"))) + .binding(defaults.chat.skyblockXpMessages, + () -> config.chat.skyblockXpMessages, + newValue -> config.chat.skyblockXpMessages = newValue) + .controller(ConfigUtils::createBooleanController) + .build()) //Uncategorized Options .group(OptionGroup.createBuilder() diff --git a/src/main/java/de/hysky/skyblocker/config/categories/CrimsonIsleCategory.java b/src/main/java/de/hysky/skyblocker/config/categories/CrimsonIsleCategory.java index 1e35db1e..242bfd24 100644 --- a/src/main/java/de/hysky/skyblocker/config/categories/CrimsonIsleCategory.java +++ b/src/main/java/de/hysky/skyblocker/config/categories/CrimsonIsleCategory.java @@ -80,6 +80,22 @@ public class CrimsonIsleCategory { newValue -> config.crimsonIsle.kuudra.arrowPoisonThreshold = newValue) .controller(IntegerFieldControllerBuilder::create) .build()) + .option(Option.<Boolean>createBuilder() + .name(Text.translatable("skyblocker.config.crimsonIsle.kuudra.kuudraGlow")) + .description(OptionDescription.of(Text.translatable("skyblocker.config.crimsonIsle.kuudra.kuudraGlow.@Tooltip"))) + .binding(defaults.crimsonIsle.kuudra.kuudraGlow, + () -> config.crimsonIsle.kuudra.kuudraGlow, + newValue -> config.crimsonIsle.kuudra.kuudraGlow = newValue) + .controller(ConfigUtils::createBooleanController) + .build()) + .option(Option.<Boolean>createBuilder() + .name(Text.translatable("skyblocker.config.crimsonIsle.kuudra.dangerWarning")) + .description(OptionDescription.of(Text.translatable("skyblocker.config.crimsonIsle.kuudra.dangerWarning.@Tooltip"))) + .binding(defaults.crimsonIsle.kuudra.dangerWarning, + () -> config.crimsonIsle.kuudra.dangerWarning, + newValue -> config.crimsonIsle.kuudra.dangerWarning = newValue) + .controller(ConfigUtils::createBooleanController) + .build()) .build()) //dojo .group(OptionGroup.createBuilder() diff --git a/src/main/java/de/hysky/skyblocker/config/categories/MiningCategory.java b/src/main/java/de/hysky/skyblocker/config/categories/MiningCategory.java index 796a6105..74be78cb 100644 --- a/src/main/java/de/hysky/skyblocker/config/categories/MiningCategory.java +++ b/src/main/java/de/hysky/skyblocker/config/categories/MiningCategory.java @@ -4,17 +4,16 @@ import de.hysky.skyblocker.config.ConfigUtils; import de.hysky.skyblocker.config.SkyblockerConfig; import de.hysky.skyblocker.config.configs.MiningConfig; import de.hysky.skyblocker.skyblock.dwarven.CrystalsHudConfigScreen; -import dev.isxander.yacl3.api.ButtonOption; -import dev.isxander.yacl3.api.ConfigCategory; -import dev.isxander.yacl3.api.Option; -import dev.isxander.yacl3.api.OptionDescription; -import dev.isxander.yacl3.api.OptionGroup; import de.hysky.skyblocker.skyblock.dwarven.DwarvenHudConfigScreen; +import dev.isxander.yacl3.api.*; +import dev.isxander.yacl3.api.controller.ColorControllerBuilder; import dev.isxander.yacl3.api.controller.FloatFieldControllerBuilder; import dev.isxander.yacl3.api.controller.IntegerSliderControllerBuilder; import net.minecraft.client.MinecraftClient; import net.minecraft.text.Text; +import java.awt.*; + public class MiningCategory { public static ConfigCategory create(SkyblockerConfig defaults, SkyblockerConfig config) { @@ -111,7 +110,23 @@ public class MiningCategory { newValue -> config.mining.crystalHollows.nucleusWaypoints = newValue) .controller(ConfigUtils::createBooleanController) .build()) - .build()) + .option(Option.<Boolean>createBuilder() + .name(Text.translatable("skyblocker.config.mining.crystalHollows.chestHighlighter")) + .description(OptionDescription.of(Text.translatable("skyblocker.config.mining.crystalHollows.chestHighlighter.@Tooltip"))) + .binding(defaults.mining.crystalHollows.chestHighlighter, + () -> config.mining.crystalHollows.chestHighlighter, + newValue -> config.mining.crystalHollows.chestHighlighter = newValue) + .controller(ConfigUtils::createBooleanController) + .build()) + .option(Option.<Color>createBuilder() + .name(Text.translatable("skyblocker.config.mining.crystalHollows.chestHighlighter.color")) + .description(OptionDescription.of(Text.translatable("skyblocker.config.mining.crystalHollows.chestHighlighter.color.@Tooltip"))) + .binding(defaults.mining.crystalHollows.chestHighlightColor, + () -> config.mining.crystalHollows.chestHighlightColor, + newValue -> config.mining.crystalHollows.chestHighlightColor = newValue) + .controller(v -> ColorControllerBuilder.create(v).allowAlpha(true)) + .build()) + .build()) //Crystal Hollows Map .group(OptionGroup.createBuilder() diff --git a/src/main/java/de/hysky/skyblocker/config/categories/QuickNavigationCategory.java b/src/main/java/de/hysky/skyblocker/config/categories/QuickNavigationCategory.java index 98e5511c..666c9e4f 100644 --- a/src/main/java/de/hysky/skyblocker/config/categories/QuickNavigationCategory.java +++ b/src/main/java/de/hysky/skyblocker/config/categories/QuickNavigationCategory.java @@ -86,6 +86,14 @@ public class QuickNavigationCategory { .controller(StringControllerBuilder::create) .build()) .option(Option.<String>createBuilder() + .name(Text.translatable("skyblocker.config.quickNav.button.tooltip")) + .description(OptionDescription.of(Text.translatable("skyblocker.config.quickNav.button.tooltip.@Tooltip"))) + .binding(defaultButton.tooltip, + () -> button.tooltip, + newValue -> button.tooltip = newValue) + .controller(StringControllerBuilder::create) + .build()) + .option(Option.<String>createBuilder() .name(Text.translatable("skyblocker.config.quickNav.button.clickEvent")) .binding(defaultButton.clickEvent, () -> button.clickEvent, diff --git a/src/main/java/de/hysky/skyblocker/config/categories/UIAndVisualsCategory.java b/src/main/java/de/hysky/skyblocker/config/categories/UIAndVisualsCategory.java index 889b253a..fa9bf376 100644 --- a/src/main/java/de/hysky/skyblocker/config/categories/UIAndVisualsCategory.java +++ b/src/main/java/de/hysky/skyblocker/config/categories/UIAndVisualsCategory.java @@ -49,6 +49,7 @@ public class UIAndVisualsCategory { .build()) .option(Option.<Boolean>createBuilder() .name(Text.translatable("skyblocker.config.uiAndVisuals.hideEmptyTooltips")) + .description(OptionDescription.of(Text.translatable("skyblocker.config.uiAndVisuals.hideEmptyTooltips.@Tooltip"))) .binding(defaults.uiAndVisuals.hideEmptyTooltips, () -> config.uiAndVisuals.hideEmptyTooltips, newValue -> config.uiAndVisuals.hideEmptyTooltips = newValue) diff --git a/src/main/java/de/hysky/skyblocker/config/configs/ChatConfig.java b/src/main/java/de/hysky/skyblocker/config/configs/ChatConfig.java index f857ad61..b0bab6e7 100644 --- a/src/main/java/de/hysky/skyblocker/config/configs/ChatConfig.java +++ b/src/main/java/de/hysky/skyblocker/config/configs/ChatConfig.java @@ -5,6 +5,9 @@ import dev.isxander.yacl3.config.v2.api.SerialEntry; public class ChatConfig { @SerialEntry + public boolean skyblockXpMessages = true; + + @SerialEntry public ChatFilterResult hideAbility = ChatFilterResult.PASS; @SerialEntry diff --git a/src/main/java/de/hysky/skyblocker/config/configs/CrimsonIsleConfig.java b/src/main/java/de/hysky/skyblocker/config/configs/CrimsonIsleConfig.java index 6645b88d..9c087baf 100644 --- a/src/main/java/de/hysky/skyblocker/config/configs/CrimsonIsleConfig.java +++ b/src/main/java/de/hysky/skyblocker/config/configs/CrimsonIsleConfig.java @@ -38,6 +38,12 @@ public class CrimsonIsleConfig { @SerialEntry public int arrowPoisonThreshold = 32; + + @SerialEntry + public boolean kuudraGlow = true; + + @SerialEntry + public boolean dangerWarning = true; } public static class Dojo { diff --git a/src/main/java/de/hysky/skyblocker/config/configs/MiningConfig.java b/src/main/java/de/hysky/skyblocker/config/configs/MiningConfig.java index dcf70f24..5236f1eb 100644 --- a/src/main/java/de/hysky/skyblocker/config/configs/MiningConfig.java +++ b/src/main/java/de/hysky/skyblocker/config/configs/MiningConfig.java @@ -2,6 +2,8 @@ package de.hysky.skyblocker.config.configs; import dev.isxander.yacl3.config.v2.api.SerialEntry; +import java.awt.*; + public class MiningConfig { @SerialEntry public boolean enableDrillFuel = true; @@ -67,6 +69,12 @@ public class MiningConfig { @SerialEntry public boolean nucleusWaypoints = false; + + @SerialEntry + public boolean chestHighlighter = true; + + @SerialEntry + public Color chestHighlightColor = new Color(0, 0, 255, 128); } public static class CrystalsHud { diff --git a/src/main/java/de/hysky/skyblocker/config/configs/QuickNavigationConfig.java b/src/main/java/de/hysky/skyblocker/config/configs/QuickNavigationConfig.java index 051d09d9..fd7c30f3 100644 --- a/src/main/java/de/hysky/skyblocker/config/configs/QuickNavigationConfig.java +++ b/src/main/java/de/hysky/skyblocker/config/configs/QuickNavigationConfig.java @@ -10,30 +10,30 @@ public class QuickNavigationConfig { public boolean enableQuickNav = true; @SerialEntry - public QuickNavItem button1 = new QuickNavItem(new ItemData(Items.DIAMOND_SWORD), "Your Skills", "/skills"); + public QuickNavItem button1 = new QuickNavItem(new ItemData(Items.DIAMOND_SWORD), "Your Skills", "/s |
