diff options
| author | olim88 <bobq4582@gmail.com> | 2025-04-26 02:12:57 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-04-25 21:12:57 -0400 |
| commit | 6ebe9fffba90f6adba1ee77097376e78bdd57ada (patch) | |
| tree | 81ab00735e9560e304c40fac03511b95dc96d4e1 /src/main/java | |
| parent | bf18fb9b0054177b3dee145d681c8ff1dd60418e (diff) | |
| download | Skyblocker-6ebe9fffba90f6adba1ee77097376e78bdd57ada.tar.gz Skyblocker-6ebe9fffba90f6adba1ee77097376e78bdd57ada.tar.bz2 Skyblocker-6ebe9fffba90f6adba1ee77097376e78bdd57ada.zip | |
Fishing HUD and Notifications (#1183)
* basic working widget
* add config and clean up
* support for double hook
* add notifications and more settings
* Add timer end notification
* clean up
* small tweak
* enable in all locations
seems that most places can be fished in so just enable it for all as it only show when you are fishing anyway
* update new sea creatures
* Clean up config and lang
* Clean up fishing hud
* Fix percentage
---------
Co-authored-by: Kevinthegreat <92656833+kevinthegreat1@users.noreply.github.com>
Diffstat (limited to 'src/main/java')
| -rw-r--r-- | src/main/java/de/hysky/skyblocker/config/categories/HelperCategory.java | 552 | ||||
| -rw-r--r-- | src/main/java/de/hysky/skyblocker/config/configs/HelperConfig.java | 25 | ||||
| -rw-r--r-- | src/main/java/de/hysky/skyblocker/mixins/ClientPlayNetworkHandlerMixin.java | 4 | ||||
| -rw-r--r-- | src/main/java/de/hysky/skyblocker/skyblock/fishing/FishingHelper.java (renamed from src/main/java/de/hysky/skyblocker/skyblock/FishingHelper.java) | 2 | ||||
| -rw-r--r-- | src/main/java/de/hysky/skyblocker/skyblock/fishing/FishingHudWidget.java | 89 | ||||
| -rw-r--r-- | src/main/java/de/hysky/skyblocker/skyblock/fishing/SeaCreature.java | 84 | ||||
| -rw-r--r-- | src/main/java/de/hysky/skyblocker/skyblock/fishing/SeaCreatureCategory.java | 22 | ||||
| -rw-r--r-- | src/main/java/de/hysky/skyblocker/skyblock/fishing/SeaCreatureTracker.java | 173 | ||||
| -rw-r--r-- | src/main/java/de/hysky/skyblocker/skyblock/tabhud/util/Ico.java | 2 | ||||
| -rw-r--r-- | src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/component/Components.java | 29 |
10 files changed, 728 insertions, 254 deletions
diff --git a/src/main/java/de/hysky/skyblocker/config/categories/HelperCategory.java b/src/main/java/de/hysky/skyblocker/config/categories/HelperCategory.java index c0a643e1..6bc43655 100644 --- a/src/main/java/de/hysky/skyblocker/config/categories/HelperCategory.java +++ b/src/main/java/de/hysky/skyblocker/config/categories/HelperCategory.java @@ -3,48 +3,51 @@ package de.hysky.skyblocker.config.categories; import de.hysky.skyblocker.config.ConfigUtils; import de.hysky.skyblocker.config.SkyblockerConfig; import de.hysky.skyblocker.skyblock.bazaar.BazaarHelper; +import de.hysky.skyblocker.skyblock.fishing.FishingHudWidget; +import de.hysky.skyblocker.skyblock.item.SkyblockItemRarity; +import de.hysky.skyblocker.skyblock.tabhud.config.WidgetsConfigurationScreen; +import de.hysky.skyblocker.utils.Location; import de.hysky.skyblocker.utils.waypoint.Waypoint; -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 dev.isxander.yacl3.api.*; import dev.isxander.yacl3.api.controller.FloatFieldControllerBuilder; +import dev.isxander.yacl3.api.controller.IntegerSliderControllerBuilder; +import net.minecraft.client.MinecraftClient; import net.minecraft.text.Text; public class HelperCategory { - public static ConfigCategory create(SkyblockerConfig defaults, SkyblockerConfig config) { - return ConfigCategory.createBuilder() - .name(Text.translatable("skyblocker.config.helpers")) + public static ConfigCategory create(SkyblockerConfig defaults, SkyblockerConfig config) { + return ConfigCategory.createBuilder() + .name(Text.translatable("skyblocker.config.helpers")) - //Ungrouped Options - .option(Option.<Boolean>createBuilder() - .name(Text.translatable("skyblocker.config.helpers.enableNewYearCakesHelper")) - .description(OptionDescription.of(Text.translatable("skyblocker.config.helpers.enableNewYearCakesHelper.@Tooltip"))) - .binding(defaults.helpers.enableNewYearCakesHelper, - () -> config.helpers.enableNewYearCakesHelper, - newValue -> config.helpers.enableNewYearCakesHelper = newValue) - .controller(ConfigUtils::createBooleanController) - .build()) + //Ungrouped Options + .option(Option.<Boolean>createBuilder() + .name(Text.translatable("skyblocker.config.helpers.enableNewYearCakesHelper")) + .description(OptionDescription.of(Text.translatable("skyblocker.config.helpers.enableNewYearCakesHelper.@Tooltip"))) + .binding(defaults.helpers.enableNewYearCakesHelper, + () -> config.helpers.enableNewYearCakesHelper, + newValue -> config.helpers.enableNewYearCakesHelper = newValue) + .controller(ConfigUtils::createBooleanController) + .build()) - // Bits Helper - .option(Option.<Boolean>createBuilder() - .name(Text.translatable("skyblocker.config.helpers.enableBitsHelper")) - .description(OptionDescription.of(Text.translatable("skyblocker.config.helpers.enableBitsHelper.@Tooltip"))) - .binding(defaults.helpers.enableBitsTooltip, - () -> config.helpers.enableBitsTooltip, - newValue -> config.helpers.enableBitsTooltip = newValue) - .controller(ConfigUtils::createBooleanController) - .build()) + // Bits Helper + .option(Option.<Boolean>createBuilder() + .name(Text.translatable("skyblocker.config.helpers.enableBitsHelper")) + .description(OptionDescription.of(Text.translatable("skyblocker.config.helpers.enableBitsHelper.@Tooltip"))) + .binding(defaults.helpers.enableBitsTooltip, + () -> config.helpers.enableBitsTooltip, + newValue -> config.helpers.enableBitsTooltip = newValue) + .controller(ConfigUtils::createBooleanController) + .build()) // Wardrobe Helper - .option(Option.<Boolean>createBuilder() - .name(Text.translatable("skyblocker.config.helpers.enableWardrobeHelper")) - .description(OptionDescription.of(Text.translatable("skyblocker.config.helpers.enableWardrobeHelper.@Tooltip"))) - .binding(defaults.helpers.enableWardrobeHelper, - () -> config.helpers.enableWardrobeHelper, - newValue -> config.helpers.enableWardrobeHelper = newValue) - .controller(ConfigUtils::createBooleanController) - .build()) + .option(Option.<Boolean>createBuilder() + .name(Text.translatable("skyblocker.config.helpers.enableWardrobeHelper")) + .description(OptionDescription.of(Text.translatable("skyblocker.config.helpers.enableWardrobeHelper.@Tooltip"))) + .binding(defaults.helpers.enableWardrobeHelper, + () -> config.helpers.enableWardrobeHelper, + newValue -> config.helpers.enableWardrobeHelper = newValue) + .controller(ConfigUtils::createBooleanController) + .build()) // Date Calculator .option(Option.<Boolean>createBuilder() @@ -69,225 +72,278 @@ public class HelperCategory { .build()) .build()) - //Jerry Timer - .group(OptionGroup.createBuilder() - .name(Text.translatable("skyblocker.config.helpers.jerry")) - .collapsed(true) - .option(Option.<Boolean>createBuilder() - .name(Text.translatable("skyblocker.config.helpers.jerry.enableJerryTimer")) - .description(OptionDescription.of(Text.translatable("skyblocker.config.helpers.jerry.enableJerryTimer.@Tooltip"))) - .binding(defaults.helpers.jerry.enableJerryTimer, - () -> config.helpers.jerry.enableJerryTimer, - newValue -> config.helpers.jerry.enableJerryTimer = newValue) - .controller(ConfigUtils::createBooleanController) - .build()) - .build()) + //Jerry Timer + .group(OptionGroup.createBuilder() + .name(Text.translatable("skyblocker.config.helpers.jerry")) + .collapsed(true) + .option(Option.<Boolean>createBuilder() + .name(Text.translatable("skyblocker.config.helpers.jerry.enableJerryTimer")) + .description(OptionDescription.of(Text.translatable("skyblocker.config.helpers.jerry.enableJerryTimer.@Tooltip"))) + .binding(defaults.helpers.jerry.enableJerryTimer, + () -> config.helpers.jerry.enableJerryTimer, + newValue -> config.helpers.jerry.enableJerryTimer = newValue) + .controller(ConfigUtils::createBooleanController) + .build()) + .build()) - //Experiments Solver - .group(OptionGroup.createBuilder() - .name(Text.translatable("skyblocker.config.helpers.experiments")) - .collapsed(true) - .option(Option.<Boolean>createBuilder() - .name(Text.translatable("skyblocker.config.helpers.experiments.enableChronomatronSolver")) - .binding(defaults.helpers.experiments.enableChronomatronSolver, - () -> config.helpers.experiments.enableChronomatronSolver, - newValue -> config.helpers.experiments.enableChronomatronSolver = newValue) - .controller(ConfigUtils::createBooleanController) - .build()) - .option(Option.<Boolean>createBuilder() - .name(Text.translatable("skyblocker.config.helpers.experiments.enableSuperpairsSolver")) - .binding(defaults.helpers.experiments.enableSuperpairsSolver, - () -> config.helpers.experiments.enableSuperpairsSolver, - newValue -> config.helpers.experiments.enableSuperpairsSolver = newValue) - .controller(ConfigUtils::createBooleanController) - .build()) - .option(Option.<Boolean>createBuilder() - .name(Text.translatable("skyblocker.config.helpers.experiments.enableUltrasequencerSolver")) - .binding(defaults.helpers.experiments.enableUltrasequencerSolver, - () -> config.helpers.experiments.enableUltrasequencerSolver, - newValue -> config.helpers.experiments.enableUltrasequencerSolver = newValue) - .controller(ConfigUtils::createBooleanController) - .build()) - .build()) + //Experiments Solver + .group(OptionGroup.createBuilder() + .name(Text.translatable("skyblocker.config.helpers.experiments")) + .collapsed(true) + .option(Option.<Boolean>createBuilder() + .name(Text.translatable("skyblocker.config.helpers.experiments.enableChronomatronSolver")) + .binding(defaults.helpers.experiments.enableChronomatronSolver, + () -> config.helpers.experiments.enableChronomatronSolver, + newValue -> config.helpers.experiments.enableChronomatronSolver = newValue) + .controller(ConfigUtils::createBooleanController) + .build()) + .option(Option.<Boolean>createBuilder() + .name(Text.translatable("skyblocker.config.helpers.experiments.enableSuperpairsSolver")) + .binding(defaults.helpers.experiments.enableSuperpairsSolver, + () -> config.helpers.experiments.enableSuperpairsSolver, + newValue -> config.helpers.experiments.enableSuperpairsSolver = newValue) + .controller(ConfigUtils::createBooleanController) + .build()) + .option(Option.<Boolean>createBuilder() + .name(Text.translatable("skyblocker.config.helpers.experiments.enableUltrasequencerSolver")) + .binding(defaults.helpers.experiments.enableUltrasequencerSolver, + () -> config.helpers.experiments.enableUltrasequencerSolver, + newValue -> config.helpers.experiments.enableUltrasequencerSolver = newValue) + .controller(ConfigUtils::createBooleanController) + .build()) + .build()) - //Fishing Helper - .group(OptionGroup.createBuilder() - .name(Text.translatable("skyblocker.config.helpers.fishing")) - .collapsed(true) - .option(Option.<Boolean>createBuilder() - .name(Text.translatable("skyblocker.config.helpers.fishing.enableFishingHelper")) - .binding(defaults.helpers.fishing.enableFishingHelper, - () -> config.helpers.fishing.enableFishingHelper, - newValue -> config.helpers.fishing.enableFishingHelper = newValue) - .controller(ConfigUtils::createBooleanController) - .build()) - .option(Option.<Boolean>createBuilder() - .name(Text.translatable("skyblocker.config.helpers.fishing.enableFishingTimer")) - .description(OptionDescription.of(Text.translatable("skyblocker.config.helpers.fishing.enableFishingTimer.@Tooltip"))) - .binding(defaults.helpers.fishing.enableFishingTimer, - () -> config.helpers.fishing.enableFishingTimer, - newValue -> config.helpers.fishing.enableFishingTimer = newValue) - .controller(ConfigUtils::createBooleanController) - .build()) - .option(Option.<Boolean>createBuilder() - .name(Text.translatable("skyblocker.config.helpers.fishing.changeTimerColor")) - .description(OptionDescription.of(Text.translatable("skyblocker.config.helpers.fishing.changeTimerColor.@Tooltip"))) - .binding(defaults.helpers.fishing.changeTimerColor, - () -> config.helpers.fishing.changeTimerColor, - newValue -> config.helpers.fishing.changeTimerColor = newValue) - .controller(ConfigUtils::createBooleanController) - .build()) - .option(Option.<Float>createBuilder() - .name(Text.translatable("skyblocker.config.helpers.fishing.fishingTimerScale")) - .description(OptionDescription.of(Text.translatable("skyblocker.config.helpers.fishing.fishingTimerScale.@Tooltip"))) - .binding(defaults.helpers.fishing.fishingTimerScale, - () -> config.helpers.fishing.fishingTimerScale, - newValue -> config.helpers.fishing.fishingTimerScale = newValue) - .controller(FloatFieldControllerBuilder::create) - .build()) - .option(Option.<Boolean>createBuilder() - .name(Text.translatable("skyblocker.config.helpers.fishing.hideOtherPlayers")) - .description(OptionDescription.of(Text.translatable("skyblocker.config.helpers.fishing.hideOtherPlayers.@Tooltip"))) - .binding(defaults.helpers.fishing.hideOtherPlayersRods, - () -> config.helpers.fishing.hideOtherPlayersRods, - newValue -> config.helpers.fishing.hideOtherPlayersRods = newValue) - .controller(ConfigUtils::createBooleanController) - .build()) - .build()) + //Fishing Helper + .group(OptionGroup.createBuilder() + .name(Text.translatable("skyblocker.config.helpers.fishing")) + .collapsed(true) + .option(Option.<Boolean>createBuilder() + .name(Text.translatable("skyblocker.config.helpers.fishing.enableFishingHelper")) + .binding(defaults.helpers.fishing.enableFishingHelper, + () -> config.helpers.fishing.enableFishingHelper, + newValue -> config.helpers.fishing.enableFishingHelper = newValue) + .controller(ConfigUtils::createBooleanController) + .build()) + .option(Option.<Boolean>createBuilder() + .name(Text.translatable("skyblocker.config.helpers.fishing.enableFishingTimer")) + .description(OptionDescription.of(Text.translatable("skyblocker.config.helpers.fishing.enableFishingTimer.@Tooltip"))) + .binding(defaults.helpers.fishing.enableFishingTimer, + () -> config.helpers.fishing.enableFishingTimer, + newValue -> config.helpers.fishing.enableFishingTimer = newValue) + .controller(ConfigUtils::createBooleanController) + .build()) + .option(Option.<Boolean>createBuilder() + .name(Text.translatable("skyblocker.config.helpers.fishing.changeTimerColor")) + .description(OptionDescription.of(Text.translatable("skyblocker.config.helpers.fishing.changeTimerColor.@Tooltip"))) + .binding(defaults.helpers.fishing.changeTimerColor, + () -> config.helpers.fishing.changeTimerColor, + newValue -> config.helpers.fishing.changeTimerColor = newValue) + .controller(ConfigUtils::createBooleanController) + .build()) + .option(Option.<Float>createBuilder() + .name(Text.translatable("skyblocker.config.helpers.fishing.fishingTimerScale")) + .description(OptionDescription.of(Text.translatable("skyblocker.config.helpers.fishing.fishingTimerScale.@Tooltip"))) + .binding(defaults.helpers.fishing.fishingTimerScale, + () -> config.helpers.fishing.fishingTimerScale, + newValue -> config.helpers.fishing.fishingTimerScale = newValue) + .controller(FloatFieldControllerBuilder::create) + .build()) + .option(Option.<Boolean>createBuilder() + .name(Text.translatable("skyblocker.config.helpers.fishing.hideOtherPlayers")) + .description(OptionDescription.of(Text.translatable("skyblocker.config.helpers.fishing.hideOtherPlayers.@Tooltip"))) + .binding(defaults.helpers.fishing.hideOtherPlayersRods, + () -> config.helpers.fishing.hideOtherPlayersRods, + newValue -> config.helpers.fishing.hideOtherPlayersRods = newValue) + .controller(ConfigUtils::createBooleanController) + .build()) + .option(ButtonOption.createBuilder() + .name(Text.translatable("skyblocker.config.helpers.fishing.hud.screen")) + .text(Text.translatable("text.skyblocker.open")) + .action((screen, opt) -> MinecraftClient.getInstance().setScreen(new WidgetsConfigurationScreen(Location.HUB, FishingHudWidget.getInstance().getInternalID(), screen))) + .build()) + .option(Option.<Boolean>createBuilder() + .name(Text.translatable("skyblocker.config.helpers.fishing.hud.onlyShowHudInBarn")) + .description(OptionDescription.of(Text.translatable("skyblocker.config.helpers.fishing.hud.onlyShowHudInBarn.@Tooltip"))) + .binding(defaults.helpers.fishing.onlyShowHudInBarn, + () -> config.helpers.fishing.onlyShowHudInBarn, + newValue -> config.helpers.fishing.onlyShowHudInBarn = newValue) + .controller(ConfigUtils::createBooleanController) + .build()) + .option(Option.<Integer>createBuilder() + .name(Text.translatable("skyblocker.config.helpers.fishing.timerLength")) + .description(OptionDescription.of(Text.translatable("skyblocker.config.helpers.fishing.timerLength.@Tooltip"))) + .binding(defaults.helpers.fishing.timerLength, + () -> config.helpers.fishing.timerLength, + newValue -> config.helpers.fishing.timerLength = newValue) + .controller(opt -> IntegerSliderControllerBuilder.create(opt).range(1, 360).step(1)) + .build()) + .option(Option.<Boolean>createBuilder() + .name(Text.translatable("skyblocker.config.helpers.fishing.seaCreatureTimerNotification")) + .description(OptionDescription.of(Text.translatable("skyblocker.config.helpers.fishing.seaCreatureTimerNotification.@Tooltip"))) + .binding(defaults.helpers.fishing.seaCreatureTimerNotification, + () -> config.helpers.fishing.seaCreatureTimerNotification, + newValue -> config.helpers.fishing.seaCreatureTimerNotification = newValue) + .controller(ConfigUtils::createBooleanController) + .build()) + .option(Option.<Integer>createBuilder() + .name(Text.translatable("skyblocker.config.helpers.fishing.seaCreatureCap")) + .description(OptionDescription.of(Text.translatable("skyblocker.config.helpers.fishing.seaCreatureCap.@Tooltip"))) + .binding(defaults.helpers.fishing.seaCreatureCap, + () -> config.helpers.fishing.seaCreatureCap, + newValue -> config.helpers.fishing.seaCreatureCap = newValue) + .controller(opt -> IntegerSliderControllerBuilder.create(opt).range(1, 60).step(1)) + .build()) + .option(Option.<Boolean>createBuilder() + .name(Text.translatable("skyblocker.config.helpers.fishing.seaCreatureCapNotification")) + .description(OptionDescription.of(Text.translatable("skyblocker.config.helpers.fishing.seaCreatureCapNotification.@Tooltip"))) + .binding(defaults.helpers.fishing.seaCreatureCapNotification, + () -> config.helpers.fishing.seaCreatureCapNotification, + newValue -> config.helpers.fishing.seaCreatureCapNotification = newValue) + .controller(ConfigUtils::createBooleanController) + .build()) + .option(Option.<SkyblockItemRarity>createBuilder() + .name(Text.translatable("skyblocker.config.helpers.fishing.minimumNotificationRarity")) + .description(OptionDescription.of(Text.translatable("skyblocker.config.helpers.fishing.minimumNotificationRarity.@Tooltip"))) + .binding(defaults.helpers.fishing.minimumNotificationRarity, + () -> config.helpers.fishing.minimumNotificationRarity, + rarity -> config.helpers.fishing.minimumNotificationRarity = rarity == SkyblockItemRarity.DIVINE ? SkyblockItemRarity.UNKNOWN : rarity) + .controller(ConfigUtils::createEnumCyclingListController) + .build()) + .build()) - //Fairy Souls Helper - .group(OptionGroup.createBuilder() - .name(Text.translatable("skyblocker.config.helpers.fairySouls")) - .collapsed(true) - .option(Option.<Boolean>createBuilder() - .name(Text.translatable("skyblocker.config.helpers.fairySouls.enableFairySoulsHelper")) - .binding(defaults.helpers.fairySouls.enableFairySoulsHelper, - () -> config.helpers.fairySouls.enableFairySoulsHelper, - newValue -> config.helpers.fairySouls.enableFairySoulsHelper = newValue) - .controller(ConfigUtils::createBooleanController) - .build()) - .option(Option.<Boolean>createBuilder() - .name(Text.translatable("skyblocker.config.helpers.fairySouls.highlightFoundSouls")) - .binding(defaults.helpers.fairySouls.highlightFoundSouls, - () -> config.helpers.fairySouls.highlightFoundSouls, - newValue -> config.helpers.fairySouls.highlightFoundSouls = newValue) - .controller(ConfigUtils::createBooleanController) - .build()) - .option(Option.<Boolean>createBuilder() - .name(Text.translatable("skyblocker.config.helpers.fairySouls.highlightOnlyNearbySouls")) - .description(OptionDescription.of(Text.translatable("skyblocker.config.helpers.fairySouls.highlightOnlyNearbySouls.@Tooltip"))) - .binding(defaults.helpers.fairySouls.highlightOnlyNearbySouls, - () -> config.helpers.fairySouls.highlightOnlyNearbySouls, - newValue -> config.helpers.fairySouls.highlightOnlyNearbySouls = newValue) - .controller(ConfigUtils::createBooleanController) - .build()) - .build()) + //Fairy Souls Helper + .group(OptionGroup.createBuilder() + .name(Text.translatable("skyblocker.config.helpers.fairySouls")) + .collapsed(true) + .option(Option.<Boolean>createBuilder() + .name(Text.translatable("skyblocker.config.helpers.fairySouls.enableFairySoulsHelper")) + .binding(defaults.helpers.fairySouls.enableFairySoulsHelper, + () -> config.helpers.fairySouls.enableFairySoulsHelper, + newValue -> config.helpers.fairySouls.enableFairySoulsHelper = newValue) + .controller(ConfigUtils::createBooleanController) + .build()) + .option(Option.<Boolean>createBuilder() + .name(Text.translatable("skyblocker.config.helpers.fairySouls.highlightFoundSouls")) + .binding(defaults.helpers.fairySouls.highlightFoundSouls, + () -> config.helpers.fairySouls.highlightFoundSouls, + newValue -> config.helpers.fairySouls.highlightFoundSouls = newValue) + .controller(ConfigUtils::createBooleanController) + .build()) + .option(Option.<Boolean>createBuilder() + .name(Text.translatable("skyblocker.config.helpers.fairySouls.highlightOnlyNearbySouls")) + .description(OptionDescription.of(Text.translatable("skyblocker.config.helpers.fairySouls.highlightOnlyNearbySouls.@Tooltip"))) + .binding(defaults.helpers.fairySouls.highlightOnlyNearbySouls, + () -> config.helpers.fairySouls.highlightOnlyNearbySouls, + newValue -> config.helpers.fairySouls.highlightOnlyNearbySouls = newValue) + .controller(ConfigUtils::createBooleanController) + .build()) + .build()) - //Chocolate Factory - .group(OptionGroup.createBuilder() - .name(Text.translatable("skyblocker.config.helpers.chocolateFactory")) - .collapsed(true) - .option(Option.<Boolean>createBuilder() - .name(Text.translatable("skyblocker.config.helpers.chocolateFactory.enableChocolateFactoryHelper")) - .description(OptionDescription.of(Text.translatable("skyblocker.config.helpers.chocolateFactory.enableChocolateFactoryHelper.@Tooltip"))) - .binding(defaults.helpers.chocolateFactory.enableChocolateFactoryHelper, - () -> config.helpers.chocolateFactory.enableChocolateFactoryHelper, - newValue -> config.helpers.chocolateFactory.enableChocolateFactoryHelper = newValue) - .controller(ConfigUtils::createBooleanController) - .build()) - .option(Option.<Boolean>createBuilder() - .name(Text.translatable("skyblocker.config.helpers.chocolateFactory.enableEggFinder")) - .description(OptionDescription.of(Text.translatable("skyblocker.config.helpers.chocolateFactory.enableEggFinder.@Tooltip"))) - .binding(defaults.helpers.chocolateFactory.enableEggFinder, - () -> config.helpers.chocolateFactory.enableEggFinder, - newValue -> config.helpers.chocolateFactory.enableEggFinder = newValue) - .controller(ConfigUtils::createBooleanController) - .build()) - .option(Option.<Boolean>createBuilder() - .name(Text.translatable("skyblocker.config.helpers.chocolateFactory.sendEggFoundMessages")) - .description(OptionDescription.of(Text.translatable("skyblocker.config.helpers.chocolateFactory.sendEggFoundMessages.@Tooltip"))) - .binding(defaults.helpers.chocolateFactory.sendEggFoundMessages, - () -> config.helpers.chocolateFactory.sendEggFoundMessages, - newValue -> config.helpers.chocolateFactory.sendEggFoundMessages = newValue) - .controller(ConfigUtils::createBooleanController) - .build()) - .option(Option.<Waypoint.Type>createBuilder() - .name(Text.translatable("skyblocker.config.helpers.chocolateFactory.waypointType")) - .description(OptionDescription.of(Text.translatable("skyblocker.config.uiAndVisuals.waypoints.waypointType.@Tooltip"))) - .binding(defaults.helpers.chocolateFactory.waypointType, - () -> config.helpers.chocolateFactory.waypointType, - newValue -> config.helpers.chocolateFactory.waypointType = newValue) - .controller(ConfigUtils::createEnumCyclingListController) - .build()) - .option(Option.<Boolean>createBuilder() - .name(Text.translatable("skyblocker.config.helpers.chocolateFactory.enableTimeTowerReminder")) - .description(OptionDescription.of(Text.translatable("skyblocker.config.helpers.chocolateFactory.enableTimeTowerReminder.@Tooltip"))) - .binding(defaults.helpers.chocolateFactory.enableTimeTowerReminder, - () -> config.helpers.chocolateFactory.enableTimeTowerReminder, - newValue -> config.helpers.chocolateFactory.enableTimeTowerReminder = newValue) - .controller(ConfigUtils::createBooleanController) - .build()) - .option(Option.<Boolean>createBuilder() - .name(Text.translatable("skyblocker.config.helpers.chocolateFactory.straySound")) - .description(OptionDescription.of(Text.translatable("skyblocker.config.helpers.chocolateFactory.straySound.@Tooltip"))) - .binding(defaults.helpers.chocolateFactory.straySound, - () -> config.helpers.chocolateFactory.straySound, - newValue -> config.helpers.chocolateFactory.straySound = newValue) - .controller(ConfigUtils::createBooleanController) - .build()) - .build()) + //Chocolate Factory + .group(OptionGroup.createBuilder() + .name(Text.translatable("skyblocker.config.helpers.chocolateFactory")) + .collapsed(true) + .option(Option.<Boolean>createBuilder() + .name(Text.translatable("skyblocker.config.helpers.chocolateFactory.enableChocolateFactoryHelper")) + .description(OptionDescription.of(Text.translatable("skyblocker.config.helpers.chocolateFactory.enableChocolateFactoryHelper.@Tooltip"))) + .binding(defaults.helpers.chocolateFactory.enableChocolateFactoryHelper, + () -> config.helpers.chocolateFactory.enableChocolateFactoryHelper, + newValue -> config.helpers.chocolateFactory.enableChocolateFactoryHelper = newValue) + .controller(ConfigUtils::createBooleanController) + .build()) + .option(Option.<Boolean>createBuilder() + .name(Text.translatable("skyblocker.config.helpers.chocolateFactory.enableEggFinder")) + .description(OptionDescription.of(Text.translatable("skyblocker.config.helpers.chocolateFactory.enableEggFinder.@Tooltip"))) + .binding(defaults.helpers.chocolateFactory.enableEggFinder, + () -> config.helpers.chocolateFactory.enableEggFinder, + newValue -> config.helpers.chocolateFactory.enableEggFinder = newValue) + .controller(ConfigUtils::createBooleanController) + .build()) + .option(Option.<Boolean>createBuilder() + .name(Text.translatable("skyblocker.config.helpers.chocolateFactory.sendEggFoundMessages")) + .description(OptionDescription.of(Text.translatable("skyblocker.config.helpers.chocolateFactory.sendEggFoundMessages.@Tooltip"))) + .binding(defaults.helpers.chocolateFactory.sendEggFoundMessages, + () -> config.helpers.chocolateFactory.sendEggFoundMessages, + newValue -> config.helpers.chocolateFactory.sendEggFoundMessages = newValue) + .controller(ConfigUtils::createBooleanController) + .build()) + .option(Option.<Waypoint.Type>createBuilder() + .name(Text.translatable("skyblocker.config.helpers.chocolateFactory.waypointType")) + .description(OptionDescription.of(Text.translatable("skyblocker.config.uiAndVisuals.waypoints.waypointType.@Tooltip"))) + .binding(defaults.helpers.chocolateFactory.waypointType, + () -> config.helpers.chocolateFactory.waypointType, + newValue -> config.helpers.chocolateFactory.waypointType = newValue) + .controller(ConfigUtils::createEnumCyclingListController) + .build()) + .option(Option.<Boolean>createBuilder() + .name(Text.translatable("skyblocker.config.helpers.chocolateFactory.enableTimeTowerReminder")) + .description(OptionDescription.of(Text.translatable("skyblocker.config.helpers.chocolateFactory.enableTimeTowerReminder.@Tooltip"))) + .binding(defaults.helpers.chocolateFactory.enableTimeTowerReminder, + () -> config.helpers.chocolateFactory.enableTimeTowerReminder, + newValue -> config.helpers.chocolateFactory.enableTimeTowerReminder = newValue) + .controller(ConfigUtils::createBooleanController) + .build()) + .option(Option.<Boolean>createBuilder() + .name(Text.translatable("skyblocker.config.helpers.chocolateFactory.straySound")) + .description(OptionDescription.of(Text.translatable("skyblocker.config.helpers.chocolateFactory.straySound.@Tooltip"))) + .binding(defaults.helpers.chocolateFactory.straySound, + () -> config.helpers.chocolateFactory.straySound, + newValue -> config.helpers.chocolateFactory.straySound = newValue) + .controller(ConfigUtils::createBooleanController) + .build()) + .build()) - .group(OptionGroup.createBuilder() - .name(Text.translatable("skyblocker.config.helpers.carnival")) - .collapsed(true) - .option(Option.<Boolean>createBuilder() - .name(Text.translatable("skyblocker.config.helpers.carnival.catchAFishHelper")) - .description(OptionDescription.of(Text.translatable("skyblocker.config.helpers.carnival.catchAFishHelper.@Tooltip"))) - .binding(defaults.helpers.carnival.catchAFishHelper, - () -> config.helpers.carnival.catchAFishHelper, - newValue -> config.helpers.carnival.catchAFishHelper = newValue) - .controller(ConfigUtils::createBooleanController) - .build()) - .option(Option.<Boolean>createBuilder() - .name(Text.translatable("skyblocker.config.helpers.carnival.zombieShootoutHelper")) - .description(OptionDescription.of(Text.translatable("skyblocker.config.helpers.carnival.zombieShootoutHelper.@Tooltip"))) - .binding(defaults.helpers.carnival.zombieShootoutHelper, - () -> config.helpers.carnival.zombieShootoutHelper, - newValue -> config.helpers.carnival.zombieShootoutHelper = newValue) - .controller(ConfigUtils::createBooleanController) - .build()) - .build()) + .group(OptionGroup.createBuilder() + .name(Text.translatable("skyblocker.config.helpers.carnival")) + .collapsed(true) + .option(Option.<Boolean>createBuilder() + .name(Text.translatable("skyblocker.config.helpers.carnival.catchAFishHelper")) + .description(OptionDescription.of(Text.translatable("skyblocker.config.helpers.carnival.catchAFishHelper.@Tooltip"))) + .binding(defaults.helpers.carnival.catchAFishHelper, + () -> config.helpers.carnival.catchAFishHelper, + newValue -> config.helpers.carnival.catchAFishHelper = newValue) + .controller(ConfigUtils::createBooleanController) + .build()) + .option(Option.<Boolean>createBuilder() + .name(Text.translatable("skyblocker.config.helpers.carnival.zombieShootoutHelper")) + .description(OptionDescription.of(Text.translatable("skyblocker.config.helpers.carnival.zombieShootoutHelper.@Tooltip"))) + .binding(defaults.helpers.carnival.zombieShootoutHelper, + () -> config.helpers.carnival.zombieShootoutHelper, + newValue -> config.helpers.carnival.zombieShootoutHelper = newValue) + .controller(ConfigUtils::createBooleanController) + .build()) + .build()) - //Bazaar - .group(OptionGroup.createBuilder() - .name(Text.translatable("skyblocker.config.helpers.bazaar")) - .collapsed(true) - .option(Option.<Boolean>createBuilder() - .name(Text.translatable("skyblocker.config.helpers.bazaar.enableBazaarHelper")) - .description(OptionDescription.of(Text.translatable("skyblocker.config.helpers.bazaar.enableBazaarHelper.@Tooltip", BazaarHelper.getExpiringIcon(), BazaarHelper.getExpiredIcon(), BazaarHelper.getFilledIcon(69), BazaarHelper.getFilledIcon(100)))) - .binding(defaults.helpers.bazaar.enableBazaarHelper, - () -> config.helpers.bazaar.enableBazaarHelper, - newValue -> config.helpers.bazaar.enableBazaarHelper = newValue) - .controller(ConfigUtils::createBooleanController) - .build()) - .option(Option.<Boolean>createBuilder() - .name(Text.translatable("skyblocker.config.helpers.itemPrice.enableItemPriceLookup")) - .description(OptionDescription.of(Text.translatable("skyblocker.config.helpers.itemPrice.enableItemPriceLookup.@Tooltip"))) - .binding(defaults.helpers.itemPrice.enableItemPriceLookup, - () -> config.helpers.itemPrice.enableItemPriceLookup, - newValue -> config.helpers.itemPrice.enableItemPriceLookup = newValue) - .controller(ConfigUtils::createBooleanController) - .build()) - .option(Option.<Boolean>createBuilder() - .name(Text.translatable("skyblocker.config.helpers.itemPrice.enableItemPriceRefresh")) - .description(OptionDescription.of(Text.translatable("skyblocker.config.helpers.itemPrice.enableItemPriceRefresh.@Tooltip"))) - .binding(defaults.helpers.itemPrice.enableItemPriceRefresh, - () -> config.helpers.itemPrice.enableItemPriceRefresh, - newValue -> config.helpers.itemPrice.enableItemPriceRefresh = newValue) - .controller(ConfigUtils::createBooleanController) - .build()) - .option(ConfigUtils.createShortcutToKeybindsScreen()) - .build()) - .b |
