aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/main/java/de/hysky/skyblocker/config/SkyblockerConfig.java52
-rw-r--r--src/main/java/de/hysky/skyblocker/config/SkyblockerConfigManager.java121
-rw-r--r--src/main/java/de/hysky/skyblocker/config/categories/CrimsonIsleCategory.java138
-rw-r--r--src/main/java/de/hysky/skyblocker/config/categories/DiscordRPCCategory.java50
-rw-r--r--src/main/java/de/hysky/skyblocker/config/categories/DungeonsCategory.java1153
-rw-r--r--src/main/java/de/hysky/skyblocker/config/categories/DwarvenMinesCategory.java153
-rw-r--r--src/main/java/de/hysky/skyblocker/config/categories/FarmingCategory.java66
-rw-r--r--src/main/java/de/hysky/skyblocker/config/categories/GeneralCategory.java484
-rw-r--r--src/main/java/de/hysky/skyblocker/config/categories/HelperCategory.java142
-rw-r--r--src/main/java/de/hysky/skyblocker/config/categories/LocationsCategory.java214
-rw-r--r--src/main/java/de/hysky/skyblocker/config/categories/MessageFilterCategory.java287
-rw-r--r--src/main/java/de/hysky/skyblocker/config/categories/MiningCategory.java165
-rw-r--r--src/main/java/de/hysky/skyblocker/config/categories/MiscCategory.java63
-rw-r--r--src/main/java/de/hysky/skyblocker/config/categories/OtherLocationsCategory.java169
-rw-r--r--src/main/java/de/hysky/skyblocker/config/categories/QuickNavigationCategory.java1178
-rw-r--r--src/main/java/de/hysky/skyblocker/config/categories/SlayersCategory.java248
-rw-r--r--src/main/java/de/hysky/skyblocker/config/categories/UIAndVisualsCategory.java345
-rw-r--r--src/main/java/de/hysky/skyblocker/config/configs/MessagesFilterConfig.java (renamed from src/main/java/de/hysky/skyblocker/config/configs/MessagesConfig.java)2
-rw-r--r--src/main/java/de/hysky/skyblocker/config/configs/QuickNavigationConfig.java (renamed from src/main/java/de/hysky/skyblocker/config/configs/QuickNavConfig.java)2
-rw-r--r--src/main/java/de/hysky/skyblocker/config/configs/SlayersConfig.java (renamed from src/main/java/de/hysky/skyblocker/config/configs/SlayerConfig.java)2
-rw-r--r--src/main/java/de/hysky/skyblocker/config/configs/UIAndVisualsConfig.java (renamed from src/main/java/de/hysky/skyblocker/config/configs/UiAndVisualsConfig.java)2
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/ChestValue.java5
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dwarven/CrystalsWaypoint.java5
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/fancybars/FancyStatusBars.java7
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/quicknav/QuickNav.java8
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/searchoverlay/SearchOverManager.java5
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/PlayerListWidget.java5
-rw-r--r--src/main/java/de/hysky/skyblocker/utils/render/title/TitleContainer.java27
-rw-r--r--src/main/java/de/hysky/skyblocker/utils/render/title/TitleContainerConfigScreen.java35
-rw-r--r--src/main/resources/assets/skyblocker/lang/en_ca.json2
-rw-r--r--src/main/resources/assets/skyblocker/lang/en_us.json45
-rw-r--r--src/main/resources/assets/skyblocker/lang/es_es.json18
-rw-r--r--src/main/resources/assets/skyblocker/lang/fr_fr.json32
-rw-r--r--src/main/resources/assets/skyblocker/lang/id_id.json4
-rw-r--r--src/main/resources/assets/skyblocker/lang/it_it.json18
-rw-r--r--src/main/resources/assets/skyblocker/lang/ja_jp.json12
-rw-r--r--src/main/resources/assets/skyblocker/lang/ko_kr.json18
-rw-r--r--src/main/resources/assets/skyblocker/lang/nb_no.json18
-rw-r--r--src/main/resources/assets/skyblocker/lang/pt_br.json22
-rw-r--r--src/main/resources/assets/skyblocker/lang/ru_ru.json32
-rw-r--r--src/main/resources/assets/skyblocker/lang/tr_tr.json18
-rw-r--r--src/main/resources/assets/skyblocker/lang/zh_cn.json30
-rw-r--r--src/main/resources/assets/skyblocker/lang/zh_tw.json30
43 files changed, 2767 insertions, 2665 deletions
diff --git a/src/main/java/de/hysky/skyblocker/config/SkyblockerConfig.java b/src/main/java/de/hysky/skyblocker/config/SkyblockerConfig.java
index a45c9dd8..84c957ca 100644
--- a/src/main/java/de/hysky/skyblocker/config/SkyblockerConfig.java
+++ b/src/main/java/de/hysky/skyblocker/config/SkyblockerConfig.java
@@ -4,42 +4,42 @@ import de.hysky.skyblocker.config.configs.*;
import dev.isxander.yacl3.config.v2.api.SerialEntry;
public class SkyblockerConfig {
- @SerialEntry
- public int version = 2;
+ @SerialEntry
+ public int version = 2;
- @SerialEntry
- public GeneralConfig general = new GeneralConfig();
+ @SerialEntry
+ public GeneralConfig general = new GeneralConfig();
- @SerialEntry
- public UiAndVisualsConfig uiAndVisuals = new UiAndVisualsConfig();
+ @SerialEntry
+ public UIAndVisualsConfig uiAndVisuals = new UIAndVisualsConfig();
- @SerialEntry
- public HelperConfig helper = new HelperConfig();
+ @SerialEntry
+ public HelperConfig helper = new HelperConfig();
- @SerialEntry
- public DungeonsConfig dungeons = new DungeonsConfig();
+ @SerialEntry
+ public DungeonsConfig dungeons = new DungeonsConfig();
- @SerialEntry
- public CrimsonIsleConfig crimsonIsle = new CrimsonIsleConfig();
+ @SerialEntry
+ public CrimsonIsleConfig crimsonIsle = new CrimsonIsleConfig();
- @SerialEntry
- public MiningConfig mining = new MiningConfig();
+ @SerialEntry
+ public MiningConfig mining = new MiningConfig();
- @SerialEntry
- public FarmingConfig farming = new FarmingConfig();
+ @SerialEntry
+ public FarmingConfig farming = new FarmingConfig();
- @SerialEntry
- public OtherLocationsConfig otherLocations = new OtherLocationsConfig();
+ @SerialEntry
+ public OtherLocationsConfig otherLocations = new OtherLocationsConfig();
- @SerialEntry
- public SlayerConfig slayer = new SlayerConfig();
+ @SerialEntry
+ public SlayersConfig slayer = new SlayersConfig();
- @SerialEntry
- public MessagesConfig messages = new MessagesConfig();
+ @SerialEntry
+ public MessagesFilterConfig messages = new MessagesFilterConfig();
- @SerialEntry
- public QuickNavConfig quickNav = new QuickNavConfig();
+ @SerialEntry
+ public QuickNavigationConfig quickNav = new QuickNavigationConfig();
- @SerialEntry
- public MiscConfig misc = new MiscConfig();
+ @SerialEntry
+ public MiscConfig misc = new MiscConfig();
}
diff --git a/src/main/java/de/hysky/skyblocker/config/SkyblockerConfigManager.java b/src/main/java/de/hysky/skyblocker/config/SkyblockerConfigManager.java
index 11a61cde..f01f463c 100644
--- a/src/main/java/de/hysky/skyblocker/config/SkyblockerConfigManager.java
+++ b/src/main/java/de/hysky/skyblocker/config/SkyblockerConfigManager.java
@@ -26,69 +26,72 @@ import java.lang.StackWalker.Option;
import java.nio.file.Path;
public class SkyblockerConfigManager {
- private static final Path PATH = FabricLoader.getInstance().getConfigDir().resolve("skyblocker-2.json");
- private static final ConfigClassHandler<SkyblockerConfig> HANDLER = ConfigClassHandler.createBuilder(SkyblockerConfig.class)
- .serializer(config -> GsonConfigSerializerBuilder.create(config)
- .setPath(PATH)
- .setJson5(false)
- .appendGsonBuilder(builder -> builder
- .setFieldNamingPolicy(FieldNamingPolicy.IDENTITY)
- .registerTypeHierarchyAdapter(Identifier.class, new Identifier.Serializer()))
- .build())
- .build();
+ private static final Path PATH = FabricLoader.getInstance().getConfigDir().resolve("skyblocker-2.json");
+ private static final ConfigClassHandler<SkyblockerConfig> HANDLER = ConfigClassHandler.createBuilder(SkyblockerConfig.class)
+ .serializer(config -> GsonConfigSerializerBuilder.create(config)
+ .setPath(PATH)
+ .setJson5(false)
+ .appendGsonBuilder(builder -> builder
+ .setFieldNamingPolicy(FieldNamingPolicy.IDENTITY)
+ .registerTypeHierarchyAdapter(Identifier.class, new Identifier.Serializer()))
+ .build())
+ .build();
- public static SkyblockerConfig get() {
- return HANDLER.instance();
- }
+ public static SkyblockerConfig get() {
+ return HANDLER.instance();
+ }
- /**
- * This method is caller sensitive and can only be called by the mod initializer,
- * this is enforced.
- */
- public static void init() {
- if (StackWalker.getInstance(Option.RETAIN_CLASS_REFERENCE).getCallerClass() != SkyblockerMod.class) {
- throw new RuntimeException("Skyblocker: Called config init from an illegal place!");
- }
+ /**
+ * This method is caller sensitive and can only be called by the mod initializer,
+ * this is enforced.
+ */
+ public static void init() {
+ if (StackWalker.getInstance(Option.RETAIN_CLASS_REFERENCE).getCallerClass() != SkyblockerMod.class) {
+ throw new RuntimeException("Skyblocker: Called config init from an illegal place!");
+ }
- HANDLER.load();
- ClientCommandRegistrationCallback.EVENT.register(((dispatcher, registryAccess) -> dispatcher.register(ClientCommandManager.literal(SkyblockerMod.NAMESPACE).then(optionsLiteral("config")).then(optionsLiteral("options")))));
- ScreenEvents.AFTER_INIT.register((client, screen, scaledWidth, scaledHeight) -> {
- if (screen instanceof GenericContainerScreen genericContainerScreen && screen.getTitle().getString().equals("SkyBlock Menu")) {
- Screens.getButtons(screen).add(ButtonWidget
- .builder(Text.literal("\uD83D\uDD27"), buttonWidget -> client.setScreen(createGUI(screen)))
- .dimensions(((HandledScreenAccessor) genericContainerScreen).getX() + ((HandledScreenAccessor) genericContainerScreen).getBackgroundWidth() - 16, ((HandledScreenAccessor) genericContainerScreen).getY() + 4, 12, 12)
- .tooltip(Tooltip.of(Text.translatable("skyblocker.title")))
- .build());
- }
- });
- }
+ HANDLER.load();
+ ClientCommandRegistrationCallback.EVENT.register(((dispatcher, registryAccess) -> dispatcher.register(ClientCommandManager.literal(SkyblockerMod.NAMESPACE).then(optionsLiteral("config")).then(optionsLiteral("options")))));
+ ScreenEvents.AFTER_INIT.register((client, screen, scaledWidth, scaledHeight) -> {
+ if (screen instanceof GenericContainerScreen genericContainerScreen && screen.getTitle().getString().equals("SkyBlock Menu")) {
+ Screens.getButtons(screen).add(ButtonWidget
+ .builder(Text.literal("\uD83D\uDD27"), buttonWidget -> client.setScreen(createGUI(screen)))
+ .dimensions(((HandledScreenAccessor) genericContainerScreen).getX() + ((HandledScreenAccessor) genericContainerScreen).getBackgroundWidth() - 16, ((HandledScreenAccessor) genericContainerScreen).getY() + 4, 12, 12)
+ .tooltip(Tooltip.of(Text.translatable("skyblocker.title")))
+ .build());
+ }
+ });
+ }
- public static void save() {
- HANDLER.save();
- }
+ public static void save() {
+ HANDLER.save();
+ }
- public static Screen createGUI(Screen parent) {
- return YetAnotherConfigLib.create(HANDLER, (defaults, config, builder) -> builder
- .title(Text.translatable("skyblocker.title"))
- .category(GeneralCategory.create(defaults, config))
- .category(DungeonsCategory.create(defaults, config))
- .category(DwarvenMinesCategory.create(defaults, config))
- .category(CrimsonIsleCategory.create(defaults, config))
- .category(LocationsCategory.create(defaults, config))
- .category(SlayersCategory.create(defaults, config))
- .category(QuickNavigationCategory.create(defaults, config))
- .category(MessageFilterCategory.create(defaults, config))
- .category(DiscordRPCCategory.create(defaults, config))).generateScreen(parent);
- }
+ public static Screen createGUI(Screen parent) {
+ return YetAnotherConfigLib.create(HANDLER, (defaults, config, builder) -> builder
+ .title(Text.translatable("skyblocker.title"))
+ .category(GeneralCategory.create(defaults, config))
+ .category(UIAndVisualsCategory.create(defaults, config))
+ .category(HelperCategory.create(defaults, config))
+ .category(DungeonsCategory.create(defaults, config))
+ .category(CrimsonIsleCategory.create(defaults, config))
+ .category(MiningCategory.create(defaults, config))
+ .category(FarmingCategory.create(defaults, config))
+ .category(OtherLocationsCategory.create(defaults, config))
+ .category(SlayersCategory.create(defaults, config))
+ .category(MessageFilterCategory.create(defaults, config))
+ .category(QuickNavigationCategory.create(defaults, config))
+ .category(MiscCategory.create(defaults, config))).generateScreen(parent);
+ }
- /**
- * Registers an options command with the given name. Used for registering both options and config as valid commands.
- *
- * @param name the name of the command node
- * @return the command builder
- */
- private static LiteralArgumentBuilder<FabricClientCommandSource> optionsLiteral(String name) {
- // Don't immediately open the next screen as it will be closed by ChatScreen right after this command is executed
- return ClientCommandManager.literal(name).executes(Scheduler.queueOpenScreenCommand(() -> createGUI(null)));
- }
+ /**
+ * Registers an options command with the given name. Used for registering both options and config as valid commands.
+ *
+ * @param name the name of the command node
+ * @return the command builder
+ */
+ private static LiteralArgumentBuilder<FabricClientCommandSource> optionsLiteral(String name) {
+ // Don't immediately open the next screen as it will be closed by ChatScreen right after this command is executed
+ return ClientCommandManager.literal(name).executes(Scheduler.queueOpenScreenCommand(() -> createGUI(null)));
+ }
}
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 a573a622..dd9cb693 100644
--- a/src/main/java/de/hysky/skyblocker/config/categories/CrimsonIsleCategory.java
+++ b/src/main/java/de/hysky/skyblocker/config/categories/CrimsonIsleCategory.java
@@ -12,74 +12,74 @@ import net.minecraft.text.Text;
public class CrimsonIsleCategory {
- public static ConfigCategory create(SkyblockerConfig defaults, SkyblockerConfig config) {
- return ConfigCategory.createBuilder()
- .name(Text.translatable("skyblocker.category.crimsonIsle"))
+ public static ConfigCategory create(SkyblockerConfig defaults, SkyblockerConfig config) {
+ return ConfigCategory.createBuilder()
+ .name(Text.translatable("skyblocker.category.crimsonIsle"))
- //Kuudra
- .group(OptionGroup.createBuilder()
- .name(Text.translatable("skyblocker.option.locations.crimsonIsle.kuudra"))
- .collapsed(false)
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.crimsonIsle.kuudra.supplyWaypoints"))
- .binding(defaults.crimsonIsle.kuudra.supplyWaypoints,
- () -> config.crimsonIsle.kuudra.supplyWaypoints,
- newValue -> config.crimsonIsle.kuudra.supplyWaypoints = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.crimsonIsle.kuudra.fuelWaypoints"))
- .binding(defaults.crimsonIsle.kuudra.fuelWaypoints,
- () -> config.crimsonIsle.kuudra.fuelWaypoints,
- newValue -> config.crimsonIsle.kuudra.fuelWaypoints = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Waypoint.Type>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.crimsonIsle.kuudra.suppliesAndFuelWaypointType"))
- .description(OptionDescription.of(Text.translatable("skyblocker.option.general.waypoints.waypointType.@Tooltip")))
- .binding(defaults.crimsonIsle.kuudra.suppliesAndFuelWaypointType,
- () -> config.crimsonIsle.kuudra.suppliesAndFuelWaypointType,
- newValue -> config.crimsonIsle.kuudra.suppliesAndFuelWaypointType = newValue)
- .controller(ConfigUtils::createEnumCyclingListController)
- .build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.crimsonIsle.kuudra.ballistaBuildWaypoints"))
- .binding(defaults.crimsonIsle.kuudra.ballistaBuildWaypoints,
- () -> config.crimsonIsle.kuudra.ballistaBuildWaypoints,
- newValue -> config.crimsonIsle.kuudra.ballistaBuildWaypoints = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.crimsonIsle.kuudra.safeSpotWaypoints"))
- .binding(defaults.crimsonIsle.kuudra.safeSpotWaypoints,
- () -> config.crimsonIsle.kuudra.safeSpotWaypoints,
- newValue -> config.crimsonIsle.kuudra.safeSpotWaypoints = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.crimsonIsle.kuudra.pearlWaypoints"))
- .binding(defaults.crimsonIsle.kuudra.pearlWaypoints,
- () -> config.crimsonIsle.kuudra.pearlWaypoints,
- newValue -> config.crimsonIsle.kuudra.pearlWaypoints = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.crimsonIsle.kuudra.noArrowPoisonWarning"))
- .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.crimsonIsle.kuudra.noArrowPoisonWarning.@Tooltip")))
- .binding(defaults.crimsonIsle.kuudra.noArrowPoisonWarning,
- () -> config.crimsonIsle.kuudra.noArrowPoisonWarning,
- newValue -> config.crimsonIsle.kuudra.noArrowPoisonWarning = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Integer>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.crimsonIsle.kuudra.arrowPoisonThreshold"))
- .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.crimsonIsle.kuudra.arrowPoisonThreshold.@Tooltip")))
- .binding(defaults.crimsonIsle.kuudra.arrowPoisonThreshold,
- () -> config.crimsonIsle.kuudra.arrowPoisonThreshold,
- newValue -> config.crimsonIsle.kuudra.arrowPoisonThreshold = newValue)
- .controller(IntegerFieldControllerBuilder::create)
- .build())
- .build())
- .build();
- }
+ //Kuudra
+ .group(OptionGroup.createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.crimsonIsle.kuudra"))
+ .collapsed(false)
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.crimsonIsle.kuudra.supplyWaypoints"))
+ .binding(defaults.crimsonIsle.kuudra.supplyWaypoints,
+ () -> config.crimsonIsle.kuudra.supplyWaypoints,
+ newValue -> config.crimsonIsle.kuudra.supplyWaypoints = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.crimsonIsle.kuudra.fuelWaypoints"))
+ .binding(defaults.crimsonIsle.kuudra.fuelWaypoints,
+ () -> config.crimsonIsle.kuudra.fuelWaypoints,
+ newValue -> config.crimsonIsle.kuudra.fuelWaypoints = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Waypoint.Type>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.crimsonIsle.kuudra.suppliesAndFuelWaypointType"))
+ .description(OptionDescription.of(Text.translatable("skyblocker.option.general.waypoints.waypointType.@Tooltip")))
+ .binding(defaults.crimsonIsle.kuudra.suppliesAndFuelWaypointType,
+ () -> config.crimsonIsle.kuudra.suppliesAndFuelWaypointType,
+ newValue -> config.crimsonIsle.kuudra.suppliesAndFuelWaypointType = newValue)
+ .controller(ConfigUtils::createEnumCyclingListController)
+ .build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.crimsonIsle.kuudra.ballistaBuildWaypoints"))
+ .binding(defaults.crimsonIsle.kuudra.ballistaBuildWaypoints,
+ () -> config.crimsonIsle.kuudra.ballistaBuildWaypoints,
+ newValue -> config.crimsonIsle.kuudra.ballistaBuildWaypoints = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.crimsonIsle.kuudra.safeSpotWaypoints"))
+ .binding(defaults.crimsonIsle.kuudra.safeSpotWaypoints,
+ () -> config.crimsonIsle.kuudra.safeSpotWaypoints,
+ newValue -> config.crimsonIsle.kuudra.safeSpotWaypoints = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.crimsonIsle.kuudra.pearlWaypoints"))
+ .binding(defaults.crimsonIsle.kuudra.pearlWaypoints,
+ () -> config.crimsonIsle.kuudra.pearlWaypoints,
+ newValue -> config.crimsonIsle.kuudra.pearlWaypoints = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.crimsonIsle.kuudra.noArrowPoisonWarning"))
+ .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.crimsonIsle.kuudra.noArrowPoisonWarning.@Tooltip")))
+ .binding(defaults.crimsonIsle.kuudra.noArrowPoisonWarning,
+ () -> config.crimsonIsle.kuudra.noArrowPoisonWarning,
+ newValue -> config.crimsonIsle.kuudra.noArrowPoisonWarning = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Integer>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.crimsonIsle.kuudra.arrowPoisonThreshold"))
+ .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.crimsonIsle.kuudra.arrowPoisonThreshold.@Tooltip")))
+ .binding(defaults.crimsonIsle.kuudra.arrowPoisonThreshold,
+ () -> config.crimsonIsle.kuudra.arrowPoisonThreshold,
+ newValue -> config.crimsonIsle.kuudra.arrowPoisonThreshold = newValue)
+ .controller(IntegerFieldControllerBuilder::create)
+ .build())
+ .build())
+ .build();
+ }
}
diff --git a/src/main/java/de/hysky/skyblocker/config/categories/DiscordRPCCategory.java b/src/main/java/de/hysky/skyblocker/config/categories/DiscordRPCCategory.java
deleted file mode 100644
index f69d6343..00000000
--- a/src/main/java/de/hysky/skyblocker/config/categories/DiscordRPCCategory.java
+++ /dev/null
@@ -1,50 +0,0 @@
-package de.hysky.skyblocker.config.categories;
-
-import de.hysky.skyblocker.config.ConfigUtils;
-import de.hysky.skyblocker.config.SkyblockerConfig;
-import de.hysky.skyblocker.config.configs.MiscConfig;
-import dev.isxander.yacl3.api.ConfigCategory;
-import dev.isxander.yacl3.api.Option;
-import dev.isxander.yacl3.api.OptionDescription;
-import dev.isxander.yacl3.api.controller.StringControllerBuilder;
-import net.minecraft.text.Text;
-
-public class DiscordRPCCategory {
-
- public static ConfigCategory create(SkyblockerConfig defaults, SkyblockerConfig config) {
- return ConfigCategory.createBuilder()
- .name(Text.translatable("skyblocker.category.richPresence"))
-
- //Uncategorized Options
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.richPresence.enableRichPresence"))
- .binding(defaults.misc.richPresence.enableRichPresence,
- () -> config.misc.richPresence.enableRichPresence,
- newValue -> config.misc.richPresence.enableRichPresence = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<MiscConfig.Info>createBuilder()
- .name(Text.translatable("skyblocker.option.richPresence.info"))
- .description(OptionDescription.of(Text.translatable("skyblocker.option.richPresence.info.@Tooltip")))
- .binding(defaults.misc.richPresence.info,
- () -> config.misc.richPresence.info,
- newValue -> config.misc.richPresence.info = newValue)
- .controller(ConfigUtils::createEnumCyclingListController)
- .build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.richPresence.cycleMode"))
- .binding(defaults.misc.richPresence.cycleMode,
- () -> config.misc.richPresence.cycleMode,
- newValue -> config.misc.richPresence.cycleMode = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<String>createBuilder()
- .name(Text.translatable("skyblocker.option.richPresence.customMessage"))
- .binding(defaults.misc.richPresence.customMessage,
- () -> config.misc.richPresence.customMessage,
- newValue -> config.misc.richPresence.customMessage = newValue)
- .controller(StringControllerBuilder::create)
- .build())
- .build();
- }
-}
diff --git a/src/main/java/de/hysky/skyblocker/config/categories/DungeonsCategory.java b/src/main/java/de/hysky/skyblocker/config/categories/DungeonsCategory.java
index 2137f380..94cb01b7 100644
--- a/src/main/java/de/hysky/skyblocker/config/categories/DungeonsCategory.java
+++ b/src/main/java/de/hysky/skyblocker/config/categories/DungeonsCategory.java
@@ -15,573 +15,604 @@ import net.minecraft.util.Formatting;
public class DungeonsCategory {
- public static ConfigCategory create(SkyblockerConfig defaults, SkyblockerConfig config) {
- return ConfigCategory.createBuilder()
- .name(Text.translatable("skyblocker.option.locations.dungeons"))
+ public static ConfigCategory create(SkyblockerConfig defaults, SkyblockerConfig config) {
+ return ConfigCategory.createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.dungeons"))
- //Dungeon Secret Waypoints
- .group(OptionGroup.createBuilder()
- .name(Text.translatable("skyblocker.option.locations.dungeons.secretWaypoints"))
- .collapsed(true)
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.dungeons.secretWaypoints.enableRoomMatching"))
- .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.secretWaypoints.enableRoomMatching.@Tooltip")))
- .binding(defaults.dungeons.secretWaypoints.enableRoomMatching,
- () -> config.dungeons.secretWaypoints.enableRoomMatching,
- newValue -> config.dungeons.secretWaypoints.enableRoomMatching = newValue)
- .controller(ConfigUtils::createBooleanController)
- .flag(OptionFlag.GAME_RESTART)
- .build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.dungeons.secretWaypoints.enableSecretWaypoints"))
- .binding(defaults.dungeons.secretWaypoints.enableSecretWaypoints,
- () -> config.dungeons.secretWaypoints.enableSecretWaypoints,
- newValue -> config.dungeons.secretWaypoints.enableSecretWaypoints = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Type>createBuilder()
- .name(Text.translatable("skyblocker.option.general.waypoints.waypointType"))
- .description(OptionDescription.of(Text.translatable("skyblocker.option.general.waypoints.waypointType.@Tooltip")))
- .binding(defaults.dungeons.secretWaypoints.waypointType,
- () -> config.dungeons.secretWaypoints.waypointType,
- newValue -> config.dungeons.secretWaypoints.waypointType = newValue)
- .controller(ConfigUtils::createEnumCyclingListController)
- .build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.dungeons.secretWaypoints.showSecretText"))
- .binding(defaults.dungeons.secretWaypoints.showSecretText,
- () -> config.dungeons.secretWaypoints.showSecretText,
- newValue -> config.dungeons.secretWaypoints.showSecretText = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.dungeons.secretWaypoints.enableEntranceWaypoints"))
- .binding(defaults.dungeons.secretWaypoints.enableEntranceWaypoints,
- () -> config.dungeons.secretWaypoints.enableEntranceWaypoints,
- newValue -> config.dungeons.secretWaypoints.enableEntranceWaypoints = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.dungeons.secretWaypoints.enableSuperboomWaypoints"))
- .binding(defaults.dungeons.secretWaypoints.enableSuperboomWaypoints,
- () -> config.dungeons.secretWaypoints.enableSuperboomWaypoints,
- newValue -> config.dungeons.secretWaypoints.enableSuperboomWaypoints = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.dungeons.secretWaypoints.enableChestWaypoints"))
- .binding(defaults.dungeons.secretWaypoints.enableChestWaypoints,
- () -> config.dungeons.secretWaypoints.enableChestWaypoints,
- newValue -> config.dungeons.secretWaypoints.enableChestWaypoints = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.dungeons.secretWaypoints.enableItemWaypoints"))
- .binding(defaults.dungeons.secretWaypoints.enableItemWaypoints,
- () -> config.dungeons.secretWaypoints.enableItemWaypoints,
- newValue -> config.dungeons.secretWaypoints.enableItemWaypoints = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.dungeons.secretWaypoints.enableBatWaypoints"))
- .binding(defaults.dungeons.secretWaypoints.enableBatWaypoints,
- () -> config.dungeons.secretWaypoints.enableBatWaypoints,
- newValue -> config.dungeons.secretWaypoints.enableBatWaypoints = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.dungeons.secretWaypoints.enableWitherWaypoints"))
- .binding(defaults.dungeons.secretWaypoints.enableWitherWaypoints,
- () -> config.dungeons.secretWaypoints.enableWitherWaypoints,
- newValue -> config.dungeons.secretWaypoints.enableWitherWaypoints = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.dungeons.secretWaypoints.enableLeverWaypoints"))
- .binding(defaults.dungeons.secretWaypoints.enableLeverWaypoints,
- () -> config.dungeons.secretWaypoints.enableLeverWaypoints,
- newValue -> config.dungeons.secretWaypoints.enableLeverWaypoints = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.dungeons.secretWaypoints.enableFairySoulWaypoints"))
- .binding(defaults.dungeons.secretWaypoints.enableFairySoulWaypoints,
- () -> config.dungeons.secretWaypoints.enableFairySoulWaypoints,
- newValue -> config.dungeons.secretWaypoints.enableFairySoulWaypoints = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.dungeons.secretWaypoints.enableStonkWaypoints"))
- .binding(defaults.dungeons.secretWaypoints.enableStonkWaypoints,
- () -> config.dungeons.secretWaypoints.enableStonkWaypoints,
- newValue -> config.dungeons.secretWaypoints.enableStonkWaypoints = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.dungeons.secretWaypoints.enableAotvWaypoints"))
- .binding(defaults.dungeons.secretWaypoints.enableAotvWaypoints,
- () -> config.dungeons.secretWaypoints.enableAotvWaypoints,
- newValue -> config.dungeons.secretWaypoints.enableAotvWaypoints = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.dungeons.secretWaypoints.enablePearlWaypoints"))
- .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.secretWaypoints.enablePearlWaypoints.@Tooltip")))
- .binding(defaults.dungeons.secretWaypoints.enablePearlWaypoints,
- () -> config.dungeons.secretWaypoints.enablePearlWaypoints,
- newValue -> config.dungeons.secretWaypoints.enablePearlWaypoints = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.dungeons.secretWaypoints.enableDefaultWaypoints"))
- .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.secretWaypoints.enableDefaultWaypoints.@Tooltip")))
- .binding(defaults.dungeons.secretWaypoints.enableDefaultWaypoints,
- () -> config.dungeons.secretWaypoints.enableDefaultWaypoints,
- newValue -> config.dungeons.secretWaypoints.enableDefaultWaypoints = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .build())
+ //Ungrouped Options
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.general.fancyPartyFinder"))
+ .binding(defaults.dungeons.fancyPartyFinder,
+ () -> config.dungeons.fancyPartyFinder,
+ newValue -> config.dungeons.fancyPartyFinder = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.dungeons.croesusHelper"))
+ .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.croesusHelper.@Tooltip")))
+ .binding(defaults.dungeons.croesusHelper,
+ () -> config.dungeons.croesusHelper,
+ newValue -> config.dungeons.croesusHelper = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.dungeons.playerSecretsTracker"))
+ .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.playerSecretsTracker.@Tooltip")))
+ .binding(defaults.dungeons.playerSecretsTracker,
+ () -> config.dungeons.playerSecretsTracker,
+ newValue -> config.dungeons.playerSecretsTracker = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.dungeons.starredMobGlow"))
+ .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.starredMobGlow.@Tooltip")))
+ .binding(defaults.dungeons.starredMobGlow,
+ () -> config.dungeons.starredMobGlow,
+ newValue -> config.dungeons.starredMobGlow = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.dungeons.starredMobBoundingBoxes"))
+ .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.starredMobBoundingBoxes.@Tooltip")))
+ .binding(defaults.dungeons.starredMobBoundingBoxes,
+ () -> config.dungeons.starredMobBoundingBoxes,
+ newValue -> config.dungeons.starredMobBoundingBoxes = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.dungeons.allowDroppingProtectedItems"))
+ .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.allowDroppingProtectedItems.@Tooltip")))
+ .binding(defaults.dungeons.allowDroppingProtectedItems,
+ () -> config.dungeons.allowDroppingProtectedItems,
+ newValue -> config.dungeons.allowDroppingProtectedItems = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.general.acceptReparty"))
+ .binding(defaults.dungeons.acceptReparty,
+ () -> config.dungeons.acceptReparty,
+ newValue -> config.dungeons.acceptReparty = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
- //Dungeon Door Highlight
- .group(OptionGroup.createBuilder()
- .name(Text.translatable("skyblocker.option.locations.dungeons.doorHighlight"))
- .collapsed(true)
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.dungeons.doorHighlight.enableDoorHighlight"))
- .binding(defaults.dungeons.doorHighlight.enableDoorHighlight,
- () -> config.dungeons.doorHighlight.enableDoorHighlight,
- newValue -> config.dungeons.doorHighlight.enableDoorHighlight = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<DungeonsConfig.DoorHighlight.Type>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.dungeons.doorHighlight.doorHighlightType"))
- .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.doorHighlight.doorHighlightType.@Tooltip"), Text.translatable("skyblocker.option.locations.dungeons.doorHighlight.doorHighlightType.secretWaypointsNote")))
- .binding(defaults.dungeons.doorHighlight.doorHighlightType,
- () -> config.dungeons.doorHighlight.doorHighlightType,
- newValue -> config.dungeons.doorHighlight.doorHighlightType = newValue)
- .controller(ConfigUtils::createEnumCyclingListController)
- .build())
- .build())
+ // Map
+ .group(OptionGroup.createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.dungeons.map"))
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.dungeons.enableMap"))
+ .binding(defaults.dungeons.dungeonMap.enableMap,
+ () -> config.dungeons.dungeonMap.enableMap,
+ newValue -> config.dungeons.dungeonMap.enableMap = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Float>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.dungeons.mapScaling"))
+ .binding(defaults.dungeons.dungeonMap.mapScaling,
+ () -> config.dungeons.dungeonMap.mapScaling,
+ newValue -> config.dungeons.dungeonMap.mapScaling = newValue)
+ .controller(FloatFieldControllerBuilder::create)
+ .build())
+ .option(ButtonOption.createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.dungeons.mapScreen"))
+ .text(Text.translatable("text.skyblocker.open"))
+ .action((screen, opt) -> MinecraftClient.getInstance().setScreen(new DungeonMapConfigScreen(screen)))
+ .build())
+ .build())
- //Dungeon Score
- .group(OptionGroup.createBuilder()
- .name(Text.translatable("skyblocker.option.locations.dungeons.dungeonScore"))
- .collapsed(true)
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.dungeons.dungeonScore.enableDungeonScoreMessage", 270))
- .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.dungeonScore.enableDungeonScoreMessage.@Tooltip", 270)))
- .binding(defaults.dungeons.dungeonScore.enableDungeonScore270Message,
- () -> config.dungeons.dungeonScore.enableDungeonScore270Message,
- newValue -> config.dungeons.dungeonScore.enableDungeonScore270Message = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.dungeons.dungeonScore.enableDungeonScoreTitle", 270))
- .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.dungeonScore.enableDungeonScoreTitle.@Tooltip", 270)))
- .binding(defaults.dungeons.dungeonScore.enableDungeonScore270Title,
- () -> config.dungeons.dungeonScore.enableDungeonScore270Title,
- newValue -> config.dungeons.dungeonScore.enableDungeonScore270Title = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.dungeons.dungeonScore.enableDungeonScoreSound", 270))
- .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.dungeonScore.enableDungeonScoreSound.@Tooltip", 270)))
- .binding(defaults.dungeons.dungeonScore.enableDungeonScore270Sound,
- () -> config.dungeons.dungeonScore.enableDungeonScore270Sound,
- newValue -> config.dungeons.dungeonScore.enableDungeonScore270Sound = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<String>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.dungeons.dungeonScore.dungeonScoreMessage", 270))
- .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.dungeonScore.dungeonScoreMessage.@Tooltip", 270, 270)))
- .binding(defaults.dungeons.dungeonScore.dungeonScore270Message,
- () -> config.dungeons.dungeonScore.dungeonScore270Message,
- newValue -> config.dungeons.dungeonScore.dungeonScore270Message = newValue)
- .controller(StringControllerBuilder::create)
- .build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.dungeons.dungeonScore.enableDungeonScoreMessage", 300))
- .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.dungeonScore.enableDungeonScoreMessage.@Tooltip", 300)))
- .binding(defaults.dungeons.dungeonScore.enableDungeonScore300Message,
- () -> config.dungeons.dungeonScore.enableDungeonScore300Message,
- newValue -> config.dungeons.dungeonScore.enableDungeonScore300Message = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.dungeons.dungeonScore.enableDungeonScoreTitle", 300))
- .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.dungeonScore.enableDungeonScoreTitle.@Tooltip", 300)))
- .binding(defaults.dungeons.dungeonScore.enableDungeonScore300Title,
- () -> config.dungeons.dungeonScore.enableDungeonScore300Title,
- newValue -> config.dungeons.dungeonScore.enableDungeonScore300Title = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.dungeons.dungeonScore.enableDungeonScoreSound", 300))
- .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.dungeonScore.enableDungeonScoreSound.@Tooltip", 300)))
- .binding(defaults.dungeons.dungeonScore.enableDungeonScore300Sound,
- () -> config.dungeons.dungeonScore.enableDungeonScore300Sound,
- newValue -> config.dungeons.dungeonScore.enableDungeonScore300Sound = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<String>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.dungeons.dungeonScore.dungeonScoreMessage", 300))
- .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.dungeonScore.dungeonScoreMessage.@Tooltip", 300, 300)))
- .binding(defaults.dungeons.dungeonScore.dungeonScore300Message,
- () -> config.dungeons.dungeonScore.dungeonScore300Message,
- newValue -> config.dungeons.dungeonScore.dungeonScore300Message = newValue)
- .controller(StringControllerBuilder::create)
- .build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.dungeons.dungeonScore.enableDungeonCryptsMessage"))
- .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.dungeonScore.enableDungeonCryptsMessage.@Tooltip")))
- .binding(defaults.dungeons.dungeonScore.enableDungeonCryptsMessage,
- () -> config.dungeons.dungeonScore.enableDungeonCryptsMessage,
- newValue -> config.dungeons.dungeonScore.enableDungeonCryptsMessage = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Integer>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.dungeons.dungeonScore.dungeonCryptsMessageThreshold"))
- .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.dungeonScore.dungeonCryptsMessageThreshold.@Tooltip")))
- .binding(defaults.dungeons.dungeonScore.dungeonCryptsMessageThreshold,
- () -> config.dungeons.dungeonScore.dungeonCryptsMessageThreshold,
- newValue -> config.dungeons.dungeonScore.dungeonCryptsMessageThreshold = newValue)
- .controller(IntegerFieldControllerBuilder::create)
- .build())
- .option(Option.<String>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.dungeons.dungeonScore.dungeonCryptsMessage"))
- .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.dungeonScore.dungeonCryptsMessage.@Tooltip")))
- .binding(defaults.dungeons.dungeonScore.dungeonCryptsMessage,
- () -> config.dungeons.dungeonScore.dungeonCryptsMessage,
- newValue -> config.dungeons.dungeonScore.dungeonCryptsMessage = newValue)
- .controller(StringControllerBuilder::create)
- .build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.dungeons.dungeonScore.enableScoreHUD"))
- .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.dungeonScore.enableScoreHUD.@Tooltip"), Text.translatable("skyblocker.option.locations.dungeons.dungeonScore.enableScoreHUD.deathMessagesNote")))
- .binding(defaults.dungeons.dungeonScore.enableScoreHUD,
- () -> config.dungeons.dungeonScore.enableScoreHUD,
- newValue -> config.dungeons.dungeonScore.enableScoreHUD = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Float>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.dungeons.dungeonScore.scoreScaling"))
- .binding(defaults.dungeons.dungeonScore.scoreScaling,
- () -> config.dungeons.dungeonScore.scoreScaling,
- newValue -> {
- config.dungeons.dungeonScore.scoreX = config.dungeons.dungeonScore.scoreX + (int) ((config.dungeons.dungeonScore.scoreScaling - newValue) * 38.0);
- config.dungeons.dungeonScore.scoreY = config.dungeons.dungeonScore.scoreY + (int) ((config.dungeons.dungeonScore.scoreScaling - newValue) * MinecraftClient.getInstance().textRenderer.fontHeight / 2.0);
- config.dungeons.dungeonScore.scoreScaling = newValue;
- })
- .controller(FloatFieldControllerBuilder::create)
- .build())
- .build())
+ // Puzzle Solver
+ .group(OptionGroup.createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.dungeons.puzzle"))
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.dungeons.solveTicTacToe"))
+ .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.solveTicTacToe.@Tooltip")))
+ .binding(defaults.dungeons.puzzleSolver.solveTicTacToe,
+ () -> config.dungeons.puzzleSolver.solveTicTacToe,
+ newValue -> config.dungeons.puzzleSolver.solveTicTacToe = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.dungeons.solveThreeWeirdos"))
+ .binding(defaults.dungeons.puzzleSolver.solveThreeWeirdos,
+ () -> config.dungeons.puzzleSolver.solveThreeWeirdos,
+ newValue -> config.dungeons.puzzleSolver.solveThreeWeirdos = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.dungeons.creeperSolver"))
+ .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.creeperSolver.@Tooltip")))
+ .binding(defaults.dungeons.puzzleSolver.creeperSolver,
+ () -> config.dungeons.puzzleSolver.creeperSolver,
+ newValue -> config.dungeons.puzzleSolver.creeperSolver = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.dungeons.solveWaterboard"))
+ .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.solveWaterboard.@Tooltip")))
+ .binding(defaults.dungeons.puzzleSolver.solveWaterboard,
+ () -> config.dungeons.puzzleSolver.solveWaterboard,
+ newValue -> config.dungeons.puzzleSolver.solveWaterboard = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.dungeons.blazeSolver"))
+ .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.blazeSolver.@Tooltip")))
+ .binding(defaults.dungeons.puzzleSolver.blazeSolver,
+ () -> config.dungeons.puzzleSolver.blazeSolver,
+ newValue -> config.dungeons.puzzleSolver.blazeSolver = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.dungeons.solveBoulder"))
+ .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.solveBoulder.@Tooltip")))
+ .binding(defaults.dungeons.puzzleSolver.solveBoulder,
+ () -> config.dungeons.puzzleSolver.solveBoulder,
+ newValue -> config.dungeons.puzzleSolver.solveBoulder = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.dungeons.solveIceFill"))
+ .binding(defaults.dungeons.puzzleSolver.solveIceFill,
+ () -> config.dungeons.puzzleSolver.solveIceFill,
+ newValue -> config.dungeons.puzzleSolver.solveIceFill = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.dungeons.solveSilverfish"))
+ .binding(defaults.dungeons.puzzleSolver.solveSilverfish,
+ () -> config.dungeons.puzzleSolver.solveSilverfish,
+ newValue -> config.dungeons.puzzleSolver.solveSilverfish = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.dungeons.solveTrivia"))
+ .binding(defaults.dungeons.puzzleSolver.solveTrivia,
+ () -> config.dungeons.puzzleSolver.solveTrivia,
+ newValue -> config.dungeons.puzzleSolver.solveTrivia = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .build())
- //Dungeon Chest Profit
- .group(OptionGroup.createBuilder()
- .name(Text.translatable("skyblocker.option.locations.dungeons.dungeonChestProfit"))
- .collapsed(true)
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.dungeons.dungeonChestProfit.enableProfitCalculator"))
- .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.dungeonChestProfit.enableProfitCalculator.@Tooltip")))
- .binding(defaults.dungeons.dungeonChestProfit.enableProfitCalculator,
- () -> config.dungeons.dungeonChestProfit.enableProfitCalculator,
- newValue -> config.dungeons.dungeonChestProfit.enableProfitCalculator = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.dungeons.dungeonChestProfit.includeKismet"))
- .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.dungeonChestProfit.includeKismet.@Tooltip")))
- .binding(defaults.dungeons.dungeonChestProfit.includeKismet,
- () -> config.dungeons.dungeonChestProfit.includeKismet,
- newValue -> config.dungeons.dungeonChestProfit.includeKismet = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.dungeons.dungeonChestProfit.includeEssence"))
- .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.dungeonChestProfit.includeEssence.@Tooltip")))
- .binding(defaults.dungeons.dungeonChestProfit.includeEssence,
- () -> config.dungeons.dungeonChestProfit.includeEssence,
- newValue -> config.dungeons.dungeonChestProfit.includeEssence = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.dungeons.dungeonChestProfit.croesusProfit"))
- .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.dungeonChestProfit.croesusProfit.@Tooltip")))
- .binding(defaults.dungeons.dungeonChestProfit.croesusProfit,
- () -> config.dungeons.dungeonChestProfit.croesusProfit,
- newValue -> config.dungeons.dungeonChestProfit.croesusProfit = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Integer>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.dungeons.dungeonChestProfit.neutralThreshold"))
- .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.dungeonChestProfit.neutralThreshold.@Tooltip")))
- .binding(defaults.dungeons.dungeonChestProfit.neutralThreshold,
- () -> config.dungeons.dungeonChestProfit.neutralThreshold,
- newValue -> config.dungeons.dungeonChestProfit.neutralThreshold = newValue)
- .controller(IntegerFieldControllerBuilder::create)
- .build())
- .option(Option.<Formatting>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.dungeons.dungeonChestProfit.neutralColor"))
- .binding(defaults.dungeons.dungeonChestProfit.neutralColor,
- () -> config.dungeons.dungeonChestProfit.neutralColor,
- newValue -> config.dungeons.dungeonChestProfit.neutralColor = newValue)
- .controller(ConfigUtils.getEnumDropdownControllerFactory(ConfigUtils.FORMATTING_FORMATTER))
- .build())
- .option(Option.<Formatting>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.dungeons.dungeonChestProfit.profitColor"))
- .binding(defaults.dungeons.dungeonChestProfit.profitColor,
- () -> config.dungeons.dungeonChestProfit.profitColor,
- newValue -> config.dungeons.dungeonChestProfit.profitColor = newValue)
- .controller(ConfigUtils.getEnumDropdownControllerFactory(ConfigUtils.FORMATTING_FORMATTER))
- .build())
- .option(Option.<Formatting>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.dungeons.dungeonChestProfit.lossColor"))
- .binding(defaults.dungeons.dungeonChestProfit.lossColor,
- () -> config.dungeons.dungeonChestProfit.lossColor,
- newValue -> config.dungeons.dungeonChestProfit.lossColor = newValue)
- .controller(ConfigUtils.getEnumDropdownControllerFactory(ConfigUtils.FORMATTING_FORMATTER))
- .build())
- .option(Option.<Formatting>createBuilder()
- .name(Text.translatable("skyblocker.option.general.chestValue.incompleteColor"))
- .description(OptionDescription.of(Text.translatable("skyblocker.option.general.chestValue.incompleteColor.@Tooltip")))
- .binding(defaults.dungeons.dungeonChestProfit.incompleteColor,
- () -> config.dungeons.dungeonChestProfit.incompleteColor,
- newValue -> config.dungeons.dungeonChestProfit.incompleteColor = newValue)
- .controller(ConfigUtils.getEnumDropdownControllerFactory(ConfigUtils.FORMATTING_FORMATTER))
- .build())
- .build())
+ // The Professor (F3/M3)
+ .group(OptionGroup.createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.dungeons.professor"))
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.dungeons.fireFreezeStaffTimer"))
+ .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.fireFreezeStaffTimer.@Tooltip")))
+ .binding(defaults.dungeons.theProfessor.fireFreezeStaffTimer,
+ () -> config.dungeons.theProfessor.fireFreezeStaffTimer,
+ newValue -> config.dungeons.theProfessor.fireFreezeStaffTimer = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.dungeons.floor3GuardianHealthDisplay"))
+ .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.floor3GuardianHealthDisplay.@Tooltip")))
+ .binding(defaults.dungeons.theProfessor.floor3GuardianHealthDisplay,
+ () -> config.dungeons.theProfessor.floor3GuardianHealthDisplay,
+ newValue -> config.dungeons.theProfessor.floor3GuardianHealthDisplay = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .build())
- //Others
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.dungeons.croesusHelper"))
- .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.croesusHelper.@Tooltip")))
- .binding(defaults.dungeons.croesusHelper,
- () -> config.dungeons.croesusHelper,
- newValue -> config.dungeons.croesusHelper = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.dungeons.enableMap"))
- .binding(defaults.dungeons.dungeonMap.enableMap,
- () -> config.dungeons.dungeonMap.enableMap,
- newValue -> config.dungeons.dungeonMap.enableMap = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(ButtonOption.createBuilder()
- .name(Text.translatable("skyblocker.option.locations.dungeons.mapScreen"))
- .text(Text.translatable("text.skyblocker.open"))
- .action((screen, opt) -> MinecraftClient.getInstance().setScreen(new DungeonMapConfigScreen(screen)))
- .build())
- .option(Option.<Float>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.dungeons.mapScaling"))
- .binding(defaults.dungeons.dungeonMap.mapScaling,
- () -> config.dungeons.dungeonMap.mapScaling,
- newValue -> config.dungeons.dungeonMap.mapScaling = newValue)
- .controller(FloatFieldControllerBuilder::create)
- .build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.dungeons.playerSecretsTracker"))
- .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.playerSecretsTracker.@Tooltip")))
- .binding(defaults.dungeons.playerSecretsTracker,
- () -> config.dungeons.playerSecretsTracker,
- newValue -> config.dungeons.playerSecretsTracker = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.dungeons.starredMobGlow"))
- .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.starredMobGlow.@Tooltip")))
- .binding(defaults.dungeons.starredMobGlow,
- () -> config.dungeons.starredMobGlow,
- newValue -> config.dungeons.starredMobGlow = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.dungeons.starredMobBoundingBoxes"))
- .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.starredMobBoundingBoxes.@Tooltip")))
- .binding(defaults.dungeons.starredMobBoundingBoxes,
- () -> config.dungeons.starredMobBoundingBoxes,
- newValue -> config.dungeons.starredMobBoundingBoxes = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.dungeons.solveThreeWeirdos"))
- .binding(defaults.dungeons.puzzleSolver.solveThreeWeirdos,
- () -> config.dungeons.puzzleSolver.solveThreeWeirdos,
- newValue -> config.dungeons.puzzleSolver.solveThreeWeirdos = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.dungeons.blazeSolver"))
- .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.blazeSolver.@Tooltip")))
- .binding(defaults.dungeons.puzzleSolver.blazeSolver,
- () -> config.dungeons.puzzleSolver.blazeSolver,
- newValue -> config.dungeons.puzzleSolver.blazeSolver = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.dungeons.creeperSolver"))
- .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.creeperSolver.@Tooltip")))
- .binding(defaults.dungeons.puzzleSolver.creeperSolver,
- () -> config.dungeons.puzzleSolver.creeperSolver,
- newValue -> config.dungeons.puzzleSolver.creeperSolver = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.dungeons.solveTrivia"))
- .binding(defaults.dungeons.puzzleSolver.solveTrivia,
- () -> config.dungeons.puzzleSolver.solveTrivia,
- newValue -> config.dungeons.puzzleSolver.solveTrivia = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.dungeons.solveTicTacToe"))
- .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.solveTicTacToe.@Tooltip")))
- .binding(defaults.dungeons.puzzleSolver.solveTicTacToe,
- () -> config.dungeons.puzzleSolver.solveTicTacToe,
- newValue -> config.dungeons.puzzleSolver.solveTicTacToe = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.dungeons.solveWaterboard"))
- .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.solveWaterboard.@Tooltip")))
- .binding(defaults.dungeons.puzzleSolver.solveWaterboard,
- () -> config.dungeons.puzzleSolver.solveWaterboard,
- newValue -> config.dungeons.puzzleSolver.solveWaterboard = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.dungeons.solveBoulder"))
- .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.solveBoulder.@Tooltip")))
- .binding(defaults.dungeons.puzzleSolver.solveBoulder,
- () -> config.dungeons.puzzleSolver.solveBoulder,
- newValue -> config.dungeons.puzzleSolver.solveBoulder = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.dungeons.solveIceFill"))
- .binding(defaults.dungeons.puzzleSolver.solveIceFill,
- () -> config.dungeons.puzzleSolver.solveIceFill,
- newValue -> config.dungeons.puzzleSolver.solveIceFill = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.dungeons.solveSilverfish"))
- .binding(defaults.dungeons.puzzleSolver.solveSilverfish,
- () -> config.dungeons.puzzleSolver.solveSilverfish,
- newValue -> config.dungeons.puzzleSolver.solveSilverfish = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.dungeons.fireFreezeStaffTimer"))
- .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.fireFreezeStaffTimer.@Tooltip")))
- .binding(defaults.dungeons.theProfessor.fireFreezeStaffTimer,
- () -> config.dungeons.theProfessor.fireFreezeStaffTimer,
- newValue -> config.dungeons.theProfessor.fireFreezeStaffTimer = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.dungeons.floor3GuardianHealthDisplay"))
- .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.floor3GuardianHealthDisplay.@Tooltip")))
- .binding(defaults.dungeons.theProfessor.floor3GuardianHealthDisplay,
- () -> config.dungeons.theProfessor.floor3GuardianHealthDisplay,
- newValue -> config.dungeons.theProfessor.floor3GuardianHealthDisplay = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.dungeons.allowDroppingProtectedItems"))
- .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.allowDroppingProtectedItems.@Tooltip")))
- .binding(defaults.dungeons.allowDroppingProtectedItems,
- () -> config.dungeons.allowDroppingProtectedItems,
- newValue -> config.dungeons.allowDroppingProtectedItems = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
+ // Livid (F5/M5)
+ .group(OptionGroup.createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.dungeons.livid"))
+ .collapsed(true)
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.dungeons.lividColor.enableLividColorGlow"))
+ .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.lividColor.enableLividColorGlow.@Tooltip")))
+ .binding(defaults.dungeons.livid.enableLividColorGlow,
+ () -> config.dungeons.livid.enableLividColorGlow,
+ newValue -> config.dungeons.livid.enableLividColorGlow = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.dungeons.lividColor.enableLividColorText"))
+ .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.lividColor.enableLividColorText.@Tooltip")))
+ .binding(defaults.dungeons.livid.enableLividColorText,
+ () -> config.dungeons.livid.enableLividColorText,
+ newValue -> config.dungeons.livid.enableLividColorText = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.dungeons.lividColor.enableLividColorTitle"))
+ .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.lividColor.enableLividColorTitle.@Tooltip")))
+ .binding(defaults.dungeons.livid.enableLividColorTitle,
+ () -> config.dungeons.livid.enableLividColorTitle,
+ newValue -> config.dungeons.livid.enableLividColorTitle = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<String>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.dungeons.lividColor.lividColorText"))
+ .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.lividColor.lividColorText.@Tooltip")))
+ .binding(defaults.dungeons.livid.lividColorText,
+ () -> config.dungeons.livid.lividColorText,
+ newValue -> config.dungeons.livid.lividColorText = newValue)
+ .controller(StringControllerBuilder::create)
+ .build())
+ .build())
- //Mimic Message
- .group(OptionGroup.createBuilder()
- .name(Text.translatable("skyblocker.option.locations.dungeons.mimicMessage"))
- .collapsed(true)
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.dungeons.mimicMessage.sendMimicMessage"))
- .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.mimicMessage.sendMimicMessage.@Tooltip")))
- .binding(defaults.dungeons.mimicMessage.sendMimicMessage,
- () -> config.dungeons.mimicMessage.sendMimicMessage,
- newValue -> config.dungeons.mimicMessage.sendMimicMessage = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<String>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.dungeons.mimicMessage.mimicMessage"))
- .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.mimicMessage.mimicMessage.@Tooltip")))
- .binding(defaults.dungeons.mimicMessage.mimicMessage,
- () -> config.dungeons.mimicMessage.mimicMessage,
- newValue -> config.dungeons.mimicMessage.mimicMessage = newValue)
- .controller(StringControllerBuilder::create)
- .build())
- .build())
+ // Terminal (F7/M7)
+ .group(OptionGroup.createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.dungeons.terminals"))
+ .collapsed(true)
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.dungeons.terminals.solveColor"))
+ .binding(defaults.dungeons.terminals.solveColor,
+ () -> config.dungeons.terminals.solveColor,
+ newValue -> config.dungeons.terminals.solveColor = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.dungeons.terminals.solveOrder"))
+ .binding(defaults.dungeons.terminals.solveOrder,
+ () -> config.dungeons.terminals.solveOrder,
+ newValue -> config.dungeons.terminals.solveOrder = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.dungeons.terminals.solveStartsWith"))
+ .binding(defaults.dungeons.terminals.solveStartsWith,
+ () -> config.dungeons.terminals.solveStartsWith,
+ newValue -> config.dungeons.terminals.solveStartsWith = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .build())
- //Livid Color
- .group(OptionGroup.createBuilder()
- .name(Text.translatable("skyblocker.option.locations.dungeons.lividColor"))
- .collapsed(true)
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.dungeons.lividColor.enableLividColorGlow"))
- .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.lividColor.enableLividColorGlow.@Tooltip")))
- .binding(defaults.dungeons.livid.enableLividColorGlow,
- () -> config.dungeons.livid.enableLividColorGlow,
- newValue -> config.dungeons.livid.enableLividColorGlow = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.dungeons.lividColor.enableLividColorText"))
- .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.lividColor.enableLividColorText.@Tooltip")))
- .binding(defaults.dungeons.livid.enableLividColorText,
- () -> config.dungeons.livid.enableLividColorText,
- newValue -> config.dungeons.livid.enableLividColorText = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.dungeons.lividColor.enableLividColorTitle"))
- .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.lividColor.enableLividColorTitle.@Tooltip")))
- .binding(defaults.dungeons.livid.enableLividColorTitle,
- () -> config.dungeons.livid.enableLividColorTitle,
- newValue -> config.dungeons.livid.enableLividColorTitle = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<String>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.dungeons.lividColor.lividColorText"))
- .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.lividColor.lividColorText.@Tooltip")))
- .binding(defaults.dungeons.livid.lividColorText,
- () -> config.dungeons.livid.lividColorText,
- newValue -> config.dungeons.livid.lividColorText = newValue)
- .controller(StringControllerBuilder::create)
- .build())
- .build())
+ // Dungeon Secret Waypoints
+ .group(OptionGroup.createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.dungeons.secretWaypoints"))
+ .collapsed(true)
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.dungeons.secretWaypoints.enableRoomMatching"))
+ .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.secretWaypoints.enableRoomMatching.@Tooltip")))
+ .binding(defaults.dungeons.secretWaypoints.enableRoomMatching,
+ () -> config.dungeons.secretWaypoints.enableRoomMatching,
+ newValue -> config.dungeons.secretWaypoints.enableRoomMatching = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .flag(OptionFlag.GAME_RESTART)
+ .build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.dungeons.secretWaypoints.enableSecretWaypoints"))
+ .binding(defaults.dungeons.secretWaypoints.enableSecretWaypoints,
+ () -> config.dungeons.secretWaypoints.enableSecretWaypoints,
+ newValue -> config.dungeons.secretWaypoints.enableSecretWaypoints = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Type>createBuilder()
+ .name(Text.translatable("skyblocker.option.general.waypoints.waypointType"))
+ .description(OptionDescription.of(Text.translatable("skyblocker.option.general.waypoints.waypointType.@Tooltip")))
+ .binding(defaults.dungeons.secretWaypoints.waypointType,
+ () -> config.dungeons.secretWaypoints.waypointType,
+ newValue -> config.dungeons.secretWaypoints.waypointType = newValue)
+ .controller(ConfigUtils::createEnumCyclingListController)
+ .build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.dungeons.secretWaypoints.showSecretText"))
+ .binding(defaults.dungeons.secretWaypoints.showSecretText,
+ () -> config.dungeons.secretWaypoints.showSecretText,
+ newValue -> config.dungeons.secretWaypoints.showSecretText = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.dungeons.secretWaypoints.enableEntranceWaypoints"))
+ .binding(defaults.dungeons.secretWaypoints.enableEntranceWaypoints,
+ () -> config.dungeons.secretWaypoints.enableEntranceWaypoints,
+ newValue -> config.dungeons.secretWaypoints.enableEntranceWaypoints = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.dungeons.secretWaypoints.enableSuperboomWaypoints"))
+ .binding(defaults.dungeons.secretWaypoints.enableSuperboomWaypoints,
+ () -> config.dungeons.secretWaypoints.enableSuperboomWaypoints,
+ newValue -> config.dungeons.secretWaypoints.enableSuperboomWaypoints = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.dungeons.secretWaypoints.enableChestWaypoints"))
+ .binding(defaults.dungeons.secretWaypoints.enableChestWaypoints,
+ () -> config.dungeons.secretWaypoints.enableChestWaypoints,
+ newValue -> config.dungeons.secretWaypoints.enableChestWaypoints = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.dungeons.secretWaypoints.enableItemWaypoints"))
+ .binding(defaults.dungeons.secretWaypoints.enableItemWaypoints,
+ () -> config.dungeons.secretWaypoints.enableItemWaypoints,
+ newValue -> config.dungeons.secretWaypoints.enableItemWaypoints = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.dungeons.secretWaypoints.enableBatWaypoints"))
+ .binding(defaults.dungeons.secretWaypoints.enableBatWaypoints,
+ () -> config.dungeons.secretWaypoints.enableBatWaypoints,
+ newValue -> config.dungeons.secretWaypoints.enableBatWaypoints = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.dungeons.secretWaypoints.enableWitherWaypoints"))
+ .binding(defaults.dungeons.secretWaypoints.enableWitherWaypoints,
+ () -> config.dungeons.secretWaypoints.enableWitherWaypoints,
+ newValue -> config.dungeons.secretWaypoints.enableWitherWaypoints = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.dungeons.secretWaypoints.enableLeverWaypoints"))
+ .binding(defaults.dungeons.secretWaypoints.enableLeverWaypoints,
+ () -> config.dungeons.secretWaypoints.enableLeverWaypoints,
+ newValue -> config.dungeons.secretWaypoints.enableLeverWaypoints = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.dungeons.secretWaypoints.enableFairySoulWaypoints"))
+ .binding(defaults.dungeons.secretWaypoints.enableFairySoulWaypoints,
+ () -> config.dungeons.secretWaypoints.enableFairySoulWaypoints,
+ newValue -> config.dungeons.secretWaypoints.enableFairySoulWaypoints = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.dungeons.secretWaypoints.enableStonkWaypoints"))
+ .binding(defaults.dungeons.secretWaypoints.enableStonkWaypoints,
+ () -> config.dungeons.secretWaypoints.enableStonkWaypoints,
+ newValue -> config.dungeons.secretWaypoints.enableStonkWaypoints = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.dungeons.secretWaypoints.enableAotvWaypoints"))
+ .binding(defaults.dungeons.secretWaypoints.enableAotvWaypoints,
+ () -> config.dungeons.secretWaypoints.enableAotvWaypoints,
+ newValue -> config.dungeons.secretWaypoints.enableAotvWaypoints = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.dungeons.secretWaypoints.enablePearlWaypoints"))
+ .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.secretWaypoints.enablePearlWaypoints.@Tooltip")))
+ .binding(defaults.dungeons.secretWaypoints.enablePearlWaypoints,
+ () -> config.dungeons.secretWaypoints.enablePearlWaypoints,
+ newValue -> config.dungeons.secretWaypoints.enablePearlWaypoints = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.dungeons.secretWaypoints.enableDefaultWaypoints"))
+ .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.secretWaypoints.enableDefaultWaypoints.@Tooltip")))
+ .binding(defaults.dungeons.secretWaypoints.enableDefaultWaypoints,
+ () -> config.dungeons.secretWaypoints.enableDefaultWaypoints,
+ newValue -> config.dungeons.secretWaypoints.enableDefaultWaypoints = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .build())
- //Terminal Solvers
- .group(OptionGroup.createBuilder()
- .name(Text.translatable("skyblocker.option.locations.dungeons.terminals"))
- .collapsed(true)
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.dungeons.terminals.solveColor"))
- .binding(defaults.dungeons.terminals.solveColor,
- () -> config.dungeons.terminals.solveColor,
- newValue -> config.dungeons.terminals.solveColor = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.dungeons.terminals.solveOrder"))
- .binding(defaults.dungeons.terminals.solveOrder,
- () -> config.dungeons.terminals.solveOrder,
- newValue -> config.dungeons.terminals.solveOrder = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.dungeons.terminals.solveStartsWith"))
- .binding(defaults.dungeons.terminals.solveStartsWith,
- () -> config.dungeons.terminals.solveStartsWith,
- newValue -> config.dungeons.terminals.solveStartsWith = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .build())
- .build();
- }
+ // Mimic Message
+ .group(OptionGroup.createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.dungeons.mimicMessage"))
+ .collapsed(true)
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.dungeons.mimicMessage.sendMimicMessage"))
+ .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.mimicMessage.sendMimicMessage.@Tooltip")))
+ .binding(defaults.dungeons.mimicMessage.sendMimicMessage,
+ () -> config.dungeons.mimicMessage.sendMimicMessage,
+ newValue -> config.dungeons.mimicMessage.sendMimicMessage = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<String>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.dungeons.mimicMessage.mimicMessage"))
+ .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.mimicMessage.mimicMessage.@Tooltip")))
+ .binding(defaults.dungeons.mimicMessage.mimicMessage,
+ () -> config.dungeons.mimicMessage.mimicMessage,
+ newValue -> config.dungeons.mimicMessage.mimicMessage = newValue)
+ .controller(StringControllerBuilder::create)
+ .build())
+ .build())
+
+ // Door Highlight
+ .group(OptionGroup.createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.dungeons.doorHighlight"))
+ .collapsed(true)
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.dungeons.doorHighlight.enableDoorHighlight"))
+ .binding(defaults.dungeons.doorHighlight.enableDoorHighlight,
+ () -> config.dungeons.doorHighlight.enableDoorHighlight,
+ newValue -> config.dungeons.doorHighlight.enableDoorHighlight = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<DungeonsConfig.DoorHighlight.Type>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.dungeons.doorHighlight.doorHighlightType"))
+ .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.doorHighlight.doorHighlightType.@Tooltip"), Text.translatable("skyblocker.option.locations.dungeons.doorHighlight.doorHighlightType.secretWaypointsNote")))
+ .binding(defaults.dungeons.doorHighlight.doorHighlightType,
+ () -> config.dungeons.doorHighlight.doorHighlightType,
+ newValue -> config.dungeons.doorHighlight.doorHighlightType = newValue)
+ .controller(ConfigUtils::createEnumCyclingListController)
+ .build())
+ .build())
+
+ // Dungeon Score
+ .group(OptionGroup.createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.dungeons.dungeonScore"))
+ .collapsed(true)
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.dungeons.dungeonScore.enableDungeonScoreMessage", 270))
+ .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.dungeonScore.enableDungeonScoreMessage.@Tooltip", 270)))
+ .binding(defaults.dungeons.dungeonScore.enableDungeonScore270Message,
+ () -> config.dungeons.dungeonScore.enableDungeonScore270Message,
+ newValue -> config.dungeons.dungeonScore.enableDungeonScore270Message = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.dungeons.dungeonScore.enableDungeonScoreTitle", 270))
+ .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.dungeonScore.enableDungeonScoreTitle.@Tooltip", 270)))
+ .binding(defaults.dungeons.dungeonScore.enableDungeonScore270Title,
+ () -> config.dungeons.dungeonScore.enableDungeonScore270Title,
+ newValue -> config.dungeons.dungeonScore.enableDungeonScore270Title = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.dungeons.dungeonScore.enableDungeonScoreSound", 270))
+ .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.dungeonScore.enableDungeonScoreSound.@Tooltip", 270)))
+ .binding(defaults.dungeons.dungeonScore.enableDungeonScore270Sound,
+ () -> config.dungeons.dungeonScore.enableDungeonScore270Sound,
+ newValue -> config.dungeons.dungeonScore.enableDungeonScore270Sound = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<String>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.dungeons.dungeonScore.dungeonScoreMessage", 270))
+ .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.dungeonScore.dungeonScoreMessage.@Tooltip", 270, 270)))
+ .binding(defaults.dungeons.dungeonScore.dungeonScore270Message,
+ () -> config.dungeons.dungeonScore.dungeonScore270Message,
+ newValue -> config.dungeons.dungeonScore.dungeonScore270Message = newValue)
+ .controller(StringControllerBuilder::create)
+ .build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.dungeons.dungeonScore.enableDungeonScoreMessage", 300))
+ .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.dungeonScore.enableDungeonScoreMessage.@Tooltip", 300)))
+ .binding(defaults.dungeons.dungeonScore.enableDungeonScore300Message,
+ () -> config.dungeons.dungeonScore.enableDungeonScore300Message,
+ newValue -> config.dungeons.dungeonScore.enableDungeonScore300Message = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.dungeons.dungeonScore.enableDungeonScoreTitle", 300))
+ .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.dungeonScore.enableDungeonScoreTitle.@Tooltip", 300)))
+ .binding(defaults.dungeons.dungeonScore.enableDungeonScore300Title,
+ () -> config.dungeons.dungeonScore.enableDungeonScore300Title,
+ newValue -> config.dungeons.dungeonScore.enableDungeonScore300Title = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.dungeons.dungeonScore.enableDungeonScoreSound", 300))
+ .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.dungeonScore.enableDungeonScoreSound.@Tooltip", 300)))
+ .binding(defaults.dungeons.dungeonScore.enableDungeonScore300Sound,
+ () -> config.dungeons.dungeonScore.enableDungeonScore300Sound,
+ newValue -> config.dungeons.dungeonScore.enableDungeonScore300Sound = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<String>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.dungeons.dungeonScore.dungeonScoreMessage", 300))
+ .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.dungeonScore.dungeonScoreMessage.@Tooltip", 300, 300)))
+ .binding(defaults.dungeons.dungeonScore.dungeonScore300Message,
+ () -> config.dungeons.dungeonScore.dungeonScore300Message,
+ newValue -> config.dungeons.dungeonScore.dungeonScore300Message = newValue)
+ .controller(StringControllerBuilder::create)
+ .build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.dungeons.dungeonScore.enableDungeonCryptsMessage"))
+ .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.dungeonScore.enableDungeonCryptsMessage.@Tooltip")))
+ .binding(defaults.dungeons.dungeonScore.enableDungeonCryptsMessage,
+ () -> config.dungeons.dungeonScore.enableDungeonCryptsMessage,
+ newValue -> config.dungeons.dungeonScore.enableDungeonCryptsMessage = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Integer>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.dungeons.dungeonScore.dungeonCryptsMessageThreshold"))
+ .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.dungeonScore.dungeonCryptsMessageThreshold.@Tooltip")))
+ .binding(defaults.dungeons.dungeonScore.dungeonCryptsMessageThreshold,
+ () -> config.dungeons.dungeonScore.dungeonCryptsMessageThreshold,
+ newValue -> config.dungeons.dungeonScore.dungeonCryptsMessageThreshold = newValue)
+ .controller(IntegerFieldControllerBuilder::create)
+ .build())
+ .option(Option.<String>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.dungeons.dungeonScore.dungeonCryptsMessage"))
+ .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.dungeonScore.dungeonCryptsMessage.@Tooltip")))
+ .binding(defaults.dungeons.dungeonScore.dungeonCryptsMessage,
+ () -> config.dungeons.dungeonScore.dungeonCryptsMessage,
+ newValue -> config.dungeons.dungeonScore.dungeonCryptsMessage = newValue)
+ .controller(StringControllerBuilder::create)
+ .build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.dungeons.dungeonScore.enableScoreHUD"))
+ .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.dungeonScore.enableScoreHUD.@Tooltip"), Text.translatable("skyblocker.option.locations.dungeons.dungeonScore.enableScoreHUD.deathMessagesNote")))
+ .binding(defaults.dungeons.dungeonScore.enableScoreHUD,
+ () -> config.dungeons.dungeonScore.enableScoreHUD,
+ newValue -> config.dungeons.dungeonScore.enableScoreHUD = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Float>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.dungeons.dungeonScore.scoreScaling"))
+ .binding(defaults.dungeons.dungeonScore.scoreScaling,
+ () -> config.dungeons.dungeonScore.scoreScaling,
+ newValue -> {
+ config.dungeons.dungeonScore.scoreX = config.dungeons.dungeonScore.scoreX + (int) ((config.dungeons.dungeonScore.scoreScaling - newValue) * 38.0);
+ config.dungeons.dungeonScore.scoreY = config.dungeons.dungeonScore.scoreY + (int) ((config.dungeons.dungeonScore.scoreScaling - newValue) * MinecraftClient.getInstance().textRenderer.fontHeight / 2.0);
+ config.dungeons.dungeonScore.scoreScaling = newValue;
+ })
+ .controller(FloatFieldControllerBuilder::create)
+ .build())
+ .build())
+
+ // Dungeon Chest Profit Calculator
+ .group(OptionGroup.createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.dungeons.dungeonChestProfit"))
+ .collapsed(true)
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.dungeons.dungeonChestProfit.enableProfitCalculator"))
+ .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.dungeonChestProfit.enableProfitCalculator.@Tooltip")))
+ .binding(defaults.dungeons.dungeonChestProfit.enableProfitCalculator,
+ () -> config.dungeons.dungeonChestProfit.enableProfitCalculator,
+ newValue -> config.dungeons.dungeonChestProfit.enableProfitCalculator = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.dungeons.dungeonChestProfit.croesusProfit"))
+ .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.dungeonChestProfit.croesusProfit.@Tooltip")))
+ .binding(defaults.dungeons.dungeonChestProfit.croesusProfit,
+ () -> config.dungeons.dungeonChestProfit.croesusProfit,
+ newValue -> config.dungeons.dungeonChestProfit.croesusProfit = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.dungeons.dungeonChestProfit.includeKismet"))
+ .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.dungeonChestProfit.includeKismet.@Tooltip")))
+ .binding(defaults.dungeons.dungeonChestProfit.includeKismet,
+ () -> config.dungeons.dungeonChestProfit.includeKismet,
+ newValue -> config.dungeons.dungeonChestProfit.includeKismet = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.dungeons.dungeonChestProfit.includeEssence"))
+ .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.dungeonChestProfit.includeEssence.@Tooltip")))
+ .binding(defaults.dungeons.dungeonChestProfit.includeEssence,
+ () -> config.dungeons.dungeonChestProfit.includeEssence,
+ newValue -> config.dungeons.dungeonChestProfit.includeEssence = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ //FIXME maybe use color controller
+ .option(Option.<Integer>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.dungeons.dungeonChestProfit.neutralThreshold"))
+ .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.dungeonChestProfit.neutralThreshold.@Tooltip")))
+ .binding(defaults.dungeons.dungeonChestProfit.neutralThreshold,
+ () -> config.dungeons.dungeonChestProfit.neutralThreshold,
+ newValue -> config.dungeons.dungeonChestProfit.neutralThreshold = newValue)
+ .controller(IntegerFieldControllerBuilder::create)
+ .build())
+ .option(Option.<Formatting>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.dungeons.dungeonChestProfit.neutralColor"))
+ .binding(defaults.dungeons.dungeonChestProfit.neutralColor,
+ () -> config.dungeons.dungeonChestProfit.neutralColor,
+ newValue -> config.dungeons.dungeonChestProfit.neutralColor = newValue)
+ .controller(ConfigUtils.getEnumDropdownControllerFactory(ConfigUtils.FORMATTING_FORMATTER))
+ .build())
+ .option(Option.<Formatting>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.dungeons.dungeonChestProfit.profitColor"))
+ .binding(defaults.dungeons.dungeonChestProfit.profitColor,
+ () -> config.dungeons.dungeonChestProfit.profitColor,
+ newValue -> config.dungeons.dungeonChestProfit.profitColor = newValue)
+ .controller(ConfigUtils.getEnumDropdownControllerFactory(ConfigUtils.FORMATTING_FORMATTER))
+ .build())
+ .option(Option.<Formatting>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.dungeons.dungeonChestProfit.lossColor"))
+ .binding(defaults.dungeons.dungeonChestProfit.lossColor,
+ () -> config.dungeons.dungeonChestProfit.lossColor,
+ newValue -> config.dungeons.dungeonChestProfit.lossColor = newValue)
+ .controller(ConfigUtils.getEnumDropdownControllerFactory(ConfigUtils.FORMATTING_FORMATTER))
+ .build())
+ .option(Option.<Formatting>createBuilder()
+ .name(Text.translatable("skyblocker.option.general.chestValue.incompleteColor"))
+ .description(OptionDescription.of(Text.translatable("skyblocker.option.general.chestValue.incompleteColor.@Tooltip")))
+ .binding(defaults.dungeons.dungeonChestProfit.incompleteColor,
+ () -> config.dungeons.dungeonChestProfit.incompleteColor,
+ newValue -> config.dungeons.dungeonChestProfit.incompleteColor = newValue)
+ .controller(ConfigUtils.getEnumDropdownControllerFactory(ConfigUtils.FORMATTING_FORMATTER))
+ .build())
+ .build())
+
+ .build();
+ }
}
diff --git a/src/main/java/de/hysky/skyblocker/config/categories/DwarvenMinesCategory.java b/src/main/java/de/hysky/skyblocker/config/categories/DwarvenMinesCategory.java
deleted file mode 100644
index 416fe62e..00000000
--- a/src/main/java/de/hysky/skyblocker/config/categories/DwarvenMinesCategory.java
+++ /dev/null
@@ -1,153 +0,0 @@
-package de.hysky.skyblocker.config.categories;
-
-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.controller.FloatFieldControllerBuilder;
-import dev.isxander.yacl3.api.controller.IntegerSliderControllerBuilder;
-import net.minecraft.client.MinecraftClient;
-import net.minecraft.text.Text;
-
-public class DwarvenMinesCategory {
-
- public static ConfigCategory create(SkyblockerConfig defaults, SkyblockerConfig config) {
- return ConfigCategory.createBuilder()
- .name(Text.translatable("skyblocker.option.locations.dwarvenMines"))
-
- //Uncategorized Options
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.dwarvenMines.enableDrillFuel"))
- .binding(defaults.mining.enableDrillFuel,
- () -> config.mining.enableDrillFuel,
- newValue -> config.mining.enableDrillFuel = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.dwarvenMines.solveFetchur"))
- .binding(defaults.mining.dwarvenMines.solveFetchur,
- () -> config.mining.dwarvenMines.solveFetchur,
- newValue -> config.mining.dwarvenMines.solveFetchur = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.dwarvenMines.solvePuzzler"))
- .binding(defaults.mining.dwarvenMines.solvePuzzler,
- () -> config.mining.dwarvenMines.solvePuzzler,
- newValue -> config.mining.dwarvenMines.solvePuzzler = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.dwarvenMines.metalDetectorHelper"))
- .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dwarvenMines.metalDetectorHelper.@Tooltip")))
- .binding(defaults.mining.crystalHollows.metalDetectorHelper,
- () -> config.mining.crystalHollows.metalDetectorHelper,
- newValue -> config.mining.crystalHollows.metalDetectorHelper = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
-
- //Dwarven HUD
- .group(OptionGroup.createBuilder()
- .name(Text.translatable("skyblocker.option.locations.dwarvenMines.dwarvenHud"))
- .collapsed(false)
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.dwarvenMines.dwarvenHud.enabledCommissions"))
- .binding(defaults.mining.dwarvenHud.enabledCommissions,
- () -> config.mining.dwarvenHud.enabledCommissions,
- newValue -> config.mining.dwarvenHud.enabledCommissions = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.dwarvenMines.dwarvenHud.enabledPowder"))
- .binding(defaults.mining.dwarvenHud.enabledPowder,
- () -> config.mining.dwarvenHud.enabledPowder,
- newValue -> config.mining.dwarvenHud.enabledPowder = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<MiningConfig.DwarvenHudStyle>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.dwarvenMines.dwarvenHud.style"))
- .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dwarvenMines.dwarvenHud.style.@Tooltip[0]"),
- Text.translatable("skyblocker.option.locations.dwarvenMines.dwarvenHud.style.@Tooltip[1]"),
- Text.translatable("skyblocker.option.locations.dwarvenMines.dwarvenHud.style.@Tooltip[2]")))
- .binding(defaults.mining.dwarvenHud.style,
- () -> config.mining.dwarvenHud.style,
- newValue -> config.mining.dwarvenHud.style = newValue)
- .controller(ConfigUtils::createEnumCyclingListController)
- .build())
- .option(ButtonOption.createBuilder()
- .name(Text.translatable("skyblocker.option.locations.dwarvenMines.dwarvenHud.screen"))
- .text(Text.translatable("text.skyblocker.open"))
- .action((screen, opt) -> MinecraftClient.getInstance().setScreen(new DwarvenHudConfigScreen(screen)))
- .build())
- .build())
- //crystal HUD
- .group(OptionGroup.createBuilder()
- .name(Text.translatable("skyblocker.option.locations.dwarvenMines.crystalsHud"))
- .collapsed(false)
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.dwarvenMines.crystalsHud.enabled"))
- .binding(defaults.mining.crystalsHud.enabled,
- () -> config.mining.crystalsHud.enabled,
- newValue -> config.mining.crystalsHud.enabled = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(ButtonOption.createBuilder()
- .name(Text.translatable("skyblocker.option.locations.dwarvenMines.crystalsHud.screen"))
- .text(Text.translatable("text.skyblocker.open"))
- .action((screen, opt) -> MinecraftClient.getInstance().setScreen(new CrystalsHudConfigScreen(screen)))
- .build())
- .option(Option.<Float>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.dwarvenMines.crystalsHud.mapScaling"))
- .binding(defaults.mining.crystalsHud.mapScaling,
- () -> config.mining.crystalsHud.mapScaling,
- newValue -> config.mining.crystalsHud.mapScaling = newValue)
- .controller(FloatFieldControllerBuilder::create)
- .build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.dwarvenMines.crystalsHud.showLocations"))
- .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dwarvenMines.crystalsHud.showLocations.@Tooltip")))
- .binding(defaults.mining.crystalsHud.showLocations,
- () -> config.mining.crystalsHud.showLocations,
- newValue -> config.mining.crystalsHud.showLocations = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Integer>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.dwarvenMines.crystalsHud.showLocations.locationSize"))
- .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dwarvenMines.crystalsHud.showLocations.locationSize.@Tooltip")))
- .binding(defaults.mining.crystalsHud.locationSize,
- () -> config.mining.crystalsHud.locationSize,
- newValue -> config.mining.crystalsHud.locationSize = newValue)
- .controller(opt -> IntegerSliderControllerBuilder.create(opt).range(4, 12).step(2))
- .build())
- .build())
- //crystals waypoints
- .group(OptionGroup.createBuilder()
- .name(Text.translatable("skyblocker.option.locations.dwarvenMines.crystalsWaypoints"))
- .collapsed(false)
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.dwarvenMines.crystalsWaypoints.enabled"))
- .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dwarvenMines.crystalsWaypoints.enabled.@Tooltip")))
- .binding(defaults.mining.crystalsWaypoints.enabled,
- () -> config.mining.crystalsWaypoints.enabled,
- newValue -> config.mining.crystalsWaypoints.enabled = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.dwarvenMines.crystalsWaypoints.findInChat"))
- .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dwarvenMines.crystalsWaypoints.findInChat.@Tooltip")))
- .binding(defaults.mining.crystalsWaypoints.findInChat,
- () -> config.mining.crystalsWaypoints.findInChat,
- newValue -> config.mining.crystalsWaypoints.findInChat = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
-
- .build())
- .build();
- }
-}
diff --git a/src/main/java/de/hysky/skyblocker/config/categories/FarmingCategory.java b/src/main/java/de/hysky/skyblocker/config/categories/FarmingCategory.java
new file mode 100644
index 00000000..2c3572c5
--- /dev/null
+++ b/src/main/java/de/hysky/skyblocker/config/categories/FarmingCategory.java
@@ -0,0 +1,66 @@
+package de.hysky.skyblocker.config.categories;
+
+import de.hysky.skyblocker.config.ConfigUtils;
+import de.hysky.skyblocker.config.SkyblockerConfig;
+import de.hysky.skyblocker.skyblock.garden.FarmingHudConfigScreen;
+import dev.isxander.yacl3.api.ButtonOption;
+import dev.isxander.yacl3.api.ConfigCategory;
+import dev.isxander.yacl3.api.Option;
+import dev.isxander.yacl3.api.OptionGroup;
+import net.minecraft.client.MinecraftClient;
+import net.minecraft.text.Text;
+
+public class FarmingCategory {
+
+ public static ConfigCategory create(SkyblockerConfig defaults, SkyblockerConfig config) {
+ return ConfigCategory.createBuilder()
+ .name(Text.translatable("skyblocker.category.farming"))
+
+ //Garden
+ .group(OptionGroup.createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.garden"))
+ .collapsed(false)
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.garden.farmingHud.enableHud"))
+ .binding(defaults.farming.garden.farmingHud.enableHud,
+ () -> config.farming.garden.farmingHud.enableHud,
+ newValue -> config.farming.garden.farmingHud.enableHud = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(ButtonOption.createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.garden.farmingHud.config"))
+ .text(Text.translatable("text.skyblocker.open"))
+ .action((screen, opt) -> MinecraftClient.getInstance().setScreen(new FarmingHudConfigScreen(screen)))
+ .build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.garden.dicerTitlePrevent"))
+ .binding(defaults.farming.garden.dicerTitlePrevent,
+ () -> config.farming.garden.dicerTitlePrevent,
+ newValue -> config.farming.garden.dicerTitlePrevent = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.garden.visitorHelper"))
+ .binding(defaults.farming.garden.visitorHelper,
+ () -> config.farming.garden.visitorHelper,
+ newValue -> config.farming.garden.visitorHelper = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.garden.lockMouseTool"))
+ .binding(defaults.farming.garden.lockMouseTool,
+ () -> config.farming.garden.lockMouseTool,
+ newValue -> config.farming.garden.lockMouseTool = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.garden.lockMouseGround"))
+ .binding(defaults.farming.garden.lockMouseGroundOnly,
+ () -> config.farming.garden.lockMouseGroundOnly,
+ newValue -> config.farming.garden.lockMouseGroundOnly = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .build())
+ .build();
+ }
+}
diff --git a/src/main/java/de/hysky/skyblocker/config/categories/GeneralCategory.java b/src/main/java/de/hysky/skyblocker/config/categories/GeneralCategory.java
index 029c0b00..161d1d39 100644
--- a/src/main/java/de/hysky/skyblocker/config/categories/GeneralCategory.java
+++ b/src/main/java/de/hysky/skyblocker/config/categories/GeneralCategory.java
@@ -3,15 +3,9 @@ package de.hysky.skyblocker.config.categories;
import de.hysky.skyblocker.config.ConfigUtils;
import de.hysky.skyblocker.config.SkyblockerConfig;
import de.hysky.skyblocker.config.configs.GeneralConfig;
-import de.hysky.skyblocker.config.configs.UiAndVisualsConfig;
-import de.hysky.skyblocker.skyblock.fancybars.StatusBarsConfigScreen;
import de.hysky.skyblocker.skyblock.shortcut.ShortcutsConfigScreen;
-import de.hysky.skyblocker.utils.render.title.TitleContainerConfigScreen;
-import de.hysky.skyblocker.utils.waypoint.Waypoint;
import dev.isxander.yacl3.api.*;
-import dev.isxander.yacl3.api.controller.FloatFieldControllerBuilder;
import dev.isxander.yacl3.api.controller.FloatSliderControllerBuilder;
-import dev.isxander.yacl3.api.controller.IntegerSliderControllerBuilder;
import net.minecraft.client.MinecraftClient;
import net.minecraft.text.Text;
import net.minecraft.util.Formatting;
@@ -31,268 +25,12 @@ public class GeneralCategory {
.controller(ConfigUtils::createBooleanController)
.build())
.option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.general.acceptReparty"))
- .binding(defaults.dungeons.acceptReparty,
- () -> config.dungeons.acceptReparty,
- newValue -> config.dungeons.acceptReparty = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.general.betterPartyFinder"))
- .binding(defaults.dungeons.fancyPartyFinder,
- () -> config.dungeons.fancyPartyFinder,
- newValue -> config.dungeons.fancyPartyFinder = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.general.fancyCraftingTable"))
- .binding(defaults.uiAndVisuals.fancyCraftingTable,
- () -> config.uiAndVisuals.fancyCraftingTable,
- newValue -> config.uiAndVisuals.fancyCraftingTable = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.general.backpackPreviewWithoutShift"))
- .binding(defaults.uiAndVisuals.backpackPreviewWithoutShift,
- () -> config.uiAndVisuals.backpackPreviewWithoutShift,
- newValue -> config.uiAndVisuals.backpackPreviewWithoutShift = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.general.compactorDeletorPreview"))
- .binding(defaults.uiAndVisuals.compactorDeletorPreview,
- () -> config.uiAndVisuals.compactorDeletorPreview,
- newValue -> config.uiAndVisuals.compactorDeletorPreview = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Boolean>createBuilder()
.name(Text.translatable("skyblocker.option.general.hideEmptyTooltips"))
.binding(defaults.general.hideEmptyTooltips,
() -> config.general.hideEmptyTooltips,
newValue -> config.general.hideEmptyTooltips = newValue)
.controller(ConfigUtils::createBooleanController)
.build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.general.hideStatusEffectOverlay"))
- .binding(defaults.misc.hideStatusEffectOverlay,
- () -> config.misc.hideStatusEffectOverlay,
- newValue -> config.misc.hideStatusEffectOverlay = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.general.dontStripSkinAlphaValues"))
- .description(OptionDescription.of(Text.translatable("skyblocker.option.general.dontStripSkinAlphaValues.@Tooltip")))
- .binding(defaults.uiAndVisuals.dontStripSkinAlphaValues,
- () -> config.uiAndVisuals.dontStripSkinAlphaValues,
- newValue -> config.uiAndVisuals.dontStripSkinAlphaValues = newValue)
- .controller(ConfigUtils::createBooleanController)
- .flag(OptionFlag.ASSET_RELOAD)
- .build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.general.dungeonQuality"))
- .description(OptionDescription.of(Text.translatable("skyblocker.option.general.dungeonQuality.@Tooltip")))
- .binding(defaults.general.itemTooltip.dungeonQuality,
- () -> config.general.itemTooltip.dungeonQuality,
- newValue -> config.general.itemTooltip.dungeonQuality = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.general.enableNewYearCakesHelper"))
- .description(OptionDescription.of(Text.translatable("skyblocker.option.general.enableNewYearCakesHelper.@Tooltip")))
- .binding(defaults.helper.enableNewYearCakesHelper,
- () -> config.helper.enableNewYearCakesHelper,
- newValue -> config.helper.enableNewYearCakesHelper = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
-
- //Tab Hud
- .group(OptionGroup.createBuilder()
- .name(Text.translatable("skyblocker.option.general.tabHud"))
- .collapsed(true)
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.general.tabHud.tabHudEnabled"))
- .binding(defaults.uiAndVisuals.tabHud.tabHudEnabled,
- () -> config.uiAndVisuals.tabHud.tabHudEnabled,
- newValue -> config.uiAndVisuals.tabHud.tabHudEnabled = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Integer>createBuilder()
- .name(Text.translatable("skyblocker.option.general.tabHud.tabHudScale"))
- .description(OptionDescription.of(Text.translatable("skyblocker.option.general.tabHud.tabHudScale.@Tooltip")))
- .binding(defaults.uiAndVisuals.tabHud.tabHudScale,
- () -> config.uiAndVisuals.tabHud.tabHudScale,
- newValue -> config.uiAndVisuals.tabHud.tabHudScale = newValue)
- .controller(opt -> IntegerSliderControllerBuilder.create(opt).range(10, 200).step(1))
- .build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.general.tabHud.enableHudBackground"))
- .description(OptionDescription.of(Text.translatable("skyblocker.option.general.tabHud.enableHudBackground.@Tooltip")))
- .binding(defaults.uiAndVisuals.tabHud.enableHudBackground,
- () -> config.uiAndVisuals.tabHud.enableHudBackground,
- newValue -> config.uiAndVisuals.tabHud.enableHudBackground = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.general.tabHud.plainPlayerNames"))
- .description(OptionDescription.of(Text.translatable("skyblocker.option.general.tabHud.plainPlayerNames.@Tooltip")))
- .binding(defaults.uiAndVisuals.tabHud.plainPlayerNames,
- () -> config.uiAndVisuals.tabHud.plainPlayerNames,
- newValue -> config.uiAndVisuals.tabHud.plainPlayerNames = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<UiAndVisualsConfig.NameSorting>createBuilder()
- .name(Text.translatable("skyblocker.option.general.tabHud.nameSorting"))
- .description(OptionDescription.of(Text.translatable("skyblocker.option.general.tabHud.nameSorting.@Tooltip")))
- .binding(defaults.uiAndVisuals.tabHud.nameSorting,
- () -> config.uiAndVisuals.tabHud.nameSorting,
- newValue -> config.uiAndVisuals.tabHud.nameSorting = newValue)
- .controller(ConfigUtils::createEnumCyclingListController)
- .build())
- .build())
-
- //Fancy Bars
- .group(OptionGroup.createBuilder()
- .name(Text.translatable("skyblocker.option.general.bars"))
- .collapsed(true)
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.general.bars.enableBars"))
- .binding(defaults.uiAndVisuals.bars.enableBars,
- () -> config.uiAndVisuals.bars.enableBars,
- newValue -> config.uiAndVisuals.bars.enableBars = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(ButtonOption.createBuilder()
- .name(Text.translatable("skyblocker.bars.config.openScreen"))
- .text(Text.translatable("text.skyblocker.open"))
- .action((screen, opt) -> MinecraftClient.getInstance().setScreen(new StatusBarsConfigScreen()))
- .build())
- .build())
-
- //Experiments Solver
- .group(OptionGroup.createBuilder()
- .name(Text.translatable("skyblocker.option.general.experiments"))
- .collapsed(true)
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.general.experiments.enableChronomatronSolver"))
- .binding(defaults.helper.experiments.enableChronomatronSolver,
- () -> config.helper.experiments.enableChronomatronSolver,
- newValue -> config.helper.experiments.enableChronomatronSolver = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.general.experiments.enableSuperpairsSolver"))
- .binding(defaults.helper.experiments.enableSuperpairsSolver,
- () -> config.helper.experiments.enableSuperpairsSolver,
- newValue -> config.helper.experiments.enableSuperpairsSolver = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.general.experiments.enableUltrasequencerSolver"))
- .binding(defaults.helper.experiments.enableUltrasequencerSolver,
- () -> config.helper.experiments.enableUltrasequencerSolver,
- newValue -> config.helper.experiments.enableUltrasequencerSolver = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .build())
-
- //Fishing Helper
- .group(OptionGroup.createBuilder()
- .name(Text.translatable("skyblocker.option.general.fishing"))
- .collapsed(true)
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.general.fishing.enableFishingHelper"))
- .binding(defaults.helper.fishing.enableFishingHelper,
- () -> config.helper.fishing.enableFishingHelper,
- newValue -> config.helper.fishing.enableFishingHelper = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.general.fishing.enableFishingTimer"))
- .description(OptionDescription.of(Text.translatable("skyblocker.option.general.fishing.enableFishingTimer.@Tooltip")))
- .binding(defaults.helper.fishing.enableFishingTimer,
- () -> config.helper.fishing.enableFishingTimer,
- newValue -> config.helper.fishing.enableFishingTimer = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.general.fishing.changeTimerColor"))
- .description(OptionDescription.of(Text.translatable("skyblocker.option.general.fishing.changeTimerColor.@Tooltip")))
- .binding(defaults.helper.fishing.changeTimerColor,
- () -> config.helper.fishing.changeTimerColor,
- newValue -> config.helper.fishing.changeTimerColor = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Float>createBuilder()
- .name(Text.translatable("skyblocker.option.general.fishing.fishingTimerScale"))
- .description(OptionDescription.of(Text.translatable("skyblocker.option.general.fishing.fishingTimerScale.@Tooltip")))
- .binding(defaults.helper.fishing.fishingTimerScale,
- () -> config.helper.fishing.fishingTimerScale,
- newValue -> config.helper.fishing.fishingTimerScale = newValue)
- .controller(FloatFieldControllerBuilder::create)
- .build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.general.fishing.hideOtherPlayers"))
- .description(OptionDescription.of(Text.translatable("skyblocker.option.general.fishing.hideOtherPlayers.@Tooltip")))
- .binding(defaults.helper.fishing.hideOtherPlayersRods,
- () -> config.helper.fishing.hideOtherPlayersRods,
- newValue -> config.helper.fishing.hideOtherPlayersRods = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .build())
-
- //Fairy Souls Helper
- .group(OptionGroup.createBuilder()
- .name(Text.translatable("skyblocker.option.general.fairySouls"))
- .collapsed(true)
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.general.fairySouls.enableFairySoulsHelper"))
- .binding(defaults.helper.fairySouls.enableFairySoulsHelper,
- () -> config.helper.fairySouls.enableFairySoulsHelper,
- newValue -> config.helper.fairySouls.enableFairySoulsHelper = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.general.fairySouls.highlightFoundSouls"))
- .binding(defaults.helper.fairySouls.highlightFoundSouls,
- () -> config.helper.fairySouls.highlightFoundSouls,
- newValue -> config.helper.fairySouls.highlightFoundSouls = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.general.fairySouls.highlightOnlyNearbySouls"))
- .description(OptionDescription.of(Text.translatable("skyblocker.option.general.fairySouls.highlightOnlyNearbySouls.@Tooltip")))
- .binding(defaults.helper.fairySouls.highlightOnlyNearbySouls,
- () -> config.helper.fairySouls.highlightOnlyNearbySouls,
- newValue -> config.helper.fairySouls.highlightOnlyNearbySouls = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .build())
-
- //Mythological Ritual
- .group(OptionGroup.createBuilder()
- .name(Text.translatable("skyblocker.option.general.mythologicalRitual"))
- .collapsed(true)
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.general.mythologicalRitual.enableMythologicalRitualHelper"))
- .binding(defaults.helper.mythologicalRitual.enableMythologicalRitualHelper,
- () -> config.helper.mythologicalRitual.enableMythologicalRitualHelper,
- newValue -> config.helper.mythologicalRitual.enableMythologicalRitualHelper = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .build())
-
- //Item Cooldown
- .group(OptionGroup.createBuilder()
- .name(Text.translatable("skyblocker.option.general.itemCooldown"))
- .collapsed(true)
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.general.itemCooldown.enableItemCooldowns"))
- .binding(defaults.uiAndVisuals.itemCooldown.enableItemCooldowns,
- () -> config.uiAndVisuals.itemCooldown.enableItemCooldowns,
- newValue -> config.uiAndVisuals.itemCooldown.enableItemCooldowns = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .build())
//Shortcuts
.group(OptionGroup.createBuilder()
@@ -329,27 +67,6 @@ public class GeneralCategory {
.build())
.build())
- //Waypoints
- .group(OptionGroup.createBuilder()
- .name(Text.translatable("skyblocker.option.general.waypoints"))
- .collapsed(true)
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.general.waypoints.enableWaypoints"))
- .binding(defaults.uiAndVisuals.waypoints.enableWaypoints,
- () -> config.uiAndVisuals.waypoints.enableWaypoints,
- newValue -> config.uiAndVisuals.waypoints.enableWaypoints = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Waypoint.Type>createBuilder()
- .name(Text.translatable("skyblocker.option.general.waypoints.waypointType"))
- .description(OptionDescription.of(Text.translatable("skyblocker.option.general.waypoints.waypointType.@Tooltip"), Text.translatable("skyblocker.option.general.waypoints.waypointType.generalNote")))
- .binding(defaults.uiAndVisuals.waypoints.waypointType,
- () -> config.uiAndVisuals.waypoints.waypointType,
- newValue -> config.uiAndVisuals.waypoints.waypointType = newValue)
- .controller(ConfigUtils::createEnumCyclingListController)
- .build())
- .build())
-
//Quiver Warning
.group(OptionGroup.createBuilder()
.name(Text.translatable("skyblocker.option.general.quiverWarning"))
@@ -465,12 +182,20 @@ public class GeneralCategory {
.name(Text.translatable("skyblocker.option.general.itemTooltip.enableAccessoriesHelper"))
.description(OptionDescription.of(Text.translatable("skyblocker.option.general.itemTooltip.enableAccessoriesHelper.@Tooltip[0]"), Text.literal("\n\n✔ Collected").formatted(Formatting.GREEN), Text.translatable("skyblocker.option.general.itemTooltip.enableAccessoriesHelper.@Tooltip[1]"),
Text.literal("\n✦ Upgrade").withColor(0x218bff), Text.translatable("skyblocker.option.general.itemTooltip.enableAccessoriesHelper.@Tooltip[2]"), Text.literal("\n↑ Upgradable").withColor(0xf8d048), Text.translatable("skyblocker.option.general.itemTooltip.enableAccessoriesHelper.@Tooltip[3]"),
- Text.literal("\n↓ Downgrade").formatted(Formatting.GRAY), Text.translatable("skyblocker.option.general.itemTooltip.enableAccessoriesHelper.@Tooltip[4]"), Text.literal("\n✖ Missing").formatted(Formatting.RED), Text.translatable("skyblocker.option.general.itemTooltip.enableAccessoriesHelper.@Tooltip[5]")))
+ Text.literal("\n↓ Downgrade").formatted(Formatting.GRAY), Text.translatable("skyblocker.option.general.itemTooltip.enableAccessoriesHelper.@Tooltip[4]"), Text.literal("\n✖ Missing").formatted(Formatting.RED), Text.translatable("skyblocker.option.general.itemTooltip.enableAccessoriesHelper.@Tooltip[5]")))
.binding(defaults.general.itemTooltip.enableAccessoriesHelper,
() -> config.general.itemTooltip.enableAccessoriesHelper,
newValue -> config.general.itemTooltip.enableAccessoriesHelper = newValue)
.controller(ConfigUtils::createBooleanController)
.build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.general.itemTooltip.dungeonQuality"))
+ .description(OptionDescription.of(Text.translatable("skyblocker.option.general.itemTooltip.dungeonQuality.@Tooltip")))
+ .binding(defaults.general.itemTooltip.dungeonQuality,
+ () -> config.general.itemTooltip.dungeonQuality,
+ newValue -> config.general.itemTooltip.dungeonQuality = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
.build())
//Item Info Display
@@ -546,35 +271,6 @@ public class GeneralCategory {
.build())
.build())
- //Chest Value
- .group(OptionGroup.createBuilder()
- .name(Text.translatable("skyblocker.option.general.chestValue"))
- .collapsed(true)
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.general.chestValue.enableChestValue"))
- .description(OptionDescription.of(Text.translatable("skyblocker.option.general.chestValue.enableChestValue.@Tooltip")))
- .binding(defaults.uiAndVisuals.chestValue.enableChestValue,
- () -> config.uiAndVisuals.chestValue.enableChestValue,
- newValue -> config.uiAndVisuals.chestValue.enableChestValue = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Formatting>createBuilder()
- .name(Text.translatable("skyblocker.option.general.chestValue.color"))
- .binding(defaults.uiAndVisuals.chestValue.color,
- () -> config.uiAndVisuals.chestValue.color,
- newValue -> config.uiAndVisuals.chestValue.color = newValue)
- .controller(ConfigUtils.getEnumDropdownControllerFactory(ConfigUtils.FORMATTING_FORMATTER))
- .build())
- .option(Option.<Formatting>createBuilder()
- .name(Text.translatable("skyblocker.option.general.chestValue.incompleteColor"))
- .description(OptionDescription.of(Text.translatable("skyblocker.option.general.chestValue.incompleteColor.@Tooltip")))
- .binding(defaults.uiAndVisuals.chestValue.incompleteColor,
- () -> config.uiAndVisuals.chestValue.incompleteColor,
- newValue -> config.uiAndVisuals.chestValue.incompleteColor = newValue)
- .controller(ConfigUtils.getEnumDropdownControllerFactory(ConfigUtils.FORMATTING_FORMATTER))
- .build())
- .build())
-
//Special Effects
.group(OptionGroup.createBuilder()
.name(Text.translatable("skyblocker.option.general.specialEffects"))
@@ -609,168 +305,6 @@ public class GeneralCategory {
.build())
.build())
- //Title Container
- .group(OptionGroup.createBuilder()
- .name(Text.translatable("skyblocker.option.general.titleContainer"))
- .description(OptionDescription.of(Text.translatable("skyblocker.option.general.titleContainer.@Tooltip")))
- .collapsed(true)
- .option(Option.<Float>createBuilder()
- .name(Text.translatable("skyblocker.option.general.titleContainer.titleContainerScale"))
- .binding(defaults.uiAndVisuals.titleContainer.titleContainerScale,
- () -> config.uiAndVisuals.titleContainer.titleContainerScale,
- newValue -> config.uiAndVisuals.titleContainer.titleContainerScale = newValue)
- .controller(opt -> FloatFieldControllerBuilder.create(opt).range(30f, 140f))
- .build())
- .option(ButtonOption.createBuilder()
- .name(Text.translatable("skyblocker.option.general.titleContainer.config"))
- .text(Text.translatable("text.skyblocker.open"))
- .action((screen, opt) -> MinecraftClient.getInstance().setScreen(new TitleContainerConfigScreen(screen)))
- .build())
- .build())
-
- //Teleport Overlays
- .group(OptionGroup.createBuilder()
- .name(Text.translatable("skyblocker.option.general.teleportOverlay"))
- .collapsed(true)
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.general.teleportOverlay.enableTeleportOverlays"))
- .binding(defaults.uiAndVisuals.teleportOverlay.enableTeleportOverlays,
- () -> config.uiAndVisuals.teleportOverlay.enableTeleportOverlays,
- newValue -> config.uiAndVisuals.teleportOverlay.enableTeleportOverlays = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.general.teleportOverlay.enableWeirdTransmission"))
- .binding(defaults.uiAndVisuals.teleportOverlay.enableWeirdTransmission,
- () -> config.uiAndVisuals.teleportOverlay.enableWeirdTransmission,
- newValue -> config.uiAndVisuals.teleportOverlay.enableWeirdTransmission = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.general.teleportOverlay.enableInstantTransmission"))
- .binding(defaults.uiAndVisuals.teleportOverlay.enableInstantTransmission,
- () -> config.uiAndVisuals.teleportOverlay.enableInstantTransmission,
- newValue -> config.uiAndVisuals.teleportOverlay.enableInstantTransmission = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.general.teleportOverlay.enableEtherTransmission"))
- .binding(defaults.uiAndVisuals.teleportOverlay.enableEtherTransmission,
- () -> config.uiAndVisuals.teleportOverlay.enableEtherTransmission,
- newValue -> config.uiAndVisuals.teleportOverlay.enableEtherTransmission = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.general.teleportOverlay.enableSinrecallTransmission"))
- .binding(defaults.uiAndVisuals.teleportOverlay.enableSinrecallTransmission,
- () -> config.uiAndVisuals.teleportOverlay.enableSinrecallTransmission,
- newValue -> config.uiAndVisuals.teleportOverlay.enableSinrecallTransmission = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.general.teleportOverlay.enableWitherImpact"))
- .binding(defaults.uiAndVisuals.teleportOverlay.enableWitherImpact,
- () -> config.uiAndVisuals.teleportOverlay.enableWitherImpact,
- newValue -> config.uiAndVisuals.teleportOverlay.enableWitherImpact = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .build())
-
- //Flame Overlay
- .group(OptionGroup.createBuilder()
- .name(Text.translatable("skyblocker.option.general.flameOverlay"))
- .collapsed(true)
- .option(Option.<Integer>createBuilder()
- .name(Text.translatable("skyblocker.option.general.flameOverlay.flameHeight"))
- .description(OptionDescription.of(Text.translatable("skyblocker.option.general.flameOverlay.flameHeight.@Tooltip")))
- .binding(defaults.uiAndVisuals.flameOverlay.flameHeight,
- () -> config.uiAndVisuals.flameOverlay.flameHeight,
- newValue -> config.uiAndVisuals.flameOverlay.flameHeight = newValue)
- .controller(opt -> IntegerSliderControllerBuilder.create(opt).range(0, 100).step(1))
- .build())
- .option(Option.<Integer>createBuilder()
- .name(Text.translatable("skyblocker.option.general.flameOverlay.flameOpacity"))
- .description(OptionDescription.of(Text.translatable("skyblocker.option.general.flameOverlay.flameOpacity.@Tooltip")))
- .binding(defaults.uiAndVisuals.flameOverlay.flameOpacity,
- () -> config.uiAndVisuals.flameOverlay.flameOpacity,
- newValue -> config.uiAndVisuals.flameOverlay.flameOpacity = newValue)
- .controller(opt -> IntegerSliderControllerBuilder.create(opt).range(0, 100).step(1))
- .build())
- .build())
-
- //Search overlay
- .group(OptionGroup.createBuilder()
- .name(Text.translatable("skyblocker.option.general.searchOverlay"))
- .collapsed(true)
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.general.searchOverlay.enableBazaar"))
- .description(OptionDescription.of(Text.translatable("skyblocker.option.general.searchOverlay.enableBazaar.@Tooltip")))
- .binding(defaults.uiAndVisuals.searchOverlay.enableBazaar,
- () -> config.uiAndVisuals.searchOverlay.enableBazaar,
- newValue -> config.uiAndVisuals.searchOverlay.enableBazaar = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.general.searchOverlay.enableAuctionHouse"))
- .description(OptionDescription.of(Text.translatable("skyblocker.option.general.searchOverlay.enableAuctionHouse.@Tooltip")))
- .binding(defaults.uiAndVisuals.searchOverlay.enableAuctionHouse,
- () -> config.uiAndVisuals.searchOverlay.enableAuctionHouse,
- newValue -> config.uiAndVisuals.searchOverlay.enableAuctionHouse = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.general.searchOverlay.keepPreviousSearches"))
- .description(OptionDescription.of(Text.translatable("skyblocker.option.general.searchOverlay.keepPreviousSearches.@Tooltip")))
- .binding(defaults.uiAndVisuals.searchOverlay.keepPreviousSearches,
- () -> config.uiAndVisuals.searchOverlay.keepPreviousSearches,
- newValue -> config.uiAndVisuals.searchOverlay.keepPreviousSearches = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Integer>createBuilder()
- .name(Text.translatable("skyblocker.option.general.searchOverlay.maxSuggestions"))
- .description(OptionDescription.of(Text.translatable("skyblocker.option.general.searchOverlay.maxSuggestions.@Tooltip")))
- .binding(defaults.uiAndVisuals.searchOverlay.maxSuggestions,
- () -> config.uiAndVisuals.searchOverlay.maxSuggestions,
- newValue -> config.uiAndVisuals.searchOverlay.maxSuggestions = newValue)
- .controller(opt -> IntegerSliderControllerBuilder.create(opt).range(0, 5).step(1))
- .build())
- .option(Option.<Integer>createBuilder()
- .name(Text.translatable("skyblocker.option.general.searchOverlay.historyLength"))
- .description(OptionDescription.of(Text.translatable("skyblocker.option.general.searchOverlay.historyLength.@Tooltip")))
- .binding(defaults.uiAndVisuals.searchOverlay.historyLength,
- () -> config.uiAndVisuals.searchOverlay.historyLength,
- newValue -> config.uiAndVisuals.searchOverlay.historyLength = newValue)
- .controller(opt -> IntegerSliderControllerBuilder.create(opt).range(0, 5).step(1))
- .build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.general.searchOverlay.enableCommands"))
- .description(OptionDescription.of(Text.translatable("skyblocker.option.general.searchOverlay.enableCommands.@Tooltip")))
- .binding(defaults.uiAndVisuals.searchOverlay.enableCommands,
- () -> config.uiAndVisuals.searchOverlay.enableCommands,
- newValue -> config.uiAndVisuals.searchOverlay.enableCommands = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .build())
-
- // Fancy Auction House
- .group(OptionGroup.createBuilder()
- .name(Text.translatable("skyblocker.option.general.betterAuctionHouse"))
- .collapsed(true)
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.general.betterAuctionHouse.enabled"))
- .binding(defaults.uiAndVisuals.fancyAuctionHouse.enabled,
- () -> config.uiAndVisuals.fancyAuctionHouse.enabled,
- newValue -> config.uiAndVisuals.fancyAuctionHouse.enabled = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.general.betterAuctionHouse.highlightUnderAvgPrice"))
- .binding(defaults.uiAndVisuals.fancyAuctionHouse.highlightCheapBIN,
- () -> config.uiAndVisuals.fancyAuctionHouse.highlightCheapBIN,
- newValue -> config.uiAndVisuals.fancyAuctionHouse.highlightCheapBIN = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .build())
.build();
}
}
diff --git a/src/main/java/de/hysky/skyblocker/config/categories/HelperCategory.java b/src/main/java/de/hysky/skyblocker/config/categories/HelperCategory.java
new file mode 100644
index 00000000..011fb7de
--- /dev/null
+++ b/src/main/java/de/hysky/skyblocker/config/categories/HelperCategory.java
@@ -0,0 +1,142 @@
+package de.hysky.skyblocker.config.categories;
+
+import de.hysky.skyblocker.config.ConfigUtils;
+import de.hysky.skyblocker.config.SkyblockerConfig;
+import dev.isxander.yacl3.api.*;
+import dev.isxander.yacl3.api.ConfigCategory;
+import dev.isxander.yacl3.api.Option;
+import dev.isxander.yacl3.api.OptionDescription;
+import dev.isxander.yacl3.api.controller.FloatFieldControllerBuilder;
+import net.minecraft.text.Text;
+
+public class HelperCategory {
+ public static ConfigCategory create(SkyblockerConfig defaults, SkyblockerConfig config) {
+ return ConfigCategory.createBuilder()
+ .name(Text.translatable("skyblocker.category.helper"))
+
+ //Ungrouped Options
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.general.enableNewYearCakesHelper"))
+ .description(OptionDescription.of(Text.translatable("skyblocker.option.general.enableNewYearCakesHelper.@Tooltip")))
+ .binding(defaults.helper.enableNewYearCakesHelper,
+ () -> config.helper.enableNewYearCakesHelper,
+ newValue -> config.helper.enableNewYearCakesHelper = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+
+ //Mythological Ritual
+ .group(OptionGroup.createBuilder()
+ .name(Text.translatable("skyblocker.option.general.mythologicalRitual"))
+ .collapsed(true)
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.general.mythologicalRitual.enableMythologicalRitualHelper"))
+ .binding(defaults.helper.mythologicalRitual.enableMythologicalRitualHelper,
+ () -> config.helper.mythologicalRitual.enableMythologicalRitualHelper,
+ newValue -> config.helper.mythologicalRitual.enableMythologicalRitualHelper = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .build())
+
+ //Experiments Solver
+ .group(OptionGroup.createBuilder()
+ .name(Text.translatable("skyblocker.option.general.experiments"))
+ .collapsed(true)
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.general.experiments.enableChronomatronSolver"))
+ .binding(defaults.helper.experiments.enableChronomatronSolver,
+ () -> config.helper.experiments.enableChronomatronSolver,
+ newValue -> config.helper.experiments.enableChronomatronSolver = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.general.experiments.enableSuperpairsSolver"))
+ .binding(defaults.helper.experiments.enableSuperpairsSolver,
+ () -> config.helper.experiments.enableSuperpairsSolver,
+ newValue -> config.helper.experiments.enableSuperpairsSolver = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.general.experiments.enableUltrasequencerSolver"))
+ .binding(defaults.helper.experiments.enableUltrasequencerSolver,
+ () -> config.helper.experiments.enableUltrasequencerSolver,
+ newValue -> config.helper.experiments.enableUltrasequencerSolver = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .build())
+
+ //Fishing Helper
+ .group(OptionGroup.createBuilder()
+ .name(Text.translatable("skyblocker.option.general.fishing"))
+ .collapsed(true)
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.general.fishing.enableFishingHelper"))
+ .binding(defaults.helper.fishing.enableFishingHelper,
+ () -> config.helper.fishing.enableFishingHelper,
+ newValue -> config.helper.fishing.enableFishingHelper = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.general.fishing.enableFishingTimer"))
+ .description(OptionDescription.of(Text.translatable("skyblocker.option.general.fishing.enableFishingTimer.@Tooltip")))
+ .binding(defaults.helper.fishing.enableFishingTimer,
+ () -> config.helper.fishing.enableFishingTimer,
+ newValue -> config.helper.fishing.enableFishingTimer = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.general.fishing.changeTimerColor"))
+ .description(OptionDescription.of(Text.translatable("skyblocker.option.general.fishing.changeTimerColor.@Tooltip")))
+ .binding(defaults.helper.fishing.changeTimerColor,
+ () -> config.helper.fishing.changeTimerColor,
+ newValue -> config.helper.fishing.changeTimerColor = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Float>createBuilder()
+ .name(Text.translatable("skyblocker.option.general.fishing.fishingTimerScale"))
+ .description(OptionDescription.of(Text.translatable("skyblocker.option.general.fishing.fishingTimerScale.@Tooltip")))
+ .binding(defaults.helper.fishing.fishingTimerScale,
+ () -> config.helper.fishing.fishingTimerScale,
+ newValue -> config.helper.fishing.fishingTimerScale = newValue)
+ .controller(FloatFieldControllerBuilder::create)
+ .build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.general.fishing.hideOtherPlayers"))
+ .description(OptionDescription.of(Text.translatable("skyblocker.option.general.fishing.hideOtherPlayers.@Tooltip")))
+ .binding(defaults.helper.fishing.hideOtherPlayersRods,
+ () -> config.helper.fishing.hideOtherPlayersRods,
+ newValue -> config.helper.fishing.hideOtherPlayersRods = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .build())
+
+ //Fairy Souls Helper
+ .group(OptionGroup.createBuilder()
+ .name(Text.translatable("skyblocker.option.general.fairySouls"))
+ .collapsed(true)
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.general.fairySouls.enableFairySoulsHelper"))
+ .binding(defaults.helper.fairySouls.enableFairySoulsHelper,
+ () -> config.helper.fairySouls.enableFairySoulsHelper,
+ newValue -> config.helper.fairySouls.enableFairySoulsHelper = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.general.fairySouls.highlightFoundSouls"))
+ .binding(defaults.helper.fairySouls.highlightFoundSouls,
+ () -> config.helper.fairySouls.highlightFoundSouls,
+ newValue -> config.helper.fairySouls.highlightFoundSouls = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.general.fairySouls.highlightOnlyNearbySouls"))
+ .description(OptionDescription.of(Text.translatable("skyblocker.option.general.fairySouls.highlightOnlyNearbySouls.@Tooltip")))
+ .binding(defaults.helper.fairySouls.highlightOnlyNearbySouls,
+ () -> config.helper.fairySouls.highlightOnlyNearbySouls,
+ newValue -> config.helper.fairySouls.highlightOnlyNearbySouls = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .build())
+
+ .build();
+ }
+}
diff --git a/src/main/java/de/hysky/skyblocker/config/categories/LocationsCategory.java b/src/main/java/de/hysky/skyblocker/config/categories/LocationsCategory.java
deleted file mode 100644
index 1be80f70..00000000
--- a/src/main/java/de/hysky/skyblocker/config/categories/LocationsCategory.java
+++ /dev/null
@@ -1,214 +0,0 @@
-package de.hysky.skyblocker.config.categories;
-
-import de.hysky.skyblocker.config.ConfigUtils;
-import de.hysky.skyblocker.config.SkyblockerConfig;
-import de.hysky.skyblocker.skyblock.end.EndHudConfigScreen;
-import de.hysky.skyblocker.skyblock.end.EndHudWidget;
-import de.hysky.skyblocker.skyblock.end.TheEnd;
-import de.hysky.skyblocker.skyblock.garden.FarmingHudConfigScreen;
-import dev.isxander.yacl3.api.*;
-import dev.isxander.yacl3.api.controller.IntegerSliderControllerBuilder;
-import net.minecraft.client.MinecraftClient;
-import net.minecraft.text.Text;
-
-public class LocationsCategory {
-
- public static ConfigCategory create(SkyblockerConfig defaults, SkyblockerConfig config) {
- return ConfigCategory.createBuilder()
- .name(Text.translatable("skyblocker.category.locations"))
-
- //Barn
- .group(OptionGroup.createBuilder()
- .name(Text.translatable("skyblocker.option.locations.barn"))
- .collapsed(false)
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.barn.solveHungryHiker"))
- .binding(defaults.otherLocations.barn.solveHungryHiker,
- () -> config.otherLocations.barn.solveHungryHiker,
- newValue -> config.otherLocations.barn.solveHungryHiker = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.barn.solveTreasureHunter"))
- .binding(defaults.otherLocations.barn.solveTreasureHunter,
- () -> config.otherLocations.barn.solveTreasureHunter,
- newValue -> config.otherLocations.barn.solveTreasureHunter = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .build())
-
- //The Rift
- .group(OptionGroup.createBuilder()
- .name(Text.translatable("skyblocker.option.locations.rift"))
- .collapsed(false)
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.rift.mirrorverseWaypoints"))
- .binding(defaults.otherLocations.rift.mirrorverseWaypoints,
- () -> config.otherLocations.rift.mirrorverseWaypoints,
- newValue -> config.otherLocations.rift.mirrorverseWaypoints = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.rift.blobbercystGlow"))
- .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.rift.blobbercystGlow.@Tooltip")))
- .binding(defaults.otherLocations.rift.blobbercystGlow,
- () -> config.otherLocations.rift.blobbercystGlow,
- newValue -> config.otherLocations.rift.blobbercystGlow = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.rift.enigmaSoulWaypoints"))
- .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.rift.enigmaSoulWaypoints.@Tooltip")))
- .binding(defaults.otherLocations.rift.enigmaSoulWaypoints,
- () -> config.otherLocations.rift.enigmaSoulWaypoints,
- newValue -> config.otherLocations.rift.enigmaSoulWaypoints = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.rift.highlightFoundEnigmaSouls"))
- .binding(defaults.otherLocations.rift.highlightFoundEnigmaSouls,
- () -> config.otherLocations.rift.highlightFoundEnigmaSouls,
- newValue -> config.otherLocations.rift.highlightFoundEnigmaSouls = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Integer>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.rift.mcGrubberStacks"))
- .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.rift.mcGrubberStacks.@Tooltip")))
- .binding(defaults.otherLocations.rift.mcGrubberStacks,
- () -> config.otherLocations.rift.mcGrubberStacks,
- newValue -> config.otherLocations.rift.mcGrubberStacks = newValue)
- .controller(opt -> IntegerSliderControllerBuilder.create(opt).range(0, 5).step(1))
- .build())
- .build())
-
- // The end
- .group(OptionGroup.createBuilder()
- .name(Text.translatable("skyblocker.option.locations.end"))
- .collapsed(false)
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.end.enableEnderNodeHelper"))
- .binding(defaults.otherLocations.end.enableEnderNodeHelper,
- () -> config.otherLocations.end.enableEnderNodeHelper,
- newValue -> config.otherLocations.end.enableEnderNodeHelper = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.end.hudEnabled"))
- .binding(defaults.otherLocations.end.hudEnabled,
- () -> config.otherLocations.end.hudEnabled,
- newValue -> config.otherLocations.end.hudEnabled = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.end.zealotKillsEnabled"))
- .binding(defaults.otherLocations.end.zealotKillsEnabled,
- () -> config.otherLocations.end.zealotKillsEnabled,
- newValue -> {
- config.otherLocations.end.zealotKillsEnabled = newValue;
- EndHudWidget.INSTANCE.update();
- })
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.end.protectorLocationEnable"))
- .binding(defaults.otherLocations.end.protectorLocationEnabled,
- () -> config.otherLocations.end.protectorLocationEnabled,
- newValue -> {
- config.otherLocations.end.protectorLocationEnabled = newValue;
- EndHudWidget.INSTANCE.update();
- })
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.end.waypoint"))
- .binding(defaults.otherLocations.end.waypoint,
- () -> config.otherLocations.end.waypoint,
- newValue -> config.otherLocations.end.waypoint = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(ButtonOption.createBuilder()
- .name(Text.translatable("skyblocker.option.locations.end.screen"))
- .text(Text.translatable("text.skyblocker.open")) // Reusing again lol
- .action((screen, opt) -> MinecraftClient.getInstance().setScreen(new EndHudConfigScreen(screen)))
- .build())
- .option(ButtonOption.createBuilder()
- .name(Text.translatable("skyblocker.option.locations.end.resetName"))
- .text(Text.translatable("skyblocker.option.locations.end.resetText"))
- .action((screen, opt) -> {
- TheEnd.zealotsKilled = 0;
- TheEnd.zealotsSinceLastEye = 0;
- TheEnd.eyes = 0;
- })
- .build())
- .build()
-
- )
-
- //Spider's Den
- .group(OptionGroup.createBuilder()
- .name(Text.translatable("skyblocker.option.locations.spidersDen"))
- .collapsed(false)
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.spidersDen.relics.enableRelicsHelper"))
- .binding(defaults.otherLocations.spidersDen.relics.enableRelicsHelper,
- () -> config.otherLocations.spidersDen.relics.enableRelicsHelper,
- newValue -> config.otherLocations.spidersDen.relics.enableRelicsHelper = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.spidersDen.relics.highlightFoundRelics"))
- .binding(defaults.otherLocations.spidersDen.relics.highlightFoundRelics,
- () -> config.otherLocations.spidersDen.relics.highlightFoundRelics,
- newValue -> config.otherLocations.spidersDen.relics.highlightFoundRelics = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .build())
-
- //Garden
- .group(OptionGroup.createBuilder()
- .name(Text.translatable("skyblocker.option.locations.garden"))
- .collapsed(false)
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.garden.farmingHud.enableHud"))
- .binding(defaults.farming.garden.farmingHud.enableHud,
- () -> config.farming.garden.farmingHud.enableHud,
- newValue -> config.farming.garden.farmingHud.enableHud = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(ButtonOption.createBuilder()
- .name(Text.translatable("skyblocker.option.locations.garden.farmingHud.config"))
- .text(Text.translatable("text.skyblocker.open"))
- .action((screen, opt) -> MinecraftClient.getInstance().setScreen(new FarmingHudConfigScreen(screen)))
- .build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.garden.dicerTitlePrevent"))
- .binding(defaults.farming.garden.dicerTitlePrevent,
- () -> config.farming.garden.dicerTitlePrevent,
- newValue -> config.farming.garden.dicerTitlePrevent = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.garden.visitorHelper"))
- .binding(defaults.farming.garden.visitorHelper,
- () -> config.farming.garden.visitorHelper,
- newValue -> config.farming.garden.visitorHelper = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.garden.lockMouseTool"))
- .binding(defaults.farming.garden.lockMouseTool,
- () -> config.farming.garden.lockMouseTool,
- newValue -> config.farming.garden.lockMouseTool = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.locations.garden.lockMouseGround"))
- .binding(defaults.farming.garden.lockMouseGroundOnly,
- () -> config.farming.garden.lockMouseGroundOnly,
- newValue -> config.farming.garden.lockMouseGroundOnly = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .build())
- .build();
- }
-}
diff --git a/src/main/java/de/hysky/skyblocker/config/categories/MessageFilterCategory.java b/src/main/java/de/hysky/skyblocker/config/categories/MessageFilterCategory.java
index 871925d1..a5b1e3ed 100644
--- a/src/main/java/de/hysky/skyblocker/config/categories/MessageFilterCategory.java
+++ b/src/main/java/de/hysky/skyblocker/config/categories/MessageFilterCategory.java
@@ -11,148 +11,149 @@ import net.minecraft.text.Text;
public class MessageFilterCategory {
- public static ConfigCategory create(SkyblockerConfig defaults, SkyblockerConfig config) {
- return ConfigCategory.createBuilder()
- .name(Text.translatable("skyblocker.category.messages"))
+ public static ConfigCategory create(SkyblockerConfig defaults, SkyblockerConfig config) {
+ return ConfigCategory.createBuilder()
+ .name(Text.translatable("skyblocker.category.messages"))
- //Uncategorized Options
- .option(Option.<ChatFilterResult>createBuilder()
- .name(Text.translatable("skyblocker.option.messages.hideAbility"))
- .binding(defaults.messages.hideAbility,
- () -> config.messages.hideAbility,
- newValue -> config.messages.hideAbility = newValue)
- .controller(ConfigUtils::createEnumCyclingListController)
- .build())
- .option(Option.<ChatFilterResult>createBuilder()
- .name(Text.translatable("skyblocker.option.messages.hideHeal"))
- .binding(defaults.messages.hideHeal,
- () -> config.messages.hideHeal,
- newValue -> config.messages.hideHeal = newValue)
- .controller(ConfigUtils::createEnumCyclingListController)
- .build())
- .option(Option.<ChatFilterResult>createBuilder()
- .name(Text.translatable("skyblocker.option.messages.hideAOTE"))
- .description(OptionDescription.of(Text.translatable("skyblocker.option.messages.hideAOTE.@Tooltip")))
- .binding(defaults.messages.hideAOTE,
- () -> config.messages.hideAOTE,
- newValue -> config.messages.hideAOTE = newValue)
- .controller(ConfigUtils::createEnumCyclingListController)
- .build())
- .option(Option.<ChatFilterResult>createBuilder()
- .name(Text.translatable("skyblocker.option.messages.hideImplosion"))
- .binding(defaults.messages.hideImplosion,
- () -> config.messages.hideImplosion,
- newValue -> config.messages.hideImplosion = newValue)
- .controller(ConfigUtils::createEnumCyclingListController)
- .build())
- .option(Option.<ChatFilterResult>createBuilder()
- .name(Text.translatable("skyblocker.option.messages.hideMoltenWave"))
- .binding(defaults.messages.hideMoltenWave,
- () -> config.messages.hideMoltenWave,
- newValue -> config.messages.hideMoltenWave = newValue)
- .controller(ConfigUtils::createEnumCyclingListController)
- .build())
- .option(Option.<ChatFilterResult>createBuilder()
- .name(Text.translatable("skyblocker.option.messages.hideAds"))
- .binding(defaults.messages.hideAds,
- () -> config.messages.hideAds,
- newValue -> config.messages.hideAds = newValue)
- .controller(ConfigUtils::createEnumCyclingListController)
- .build())
- .option(Option.<ChatFilterResult>createBuilder()
- .name(Text.translatable("skyblocker.option.messages.hideTeleportPad"))
- .binding(defaults.messages.hideTeleportPad,
- () -> config.messages.hideTeleportPad,
- newValue -> config.messages.hideTeleportPad = newValue)
- .controller(ConfigUtils::createEnumCyclingListController)
- .build())
- .option(Option.<ChatFilterResult>createBuilder()
- .name(Text.translatable("skyblocker.option.messages.hideCombo"))
- .binding(defaults.messages.hideCombo,
- () -> config.messages.hideCombo,
- newValue -> config.messages.hideCombo = newValue)
- .controller(ConfigUtils::createEnumCyclingListController)
- .build())
- .option(Option.<ChatFilterResult>createBuilder()
- .name(Text.translatable("skyblocker.option.messages.hideAutopet"))
- .binding(defaults.messages.hideAutopet,
- () -> config.messages.hideAutopet,
- newValue -> config.messages.hideAutopet = newValue)
- .controller(ConfigUtils::createEnumCyclingListController)
- .build())
- .option(Option.<ChatFilterResult>createBuilder()
- .name(Text.translatable("skyblocker.option.messages.hideShowOff"))
- .description(OptionDescription.of(Text.translatable("skyblocker.option.messages.hideShowOff.@Tooltip")))
- .binding(defaults.messages.hideShowOff,
- () -> config.messages.hideShowOff,
- newValue -> config.messages.hideShowOff = newValue)
- .controller(ConfigUtils::createEnumCyclingListController)
- .build())
- .option(Option.<ChatFilterResult>createBuilder()
- .name(Text.translatable("skyblocker.option.messages.hideToggleSkyMall"))
- .description(OptionDescription.of(Text.translatable("skyblocker.option.messages.hideToggleSkyMall.@Tooltip")))
- .binding(defaults.messages.hideToggleSkyMall,
- () -> config.messages.hideToggleSkyMall,
- newValue -> config.messages.hideToggleSkyMall = newValue)
- .controller(ConfigUtils::createEnumCyclingListController)
- .build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.messages.hideMana"))
- .binding(defaults.messages.hideMana,
- () -> config.messages.hideMana,
- newValue -> config.messages.hideMana = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<ChatFilterResult>createBuilder()
- .name(Text.translatable("skyblocker.option.messages.hideMimicKill"))
- .description(OptionDescription.of(Text.translatable("skyblocker.option.messages.hideMimicKill.@Tooltip")))
- .binding(defaults.messages.hideMimicKill,
- () -> config.messages.hideMimicKill,
- newValue -> config.messages.hideMimicKill = newValue)
- .controller(ConfigUtils::createEnumCyclingListController)
- .build())
- .option(Option.<ChatFilterResult>createBuilder()
- .name(Text.translatable("skyblocker.option.messages.hideDeath"))
- .description(OptionDescription.of(Text.translatable("skyblocker.option.messages.hideDeath.@Tooltip")))
- .binding(defaults.messages.hideDeath,
- () -> config.messages.hideDeath,
- newValue -> config.messages.hideDeath = newValue)
- .controller(ConfigUtils::createEnumCyclingListController)
- .build())
- .option(Option.<ChatFilterResult>createBuilder()
- .name(Text.translatable("skyblocker.option.messages.hideDicer"))
- .description(OptionDescription.of(Text.translatable("skyblocker.option.messages.hideDicer.@Tooltip")))
- .binding(defaults.messages.hideDicer,
- () -> config.messages.hideDicer,
- newValue -> config.messages.hideDicer = newValue)
- .controller(ConfigUtils::createEnumCyclingListController)
- .build())
- //chat rules options
- .group(OptionGroup.createBuilder()
- .name(Text.translatable("skyblocker.option.messages.chatRules"))
- .collapsed(false)
- .option(ButtonOption.createBuilder()
- .name(Text.translatable("skyblocker.option.messages.chatRules.screen"))
- .text(Text.translatable("text.skyblocker.open"))
- .action((screen, opt) -> MinecraftClient.getInstance().setScreen(new ChatRulesConfigScreen(screen)))
- .build())
- .option(Option.<Integer>createBuilder()
- .name(Text.translatable("skyblocker.option.messages.chatRules.announcementLength"))
- .description(OptionDescription.of(Text.translatable("skyblocker.option.messages.chatRules.announcementLength.@Tooltip")))
- .binding(defaults.messages.chatRuleConfig.announcementLength,
- () -> config.messages.chatRuleConfig.announcementLength,
- newValue -> config.messages.chatRuleConfig.announcementLength = newValue)
- .controller(opt -> IntegerSliderControllerBuilder.create(opt).range(5, 200).step(1))
- .build())
- .option(Option.<Integer>createBuilder()
- .name(Text.translatable("skyblocker.option.messages.chatRules.announcementScale"))
- .description(OptionDescription.of(Text.translatable("skyblocker.option.messages.chatRules.announcementScale.@Tooltip")))
- .binding(defaults.messages.chatRuleConfig.announcementScale,
- () -> config.messages.chatRuleConfig.announcementScale,
- newValue -> config.messages.chatRuleConfig.announcementScale = newValue)
- .controller(opt -> IntegerSliderControllerBuilder.create(opt).range(1, 8).step(1))
- .build())
- .build())
- .build();
- }
+ //Uncategorized Options
+ .option(Option.<ChatFilterResult>createBuilder()
+ .name(Text.translatable("skyblocker.option.messages.hideAbility"))
+ .binding(defaults.messages.hideAbility,
+ () -> config.messages.hideAbility,
+ newValue -> config.messages.hideAbility = newValue)
+ .controller(ConfigUtils::createEnumCyclingListController)
+ .build())
+ .option(Option.<ChatFilterResult>createBuilder()
+ .name(Text.translatable("skyblocker.option.messages.hideHeal"))
+ .binding(defaults.messages.hideHeal,
+ () -> config.messages.hideHeal,
+ newValue -> config.messages.hideHeal = newValue)
+ .controller(ConfigUtils::createEnumCyclingListController)
+ .build())
+ .option(Option.<ChatFilterResult>createBuilder()
+ .name(Text.translatable("skyblocker.option.messages.hideAOTE"))
+ .description(OptionDescription.of(Text.translatable("skyblocker.option.messages.hideAOTE.@Tooltip")))
+ .binding(defaults.messages.hideAOTE,
+ () -> config.messages.hideAOTE,
+ newValue -> config.messages.hideAOTE = newValue)
+ .controller(ConfigUtils::createEnumCyclingListController)
+ .build())
+ .option(Option.<ChatFilterResult>createBuilder()
+ .name(Text.translatable("skyblocker.option.messages.hideImplosion"))
+ .binding(defaults.messages.hideImplosion,
+ () -> config.messages.hideImplosion,
+ newValue -> config.messages.hideImplosion = newValue)
+ .controller(ConfigUtils::createEnumCyclingListController)
+ .build())
+ .option(Option.<ChatFilterResult>createBuilder()
+ .name(Text.translatable("skyblocker.option.messages.hideMoltenWave"))
+ .binding(defaults.messages.hideMoltenWave,
+ () -> config.messages.hideMoltenWave,
+ newValue -> config.messages.hideMoltenWave = newValue)
+ .controller(ConfigUtils::createEnumCyclingListController)
+ .build())
+ .option(Option.<ChatFilterResult>createBuilder()
+ .name(Text.translatable("skyblocker.option.messages.hideAds"))
+ .binding(defaults.messages.hideAds,
+ () -> config.messages.hideAds,
+ newValue -> config.messages.hideAds = newValue)
+ .controller(ConfigUtils::createEnumCyclingListController)
+ .build())
+ .option(Option.<ChatFilterResult>createBuilder()
+ .name(Text.translatable("skyblocker.option.messages.hideTeleportPad"))
+ .binding(defaults.messages.hideTeleportPad,
+ () -> config.messages.hideTeleportPad,
+ newValue -> config.messages.hideTeleportPad = newValue)
+ .controller(ConfigUtils::createEnumCyclingListController)
+ .build())
+ .option(Option.<ChatFilterResult>createBuilder()
+ .name(Text.translatable("skyblocker.option.messages.hideCombo"))
+ .binding(defaults.messages.hideCombo,
+ () -> config.messages.hideCombo,
+ newValue -> config.messages.hideCombo = newValue)
+ .controller(ConfigUtils::createEnumCyclingListController)
+ .build())
+ .option(Option.<ChatFilterResult>createBuilder()
+ .name(Text.translatable("skyblocker.option.messages.hideAutopet"))
+ .binding(defaults.messages.hideAutopet,
+ () -> config.messages.hideAutopet,
+ newValue -> config.messages.hideAutopet = newValue)
+ .controller(ConfigUtils::createEnumCyclingListController)
+ .build())
+ .option(Option.<ChatFilterResult>createBuilder()
+ .name(Text.translatable("skyblocker.option.messages.hideShowOff"))
+ .description(OptionDescription.of(Text.translatable("skyblocker.option.messages.hideShowOff.@Tooltip")))
+ .binding(defaults.messages.hideShowOff,
+ () -> config.messages.hideShowOff,
+ newValue -> config.messages.hideShowOff = newValue)
+ .controller(ConfigUtils::createEnumCyclingListController)
+ .build())
+ .option(Option.<ChatFilterResult>createBuilder()
+ .name(Text.translatable("skyblocker.option.messages.hideToggleSkyMall"))
+ .description(OptionDescription.of(Text.translatable("skyblocker.option.messages.hideToggleSkyMall.@Tooltip")))
+ .binding(defaults.messages.hideToggleSkyMall,
+ () -> config.messages.hideToggleSkyMall,
+ newValue -> config.messages.hideToggleSkyMall = newValue)
+ .controller(ConfigUtils::createEnumCyclingListController)
+ .build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.messages.hideMana"))
+ .binding(defaults.messages.hideMana,
+ () -> config.messages.hideMana,
+ newValue -> config.messages.hideMana = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<ChatFilterResult>createBuilder()
+ .name(Text.translatable("skyblocker.option.messages.hideMimicKill"))
+ .description(OptionDescription.of(Text.translatable("skyblocker.option.messages.hideMimicKill.@Tooltip")))
+ .binding(defaults.messages.hideMimicKill,
+ () -> config.messages.hideMimicKill,
+ newValue -> config.messages.hideMimicKill = newValue)
+ .controller(ConfigUtils::createEnumCyclingListController)
+ .build())
+ .option(Option.<ChatFilterResult>createBuilder()
+ .name(Text.translatable("skyblocker.option.messages.hideDeath"))
+ .description(OptionDescription.of(Text.translatable("skyblocker.option.messages.hideDeath.@Tooltip")))
+ .binding(defaults.messages.hideDeath,
+ () -> config.messages.hideDeath,
+ newValue -> config.messages.hideDeath = newValue)
+ .controller(ConfigUtils::createEnumCyclingListController)
+ .build())
+ .option(Option.<ChatFilterResult>createBuilder()
+ .name(Text.translatable("skyblocker.option.messages.hideDicer"))
+ .description(OptionDescription.of(Text.translatable("skyblocker.option.messages.hideDicer.@Tooltip")))
+ .binding(defaults.messages.hideDicer,
+ () -> config.messages.hideDicer,
+ newValue -> config.messages.hideDicer = newValue)
+ .controller(ConfigUtils::createEnumCyclingListController)
+ .build())
+
+ //chat rules options
+ .group(OptionGroup.createBuilder()
+ .name(Text.translatable("skyblocker.option.messages.chatRules"))
+ .collapsed(false)
+ .option(ButtonOption.createBuilder()
+ .name(Text.translatable("skyblocker.option.messages.chatRules.screen"))
+ .text(Text.translatable("text.skyblocker.open"))
+ .action((screen, opt) -> MinecraftClient.getInstance().setScreen(new ChatRulesConfigScreen(screen)))
+ .build())
+ .option(Option.<Integer>createBuilder()
+ .name(Text.translatable("skyblocker.option.messages.chatRules.announcementLength"))
+ .description(OptionDescription.of(Text.translatable("skyblocker.option.messages.chatRules.announcementLength.@Tooltip")))
+ .binding(defaults.messages.chatRuleConfig.announcementLength,
+ () -> config.messages.chatRuleConfig.announcementLength,
+ newValue -> config.messages.chatRuleConfig.announcementLength = newValue)
+ .controller(opt -> IntegerSliderControllerBuilder.create(opt).range(5, 200).step(1))
+ .build())
+ .option(Option.<Integer>createBuilder()
+ .name(Text.translatable("skyblocker.option.messages.chatRules.announcementScale"))
+ .description(OptionDescription.of(Text.translatable("skyblocker.option.messages.chatRules.announcementScale.@Tooltip")))
+ .binding(defaults.messages.chatRuleConfig.announcementScale,
+ () -> config.messages.chatRuleConfig.announcementScale,
+ newValue -> config.messages.chatRuleConfig.announcementScale = newValue)
+ .controller(opt -> IntegerSliderControllerBuilder.create(opt).range(1, 8).step(1))
+ .build())
+ .build())
+ .build();
+ }
}
diff --git a/src/main/java/de/hysky/skyblocker/config/categories/MiningCategory.java b/src/main/java/de/hysky/skyblocker/config/categories/MiningCategory.java
new file mode 100644
index 00000000..bfa49442
--- /dev/null
+++ b/src/main/java/de/hysky/skyblocker/config/categories/MiningCategory.java
@@ -0,0 +1,165 @@
+package de.hysky.skyblocker.config.categories;
+
+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.controller.FloatFieldControllerBuilder;
+import dev.isxander.yacl3.api.controller.IntegerSliderControllerBuilder;
+import net.minecraft.client.MinecraftClient;
+import net.minecraft.text.Text;
+
+public class MiningCategory {
+
+ public static ConfigCategory create(SkyblockerConfig defaults, SkyblockerConfig config) {
+ return ConfigCategory.createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.dwarvenMines"))
+
+ //Uncategorized Options
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.dwarvenMines.enableDrillFuel"))
+ .binding(defaults.mining.enableDrillFuel,
+ () -> config.mining.enableDrillFuel,
+ newValue -> config.mining.enableDrillFuel = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+
+ //Dwarven Mines
+ .group(OptionGroup.createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.dwarvenMines.dwarvenHud"))
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.dwarvenMines.solveFetchur"))
+ .binding(defaults.mining.dwarvenMines.solveFetchur,
+ () -> config.mining.dwarvenMines.solveFetchur,
+ newValue -> config.mining.dwarvenMines.solveFetchur = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.dwarvenMines.solvePuzzler"))
+ .binding(defaults.mining.dwarvenMines.solvePuzzler,
+ () -> config.mining.dwarvenMines.solvePuzzler,
+ newValue -> config.mining.dwarvenMines.solvePuzzler = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .build())
+
+ //Dwarven HUD
+ .group(OptionGroup.createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.dwarvenMines.dwarvenHud"))
+ .collapsed(false)
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.dwarvenMines.dwarvenHud.enabledCommissions"))
+ .binding(defaults.mining.dwarvenHud.enabledCommissions,
+ () -> config.mining.dwarvenHud.enabledCommissions,
+ newValue -> config.mining.dwarvenHud.enabledCommissions = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.dwarvenMines.dwarvenHud.enabledPowder"))
+ .binding(defaults.mining.dwarvenHud.enabledPowder,
+ () -> config.mining.dwarvenHud.enabledPowder,
+ newValue -> config.mining.dwarvenHud.enabledPowder = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<MiningConfig.DwarvenHudStyle>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.dwarvenMines.dwarvenHud.style"))
+ .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dwarvenMines.dwarvenHud.style.@Tooltip[0]"),
+ Text.translatable("skyblocker.option.locations.dwarvenMines.dwarvenHud.style.@Tooltip[1]"),
+ Text.translatable("skyblocker.option.locations.dwarvenMines.dwarvenHud.style.@Tooltip[2]")))
+ .binding(defaults.mining.dwarvenHud.style,
+ () -> config.mining.dwarvenHud.style,
+ newValue -> config.mining.dwarvenHud.style = newValue)
+ .controller(ConfigUtils::createEnumCyclingListController)
+ .build())
+ .option(ButtonOption.createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.dwarvenMines.dwarvenHud.screen"))
+ .text(Text.translatable("text.skyblocker.open"))
+ .action((screen, opt) -> MinecraftClient.getInstance().setScreen(new DwarvenHudConfigScreen(screen)))
+ .build())
+ .build())
+
+ //Crystal Hollows
+ .group(OptionGroup.createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.dwarvenMines.dwarvenHud"))
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.dwarvenMines.metalDetectorHelper"))
+ .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dwarvenMines.metalDetectorHelper.@Tooltip")))
+ .binding(defaults.mining.crystalHollows.metalDetectorHelper,
+ () -> config.mining.crystalHollows.metalDetectorHelper,
+ newValue -> config.mining.crystalHollows.metalDetectorHelper = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .build())
+
+ //Crystal Hollows Map
+ .group(OptionGroup.createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.dwarvenMines.crystalsHud"))
+ .collapsed(false)
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.dwarvenMines.crystalsHud.enabled"))
+ .binding(defaults.mining.crystalsHud.enabled,
+ () -> config.mining.crystalsHud.enabled,
+ newValue -> config.mining.crystalsHud.enabled = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(ButtonOption.createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.dwarvenMines.crystalsHud.screen"))
+ .text(Text.translatable("text.skyblocker.open"))
+ .action((screen, opt) -> MinecraftClient.getInstance().setScreen(new CrystalsHudConfigScreen(screen)))
+ .build())
+ .option(Option.<Float>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.dwarvenMines.crystalsHud.mapScaling"))
+ .binding(defaults.mining.crystalsHud.mapScaling,
+ () -> config.mining.crystalsHud.mapScaling,
+ newValue -> config.mining.crystalsHud.mapScaling = newValue)
+ .controller(FloatFieldControllerBuilder::create)
+ .build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.dwarvenMines.crystalsHud.showLocations"))
+ .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dwarvenMines.crystalsHud.showLocations.@Tooltip")))
+ .binding(defaults.mining.crystalsHud.showLocations,
+ () -> config.mining.crystalsHud.showLocations,
+ newValue -> config.mining.crystalsHud.showLocations = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Integer>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.dwarvenMines.crystalsHud.showLocations.locationSize"))
+ .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dwarvenMines.crystalsHud.showLocations.locationSize.@Tooltip")))
+ .binding(defaults.mining.crystalsHud.locationSize,
+ () -> config.mining.crystalsHud.locationSize,
+ newValue -> config.mining.crystalsHud.locationSize = newValue)
+ .controller(opt -> IntegerSliderControllerBuilder.create(opt).range(4, 12).step(2))
+ .build())
+ .build())
+
+ //Crystal Hollows waypoints
+ .group(OptionGroup.createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.dwarvenMines.crystalsWaypoints"))
+ .collapsed(false)
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.dwarvenMines.crystalsWaypoints.enabled"))
+ .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dwarvenMines.crystalsWaypoints.enabled.@Tooltip")))
+ .binding(defaults.mining.crystalsWaypoints.enabled,
+ () -> config.mining.crystalsWaypoints.enabled,
+ newValue -> config.mining.crystalsWaypoints.enabled = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.dwarvenMines.crystalsWaypoints.findInChat"))
+ .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dwarvenMines.crystalsWaypoints.findInChat.@Tooltip")))
+ .binding(defaults.mining.crystalsWaypoints.findInChat,
+ () -> config.mining.crystalsWaypoints.findInChat,
+ newValue -> config.mining.crystalsWaypoints.findInChat = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+
+ .build())
+ .build();
+ }
+}
diff --git a/src/main/java/de/hysky/skyblocker/config/categories/MiscCategory.java b/src/main/java/de/hysky/skyblocker/config/categories/MiscCategory.java
new file mode 100644
index 00000000..70b4ee1b
--- /dev/null
+++ b/src/main/java/de/hysky/skyblocker/config/categories/MiscCategory.java
@@ -0,0 +1,63 @@
+package de.hysky.skyblocker.config.categories;
+
+import de.hysky.skyblocker.config.ConfigUtils;
+import de.hysky.skyblocker.config.SkyblockerConfig;
+import de.hysky.skyblocker.config.configs.MiscConfig;
+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.controller.StringControllerBuilder;
+import net.minecraft.text.Text;
+
+public class MiscCategory {
+
+ public static ConfigCategory create(SkyblockerConfig defaults, SkyblockerConfig config) {
+ return ConfigCategory.createBuilder()
+ .name(Text.translatable("skyblocker.category.misc"))
+
+ //Uncategorized Options
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.general.hideStatusEffectOverlay"))
+ .binding(defaults.misc.hideStatusEffectOverlay,
+ () -> config.misc.hideStatusEffectOverlay,
+ newValue -> config.misc.hideStatusEffectOverlay = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+
+ //Discord RPC
+ .group(OptionGroup.createBuilder()
+ .name(Text.translatable("skyblocker.option.misc.richPresence"))
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.misc.richPresence.enableRichPresence"))
+ .binding(defaults.misc.richPresence.enableRichPresence,
+ () -> config.misc.richPresence.enableRichPresence,
+ newValue -> config.misc.richPresence.enableRichPresence = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<MiscConfig.Info>createBuilder()
+ .name(Text.translatable("skyblocker.option.misc.richPresence.info"))
+ .description(OptionDescription.of(Text.translatable("skyblocker.option.misc.richPresence.info.@Tooltip")))
+ .binding(defaults.misc.richPresence.info,
+ () -> config.misc.richPresence.info,
+ newValue -> config.misc.richPresence.info = newValue)
+ .controller(ConfigUtils::createEnumCyclingListController)
+ .build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.misc.richPresence.cycleMode"))
+ .binding(defaults.misc.richPresence.cycleMode,
+ () -> config.misc.richPresence.cycleMode,
+ newValue -> config.misc.richPresence.cycleMode = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<String>createBuilder()
+ .name(Text.translatable("skyblocker.option.misc.richPresence.customMessage"))
+ .binding(defaults.misc.richPresence.customMessage,
+ () -> config.misc.richPresence.customMessage,
+ newValue -> config.misc.richPresence.customMessage = newValue)
+ .controller(StringControllerBuilder::create)
+ .build())
+ .build())
+ .build();
+ }
+}
diff --git a/src/main/java/de/hysky/skyblocker/config/categories/OtherLocationsCategory.java b/src/main/java/de/hysky/skyblocker/config/categories/OtherLocationsCategory.java
new file mode 100644
index 00000000..63afdeee
--- /dev/null
+++ b/src/main/java/de/hysky/skyblocker/config/categories/OtherLocationsCategory.java
@@ -0,0 +1,169 @@
+package de.hysky.skyblocker.config.categories;
+
+import de.hysky.skyblocker.config.ConfigUtils;
+import de.hysky.skyblocker.config.SkyblockerConfig;
+import de.hysky.skyblocker.skyblock.end.EndHudConfigScreen;
+import de.hysky.skyblocker.skyblock.end.EndHudWidget;
+import de.hysky.skyblocker.skyblock.end.TheEnd;
+import de.hysky.skyblocker.skyblock.garden.FarmingHudConfigScreen;
+import dev.isxander.yacl3.api.*;
+import dev.isxander.yacl3.api.controller.IntegerSliderControllerBuilder;
+import net.minecraft.client.MinecraftClient;
+import net.minecraft.text.Text;
+
+public class OtherLocationsCategory {
+
+ public static ConfigCategory create(SkyblockerConfig defaults, SkyblockerConfig config) {
+ return ConfigCategory.createBuilder()
+ .name(Text.translatable("skyblocker.category.locations"))
+
+ //Barn
+ .group(OptionGroup.createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.barn"))
+ .collapsed(false)
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.barn.solveHungryHiker"))
+ .binding(defaults.otherLocations.barn.solveHungryHiker,
+ () -> config.otherLocations.barn.solveHungryHiker,
+ newValue -> config.otherLocations.barn.solveHungryHiker = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.barn.solveTreasureHunter"))
+ .binding(defaults.otherLocations.barn.solveTreasureHunter,
+ () -> config.otherLocations.barn.solveTreasureHunter,
+ newValue -> config.otherLocations.barn.solveTreasureHunter = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .build())
+
+ //The Rift
+ .group(OptionGroup.createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.rift"))
+ .collapsed(false)
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.rift.mirrorverseWaypoints"))
+ .binding(defaults.otherLocations.rift.mirrorverseWaypoints,
+ () -> config.otherLocations.rift.mirrorverseWaypoints,
+ newValue -> config.otherLocations.rift.mirrorverseWaypoints = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.rift.blobbercystGlow"))
+ .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.rift.blobbercystGlow.@Tooltip")))
+ .binding(defaults.otherLocations.rift.blobbercystGlow,
+ () -> config.otherLocations.rift.blobbercystGlow,
+ newValue -> config.otherLocations.rift.blobbercystGlow = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.rift.enigmaSoulWaypoints"))
+ .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.rift.enigmaSoulWaypoints.@Tooltip")))
+ .binding(defaults.otherLocations.rift.enigmaSoulWaypoints,
+ () -> config.otherLocations.rift.enigmaSoulWaypoints,
+ newValue -> config.otherLocations.rift.enigmaSoulWaypoints = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.rift.highlightFoundEnigmaSouls"))
+ .binding(defaults.otherLocations.rift.highlightFoundEnigmaSouls,
+ () -> config.otherLocations.rift.highlightFoundEnigmaSouls,
+ newValue -> config.otherLocations.rift.highlightFoundEnigmaSouls = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Integer>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.rift.mcGrubberStacks"))
+ .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.rift.mcGrubberStacks.@Tooltip")))
+ .binding(defaults.otherLocations.rift.mcGrubberStacks,
+ () -> config.otherLocations.rift.mcGrubberStacks,
+ newValue -> config.otherLocations.rift.mcGrubberStacks = newValue)
+ .controller(opt -> IntegerSliderControllerBuilder.create(opt).range(0, 5).step(1))
+ .build())
+ .build())
+
+ // The end
+ .group(OptionGroup.createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.end"))
+ .collapsed(false)
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.end.enableEnderNodeHelper"))
+ .binding(defaults.otherLocations.end.enableEnderNodeHelper,
+ () -> config.otherLocations.end.enableEnderNodeHelper,
+ newValue -> config.otherLocations.end.enableEnderNodeHelper = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.end.hudEnabled"))
+ .binding(defaults.otherLocations.end.hudEnabled,
+ () -> config.otherLocations.end.hudEnabled,
+ newValue -> config.otherLocations.end.hudEnabled = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.end.zealotKillsEnabled"))
+ .binding(defaults.otherLocations.end.zealotKillsEnabled,
+ () -> config.otherLocations.end.zealotKillsEnabled,
+ newValue -> {
+ config.otherLocations.end.zealotKillsEnabled = newValue;
+ EndHudWidget.INSTANCE.update();
+ })
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.end.protectorLocationEnable"))
+ .binding(defaults.otherLocations.end.protectorLocationEnabled,
+ () -> config.otherLocations.end.protectorLocationEnabled,
+ newValue -> {
+ config.otherLocations.end.protectorLocationEnabled = newValue;
+ EndHudWidget.INSTANCE.update();
+ })
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.end.waypoint"))
+ .binding(defaults.otherLocations.end.waypoint,
+ () -> config.otherLocations.end.waypoint,
+ newValue -> config.otherLocations.end.waypoint = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(ButtonOption.createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.end.screen"))
+ .text(Text.translatable("text.skyblocker.open")) // Reusing again lol
+ .action((screen, opt) -> MinecraftClient.getInstance().setScreen(new EndHudConfigScreen(screen)))
+ .build())
+ .option(ButtonOption.createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.end.resetName"))
+ .text(Text.translatable("skyblocker.option.locations.end.resetText"))
+ .action((screen, opt) -> {
+ TheEnd.zealotsKilled = 0;
+ TheEnd.zealotsSinceLastEye = 0;
+ TheEnd.eyes = 0;
+ })
+ .build())
+ .build()
+
+ )
+
+ //Spider's Den
+ .group(OptionGroup.createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.spidersDen"))
+ .collapsed(false)
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.spidersDen.relics.enableRelicsHelper"))
+ .binding(defaults.otherLocations.spidersDen.relics.enableRelicsHelper,
+ () -> config.otherLocations.spidersDen.relics.enableRelicsHelper,
+ newValue -> config.otherLocations.spidersDen.relics.enableRelicsHelper = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.locations.spidersDen.relics.highlightFoundRelics"))
+ .binding(defaults.otherLocations.spidersDen.relics.highlightFoundRelics,
+ () -> config.otherLocations.spidersDen.relics.highlightFoundRelics,
+ newValue -> config.otherLocations.spidersDen.relics.highlightFoundRelics = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .build())
+
+ .build();
+ }
+}
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 7dd41731..15d94fed 100644
--- a/src/main/java/de/hysky/skyblocker/config/categories/QuickNavigationCategory.java
+++ b/src/main/java/de/hysky/skyblocker/config/categories/QuickNavigationCategory.java
@@ -12,607 +12,607 @@ import net.minecraft.text.Text;
public class QuickNavigationCategory {
- public static ConfigCategory create(SkyblockerConfig defaults, SkyblockerConfig config) {
- return ConfigCategory.createBuilder()
- .name(Text.translatable("skyblocker.category.quickNav"))
+ public static ConfigCategory create(SkyblockerConfig defaults, SkyblockerConfig config) {
+ return ConfigCategory.createBuilder()
+ .name(Text.translatable("skyblocker.category.quickNav"))
- //Toggle
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.quickNav.enableQuickNav"))
- .binding(defaults.quickNav.enableQuickNav,
- () -> config.quickNav.enableQuickNav,
- newValue -> config.quickNav.enableQuickNav = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
+ //Toggle
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.quickNav.enableQuickNav"))
+ .binding(defaults.quickNav.enableQuickNav,
+ () -> config.quickNav.enableQuickNav,
+ newValue -> config.quickNav.enableQuickNav = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
- //Button 1
- .group(OptionGroup.createBuilder()
- .name(Text.translatable("skyblocker.option.quickNav.button", 1))
- .collapsed(true)
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.quickNav.button.render"))
- .binding(defaults.quickNav.button1.render,
- () -> config.quickNav.button1.render,
- newValue -> config.quickNav.button1.render = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<String>createBuilder()
- .name(Text.translatable("skyblocker.option.quickNav.button.item.itemName"))
- .binding(defaults.quickNav.button1.item.itemName,
- () -> config.quickNav.button1.item.itemName,
- newValue -> config.quickNav.button1.item.itemName = newValue)
- .controller(StringControllerBuilder::create)
- .build())
- .option(Option.<Integer>createBuilder()
- .name(Text.translatable("skyblocker.option.quickNav.button.item.count"))
- .binding(defaults.quickNav.button1.item.count,
- () -> config.quickNav.button1.item.count,
- newValue -> config.quickNav.button1.item.count = newValue)
- .controller(opt -> IntegerFieldControllerBuilder.create(opt).range(1, 64))
- .build())
- .option(Option.<String>createBuilder()
- .name(Text.translatable("skyblocker.option.quickNav.button.item.nbt"))
- .description(OptionDescription.of(Text.translatable("skyblocker.option.quickNav.button.item.nbt.@Tooltip")))
- .binding(defaults.quickNav.button1.item.nbt,
- () -> config.quickNav.button1.item.nbt,
- newValue -> config.quickNav.button1.item.nbt = newValue)
- .controller(StringControllerBuilder::create)
- .build())
- .option(Option.<String>createBuilder()
- .name(Text.translatable("skyblocker.option.quickNav.button.uiTitle"))
- .binding(defaults.quickNav.button1.uiTitle,
- () -> config.quickNav.button1.uiTitle,
- newValue -> config.quickNav.button1.uiTitle = newValue)
- .controller(StringControllerBuilder::create)
- .build())
- .option(Option.<String>createBuilder()
- .name(Text.translatable("skyblocker.option.quickNav.button.clickEvent"))
- .binding(defaults.quickNav.button1.clickEvent,
- () -> config.quickNav.button1.clickEvent,
- newValue -> config.quickNav.button1.clickEvent = newValue)
- .controller(StringControllerBuilder::create)
- .build())
- .build())
+ //Button 1
+ .group(OptionGroup.createBuilder()
+ .name(Text.translatable("skyblocker.option.quickNav.button", 1))
+ .collapsed(true)
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.quickNav.button.render"))
+ .binding(defaults.quickNav.button1.render,
+ () -> config.quickNav.button1.render,
+ newValue -> config.quickNav.button1.render = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<String>createBuilder()
+ .name(Text.translatable("skyblocker.option.quickNav.button.item.itemName"))
+ .binding(defaults.quickNav.button1.item.itemName,
+ () -> config.quickNav.button1.item.itemName,
+ newValue -> config.quickNav.button1.item.itemName = newValue)
+ .controller(StringControllerBuilder::create)
+ .build())
+ .option(Option.<Integer>createBuilder()
+ .name(Text.translatable("skyblocker.option.quickNav.button.item.count"))
+ .binding(defaults.quickNav.button1.item.count,
+ () -> config.quickNav.button1.item.count,
+ newValue -> config.quickNav.button1.item.count = newValue)
+ .controller(opt -> IntegerFieldControllerBuilder.create(opt).range(1, 64))
+ .build())
+ .option(Option.<String>createBuilder()
+ .name(Text.translatable("skyblocker.option.quickNav.button.item.nbt"))
+ .description(OptionDescription.of(Text.translatable("skyblocker.option.quickNav.button.item.nbt.@Tooltip")))
+ .binding(defaults.quickNav.button1.item.nbt,
+ () -> config.quickNav.button1.item.nbt,
+ newValue -> config.quickNav.button1.item.nbt = newValue)
+ .controller(StringControllerBuilder::create)
+ .build())
+ .option(Option.<String>createBuilder()
+ .name(Text.translatable("skyblocker.option.quickNav.button.uiTitle"))
+ .binding(defaults.quickNav.button1.uiTitle,
+ () -> config.quickNav.button1.uiTitle,
+ newValue -> config.quickNav.button1.uiTitle = newValue)
+ .controller(StringControllerBuilder::create)
+ .build())
+ .option(Option.<String>createBuilder()
+ .name(Text.translatable("skyblocker.option.quickNav.button.clickEvent"))
+ .binding(defaults.quickNav.button1.clickEvent,
+ () -> config.quickNav.button1.clickEvent,
+ newValue -> config.quickNav.button1.clickEvent = newValue)
+ .controller(StringControllerBuilder::create)
+ .build())
+ .build())
- //Button 2
- .group(OptionGroup.createBuilder()
- .name(Text.translatable("skyblocker.option.quickNav.button", 2))
- .collapsed(true)
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.quickNav.button.render"))
- .binding(defaults.quickNav.button2.render,
- () -> config.quickNav.button2.render,
- newValue -> config.quickNav.button2.render = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<String>createBuilder()
- .name(Text.translatable("skyblocker.option.quickNav.button.item.itemName"))
- .binding(defaults.quickNav.button2.item.itemName,
- () -> config.quickNav.button2.item.itemName,
- newValue -> config.quickNav.button2.item.itemName = newValue)
- .controller(StringControllerBuilder::create)
- .build())
- .option(Option.<Integer>createBuilder()
- .name(Text.translatable("skyblocker.option.quickNav.button.item.count"))
- .binding(defaults.quickNav.button2.item.count,
- () -> config.quickNav.button2.item.count,
- newValue -> config.quickNav.button2.item.count = newValue)
- .controller(opt -> IntegerFieldControllerBuilder.create(opt).range(1, 64))
- .build())
- .option(Option.<String>createBuilder()
- .name(Text.translatable("skyblocker.option.quickNav.button.item.nbt"))
- .description(OptionDescription.of(Text.translatable("skyblocker.option.quickNav.button.item.nbt.@Tooltip")))
- .binding(defaults.quickNav.button2.item.nbt,
- () -> config.quickNav.button2.item.nbt,
- newValue -> config.quickNav.button2.item.nbt = newValue)
- .controller(StringControllerBuilder::create)
- .build())
- .option(Option.<String>createBuilder()
- .name(Text.translatable("skyblocker.option.quickNav.button.uiTitle"))
- .binding(defaults.quickNav.button2.uiTitle,
- () -> config.quickNav.button2.uiTitle,
- newValue -> config.quickNav.button2.uiTitle = newValue)
- .controller(StringControllerBuilder::create)
- .build())
- .option(Option.<String>createBuilder()
- .name(Text.translatable("skyblocker.option.quickNav.button.clickEvent"))
- .binding(defaults.quickNav.button2.clickEvent,
- () -> config.quickNav.button2.clickEvent,
- newValue -> config.quickNav.button2.clickEvent = newValue)
- .controller(StringControllerBuilder::create)
- .build())
- .build())
+ //Button 2
+ .group(OptionGroup.createBuilder()
+ .name(Text.translatable("skyblocker.option.quickNav.button", 2))
+ .collapsed(true)
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.quickNav.button.render"))
+ .binding(defaults.quickNav.button2.render,
+ () -> config.quickNav.button2.render,
+ newValue -> config.quickNav.button2.render = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<String>createBuilder()
+ .name(Text.translatable("skyblocker.option.quickNav.button.item.itemName"))
+ .binding(defaults.quickNav.button2.item.itemName,
+ () -> config.quickNav.button2.item.itemName,
+ newValue -> config.quickNav.button2.item.itemName = newValue)
+ .controller(StringControllerBuilder::create)
+ .build())
+ .option(Option.<Integer>createBuilder()
+ .name(Text.translatable("skyblocker.option.quickNav.button.item.count"))
+ .binding(defaults.quickNav.button2.item.count,
+ () -> config.quickNav.button2.item.count,
+ newValue -> config.quickNav.button2.item.count = newValue)
+ .controller(opt -> IntegerFieldControllerBuilder.create(opt).range(1, 64))
+ .build())
+ .option(Option.<String>createBuilder()
+ .name(Text.translatable("skyblocker.option.quickNav.button.item.nbt"))
+ .description(OptionDescription.of(Text.translatable("skyblocker.option.quickNav.button.item.nbt.@Tooltip")))
+ .binding(defaults.quickNav.button2.item.nbt,
+ () -> config.quickNav.button2.item.nbt,
+ newValue -> config.quickNav.button2.item.nbt = newValue)
+ .controller(StringControllerBuilder::create)
+ .build())
+ .option(Option.<String>createBuilder()
+ .name(Text.translatable("skyblocker.option.quickNav.button.uiTitle"))
+ .binding(defaults.quickNav.button2.uiTitle,
+ () -> config.quickNav.button2.uiTitle,
+ newValue -> config.quickNav.button2.uiTitle = newValue)
+ .controller(StringControllerBuilder::create)
+ .build())
+ .option(Option.<String>createBuilder()
+ .name(Text.translatable("skyblocker.option.quickNav.button.clickEvent"))
+ .binding(defaults.quickNav.button2.clickEvent,
+ () -> config.quickNav.button2.clickEvent,
+ newValue -> config.quickNav.button2.clickEvent = newValue)
+ .controller(StringControllerBuilder::create)
+ .build())
+ .build())
- //Button 3
- .group(OptionGroup.createBuilder()
- .name(Text.translatable("skyblocker.option.quickNav.button", 3))
- .collapsed(true)
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.quickNav.button.render"))
- .binding(defaults.quickNav.button3.render,
- () -> config.quickNav.button3.render,
- newValue -> config.quickNav.button3.render = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<String>createBuilder()
- .name(Text.translatable("skyblocker.option.quickNav.button.item.itemName"))
- .binding(defaults.quickNav.button3.item.itemName,
- () -> config.quickNav.button3.item.itemName,
- newValue -> config.quickNav.button3.item.itemName = newValue)
- .controller(StringControllerBuilder::create)
- .build())
- .option(Option.<Integer>createBuilder()
- .name(Text.translatable("skyblocker.option.quickNav.button.item.count"))
- .binding(defaults.quickNav.button3.item.count,
- () -> config.quickNav.button3.item.count,
- newValue -> config.quickNav.button3.item.count = newValue)
- .controller(opt -> IntegerFieldControllerBuilder.create(opt).range(1, 64))
- .build())
- .option(Option.<String>createBuilder()
- .name(Text.translatable("skyblocker.option.quickNav.button.item.nbt"))
- .description(OptionDescription.of(Text.translatable("skyblocker.option.quickNav.button.item.nbt.@Tooltip")))
- .binding(defaults.quickNav.button3.item.nbt,
- () -> config.quickNav.button3.item.nbt,
- newValue -> config.quickNav.button3.item.nbt = newValue)
- .controller(StringControllerBuilder::create)
- .build())
- .option(Option.<String>createBuilder()
- .name(Text.translatable("skyblocker.option.quickNav.button.uiTitle"))
- .binding(defaults.quickNav.button3.uiTitle,
- () -> config.quickNav.button3.uiTitle,
- newValue -> config.quickNav.button3.uiTitle = newValue)
- .controller(StringControllerBuilder::create)
- .build())
- .option(Option.<String>createBuilder()
- .name(Text.translatable("skyblocker.option.quickNav.button.clickEvent"))
- .binding(defaults.quickNav.button3.clickEvent,
- () -> config.quickNav.button3.clickEvent,
- newValue -> config.quickNav.button3.clickEvent = newValue)
- .controller(StringControllerBuilder::create)
- .build())
- .build())
+ //Button 3
+ .group(OptionGroup.createBuilder()
+ .name(Text.translatable("skyblocker.option.quickNav.button", 3))
+ .collapsed(true)
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.quickNav.button.render"))
+ .binding(defaults.quickNav.button3.render,
+ () -> config.quickNav.button3.render,
+ newValue -> config.quickNav.button3.render = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<String>createBuilder()
+ .name(Text.translatable("skyblocker.option.quickNav.button.item.itemName"))
+ .binding(defaults.quickNav.button3.item.itemName,
+ () -> config.quickNav.button3.item.itemName,
+ newValue -> config.quickNav.button3.item.itemName = newValue)
+ .controller(StringControllerBuilder::create)
+ .build())
+ .option(Option.<Integer>createBuilder()
+ .name(Text.translatable("skyblocker.option.quickNav.button.item.count"))
+ .binding(defaults.quickNav.button3.item.count,
+ () -> config.quickNav.button3.item.count,
+ newValue -> config.quickNav.button3.item.count = newValue)
+ .controller(opt -> IntegerFieldControllerBuilder.create(opt).range(1, 64))
+ .build())
+ .option(Option.<String>createBuilder()
+ .name(Text.translatable("skyblocker.option.quickNav.button.item.nbt"))
+ .description(OptionDescription.of(Text.translatable("skyblocker.option.quickNav.button.item.nbt.@Tooltip")))
+ .binding(defaults.quickNav.button3.item.nbt,
+ () -> config.quickNav.button3.item.nbt,
+ newValue -> config.quickNav.button3.item.nbt = newValue)
+ .controller(StringControllerBuilder::create)
+ .build())
+ .option(Option.<String>createBuilder()
+ .name(Text.translatable("skyblocker.option.quickNav.button.uiTitle"))
+ .binding(defaults.quickNav.button3.uiTitle,
+ () -> config.quickNav.button3.uiTitle,
+ newValue -> config.quickNav.button3.uiTitle = newValue)
+ .controller(StringControllerBuilder::create)
+ .build())
+ .option(Option.<String>createBuilder()
+ .name(Text.translatable("skyblocker.option.quickNav.button.clickEvent"))
+ .binding(defaults.quickNav.button3.clickEvent,
+ () -> config.quickNav.button3.clickEvent,
+ newValue -> config.quickNav.button3.clickEvent = newValue)
+ .controller(StringControllerBuilder::create)
+ .build())
+ .build())
- //Button 4
- .group(OptionGroup.createBuilder()
- .name(Text.translatable("skyblocker.option.quickNav.button", 4))
- .collapsed(true)
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.quickNav.button.render"))
- .binding(defaults.quickNav.button4.render,
- () -> config.quickNav.button4.render,
- newValue -> config.quickNav.button4.render = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<String>createBuilder()
- .name(Text.translatable("skyblocker.option.quickNav.button.item.itemName"))
- .binding(defaults.quickNav.button4.item.itemName,
- () -> config.quickNav.button4.item.itemName,
- newValue -> config.quickNav.button4.item.itemName = newValue)
- .controller(StringControllerBuilder::create)
- .build())
- .option(Option.<Integer>createBuilder()
- .name(Text.translatable("skyblocker.option.quickNav.button.item.count"))
- .binding(defaults.quickNav.button4.item.count,
- () -> config.quickNav.button4.item.count,
- newValue -> config.quickNav.button4.item.count = newValue)
- .controller(opt -> IntegerFieldControllerBuilder.create(opt).range(1, 64))
- .build())
- .option(Option.<String>createBuilder()
- .name(Text.translatable("skyblocker.option.quickNav.button.item.nbt"))
- .description(OptionDescription.of(Text.translatable("skyblocker.option.quickNav.button.item.nbt.@Tooltip")))
- .binding(defaults.quickNav.button4.item.nbt,
- () -> config.quickNav.button4.item.nbt,
- newValue -> config.quickNav.button4.item.nbt = newValue)
- .controller(StringControllerBuilder::create)
- .build())
- .option(Option.<String>createBuilder()
- .name(Text.translatable("skyblocker.option.quickNav.button.uiTitle"))
- .binding(defaults.quickNav.button4.uiTitle,
- () -> config.quickNav.button4.uiTitle,
- newValue -> config.quickNav.button4.uiTitle = newValue)
- .controller(StringControllerBuilder::create)
- .build())
- .option(Option.<String>createBuilder()
- .name(Text.translatable("skyblocker.option.quickNav.button.clickEvent"))
- .binding(defaults.quickNav.button4.clickEvent,
- () -> config.quickNav.button4.clickEvent,
- newValue -> config.quickNav.button4.clickEvent = newValue)
- .controller(StringControllerBuilder::create)
- .build())
- .build())
+ //Button 4
+ .group(OptionGroup.createBuilder()
+ .name(Text.translatable("skyblocker.option.quickNav.button", 4))
+ .collapsed(true)
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.quickNav.button.render"))
+ .binding(defaults.quickNav.button4.render,
+ () -> config.quickNav.button4.render,
+ newValue -> config.quickNav.button4.render = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<String>createBuilder()
+ .name(Text.translatable("skyblocker.option.quickNav.button.item.itemName"))
+ .binding(defaults.quickNav.button4.item.itemName,
+ () -> config.quickNav.button4.item.itemName,
+ newValue -> config.quickNav.button4.item.itemName = newValue)
+ .controller(StringControllerBuilder::create)
+ .build())
+ .option(Option.<Integer>createBuilder()
+ .name(Text.translatable("skyblocker.option.quickNav.button.item.count"))
+ .binding(defaults.quickNav.button4.item.count,
+ () -> config.quickNav.button4.item.count,
+ newValue -> config.quickNav.button4.item.count = newValue)
+ .controller(opt -> IntegerFieldControllerBuilder.create(opt).range(1, 64))
+ .build())
+ .option(Option.<String>createBuilder()
+ .name(Text.translatable("skyblocker.option.quickNav.button.item.nbt"))
+ .description(OptionDescription.of(Text.translatable("skyblocker.option.quickNav.button.item.nbt.@Tooltip")))
+ .binding(defaults.quickNav.button4.item.nbt,
+ () -> config.quickNav.button4.item.nbt,
+ newValue -> config.quickNav.button4.item.nbt = newValue)
+ .controller(StringControllerBuilder::create)
+ .build())
+ .option(Option.<String>createBuilder()
+ .name(Text.translatable("skyblocker.option.quickNav.button.uiTitle"))
+ .binding(defaults.quickNav.button4.uiTitle,
+ () -> config.quickNav.button4.uiTitle,
+ newValue -> config.quickNav.button4.uiTitle = newValue)
+ .controller(StringControllerBuilder::create)
+ .build())
+ .option(Option.<String>createBuilder()
+ .name(Text.translatable("skyblocker.option.quickNav.button.clickEvent"))
+ .binding(defaults.quickNav.button4.clickEvent,
+ () -> config.quickNav.button4.clickEvent,
+ newValue -> config.quickNav.button4.clickEvent = newValue)
+ .controller(StringControllerBuilder::create)
+ .build())
+ .build())
- //Button 5
- .group(OptionGroup.createBuilder()
- .name(Text.translatable("skyblocker.option.quickNav.button", 5))
- .collapsed(true)
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.quickNav.button.render"))
- .binding(defaults.quickNav.button5.render,
- () -> config.quickNav.button5.render,
- newValue -> config.quickNav.button5.render = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<String>createBuilder()
- .name(Text.translatable("skyblocker.option.quickNav.button.item.itemName"))
- .binding(defaults.quickNav.button5.item.itemName,
- () -> config.quickNav.button5.item.itemName,
- newValue -> config.quickNav.button5.item.itemName = newValue)
- .controller(StringControllerBuilder::create)
- .build())
- .option(Option.<Integer>createBuilder()
- .name(Text.translatable("skyblocker.option.quickNav.button.item.count"))
- .binding(defaults.quickNav.button5.item.count,
- () -> config.quickNav.button5.item.count,
- newValue -> config.quickNav.button5.item.count = newValue)
- .controller(opt -> IntegerFieldControllerBuilder.create(opt).range(1, 64))
- .build())
- .option(Option.<String>createBuilder()
- .name(Text.translatable("skyblocker.option.quickNav.button.item.nbt"))
- .description(OptionDescription.of(Text.translatable("skyblocker.option.quickNav.button.item.nbt.@Tooltip")))
- .binding(defaults.quickNav.button5.item.nbt,
- () -> config.quickNav.button5.item.nbt,
- newValue -> config.quickNav.button5.item.nbt = newValue)
- .controller(StringControllerBuilder::create)
- .build())
- .option(Option.<String>createBuilder()
- .name(Text.translatable("skyblocker.option.quickNav.button.uiTitle"))
- .binding(defaults.quickNav.button5.uiTitle,
- () -> config.quickNav.button5.uiTitle,
- newValue -> config.quickNav.button5.uiTitle = newValue)
- .controller(StringControllerBuilder::create)
- .build())
- .option(Option.<String>createBuilder()
- .name(Text.translatable("skyblocker.option.quickNav.button.clickEvent"))
- .binding(defaults.quickNav.button5.clickEvent,
- () -> config.quickNav.button5.clickEvent,
- newValue -> config.quickNav.button5.clickEvent = newValue)
- .controller(StringControllerBuilder::create)
- .build())
- .build())
+ //Button 5
+ .group(OptionGroup.createBuilder()
+ .name(Text.translatable("skyblocker.option.quickNav.button", 5))
+ .collapsed(true)
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.quickNav.button.render"))
+ .binding(defaults.quickNav.button5.render,
+ () -> config.quickNav.button5.render,
+ newValue -> config.quickNav.button5.render = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<String>createBuilder()
+ .name(Text.translatable("skyblocker.option.quickNav.button.item.itemName"))
+ .binding(defaults.quickNav.button5.item.itemName,
+ () -> config.quickNav.button5.item.itemName,
+ newValue -> config.quickNav.button5.item.itemName = newValue)
+ .controller(StringControllerBuilder::create)
+ .build())
+ .option(Option.<Integer>createBuilder()
+ .name(Text.translatable("skyblocker.option.quickNav.button.item.count"))
+ .binding(defaults.quickNav.button5.item.count,
+ () -> config.quickNav.button5.item.count,
+ newValue -> config.quickNav.button5.item.count = newValue)
+ .controller(opt -> IntegerFieldControllerBuilder.create(opt).range(1, 64))
+ .build())
+ .option(Option.<String>createBuilder()
+ .name(Text.translatable("skyblocker.option.quickNav.button.item.nbt"))
+ .description(OptionDescription.of(Text.translatable("skyblocker.option.quickNav.button.item.nbt.@Tooltip")))
+ .binding(defaults.quickNav.button5.item.nbt,
+ () -> config.quickNav.button5.item.nbt,
+ newValue -> config.quickNav.button5.item.nbt = newValue)
+ .controller(StringControllerBuilder::create)
+ .build())
+ .option(Option.<String>createBuilder()
+ .name(Text.translatable("skyblocker.option.quickNav.button.uiTitle"))
+ .binding(defaults.quickNav.button5.uiTitle,
+ () -> config.quickNav.button5.uiTitle,
+ newValue -> config.quickNav.button5.uiTitle = newValue)
+ .controller(StringControllerBuilder::create)
+ .build())
+ .option(Option.<String>createBuilder()
+ .name(Text.translatable("skyblocker.option.quickNav.button.clickEvent"))
+ .binding(defaults.quickNav.button5.clickEvent,
+ () -> config.quickNav.button5.clickEvent,
+ newValue -> config.quickNav.button5.clickEvent = newValue)
+ .controller(StringControllerBuilder::create)
+ .build())
+ .build())
- //Button 6
- .group(OptionGroup.createBuilder()
- .name(Text.translatable("skyblocker.option.quickNav.button", 6))
- .collapsed(true)
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.quickNav.button.render"))
- .binding(defaults.quickNav.button6.render,
- () -> config.quickNav.button6.render,
- newValue -> config.quickNav.button6.render = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<String>createBuilder()
- .name(Text.translatable("skyblocker.option.quickNav.button.item.itemName"))
- .binding(defaults.quickNav.button6.item.itemName,
- () -> config.quickNav.button6.item.itemName,
- newValue -> config.quickNav.button6.item.itemName = newValue)
- .controller(StringControllerBuilder::create)
- .build())
- .option(Option.<Integer>createBuilder()
- .name(Text.translatable("skyblocker.option.quickNav.button.item.count"))
- .binding(defaults.quickNav.button6.item.count,
- () -> config.quickNav.button6.item.count,
- newValue -> config.quickNav.button6.item.count = newValue)
- .controller(opt -> IntegerFieldControllerBuilder.create(opt).range(1, 64))
- .build())
- .option(Option.<String>createBuilder()
- .name(Text.translatable("skyblocker.option.quickNav.button.item.nbt"))
- .description(OptionDescription.of(Text.translatable("skyblocker.option.quickNav.button.item.nbt.@Tooltip")))
- .binding(defaults.quickNav.button6.item.nbt,
- () -> config.quickNav.button6.item.nbt,
- newValue -> config.quickNav.button6.item.nbt = newValue)
- .controller(StringControllerBuilder::create)
- .build())
- .option(Option.<String>createBuilder()
- .name(Text.translatable("skyblocker.option.quickNav.button.uiTitle"))
- .binding(defaults.quickNav.button6.uiTitle,
- () -> config.quickNav.button6.uiTitle,
- newValue -> config.quickNav.button6.uiTitle = newValue)
- .controller(StringControllerBuilder::create)
- .build())
- .option(Option.<String>createBuilder()
- .name(Text.translatable("skyblocker.option.quickNav.button.clickEvent"))
- .binding(defaults.quickNav.button6.clickEvent,
- () -> config.quickNav.button6.clickEvent,
- newValue -> config.quickNav.button6.clickEvent = newValue)
- .controller(StringControllerBuilder::create)
- .build())
- .build())
+ //Button 6
+ .group(OptionGroup.createBuilder()
+ .name(Text.translatable("skyblocker.option.quickNav.button", 6))
+ .collapsed(true)
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.quickNav.button.render"))
+ .binding(defaults.quickNav.button6.render,
+ () -> config.quickNav.button6.render,
+ newValue -> config.quickNav.button6.render = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<String>createBuilder()
+ .name(Text.translatable("skyblocker.option.quickNav.button.item.itemName"))
+ .binding(defaults.quickNav.button6.item.itemName,
+ () -> config.quickNav.button6.item.itemName,
+ newValue -> config.quickNav.button6.item.itemName = newValue)
+ .controller(StringControllerBuilder::create)
+ .build())
+ .option(Option.<Integer>createBuilder()
+ .name(Text.translatable("skyblocker.option.quickNav.button.item.count"))
+ .binding(defaults.quickNav.button6.item.count,
+ () -> config.quickNav.button6.item.count,
+ newValue -> config.quickNav.button6.item.count = newValue)
+ .controller(opt -> IntegerFieldControllerBuilder.create(opt).range(1, 64))
+ .build())
+ .option(Option.<String>createBuilder()
+ .name(Text.translatable("skyblocker.option.quickNav.button.item.nbt"))
+ .description(OptionDescription.of(Text.translatable("skyblocker.option.quickNav.button.item.nbt.@Tooltip")))
+ .binding(defaults.quickNav.button6.item.nbt,
+ () -> config.quickNav.button6.item.nbt,
+ newValue -> config.quickNav.button6.item.nbt = newValue)
+ .controller(StringControllerBuilder::create)
+ .build())
+ .option(Option.<String>createBuilder()
+ .name(Text.translatable("skyblocker.option.quickNav.button.uiTitle"))
+ .binding(defaults.quickNav.button6.uiTitle,
+ () -> config.quickNav.button6.uiTitle,
+ newValue -> config.quickNav.button6.uiTitle = newValue)
+ .controller(StringControllerBuilder::create)
+ .build())
+ .option(Option.<String>createBuilder()
+ .name(Text.translatable("skyblocker.option.quickNav.button.clickEvent"))
+ .binding(defaults.quickNav.button6.clickEvent,
+ () -> config.quickNav.button6.clickEvent,
+ newValue -> config.quickNav.button6.clickEvent = newValue)
+ .controller(StringControllerBuilder::create)
+ .build())
+ .build())
- //Button 7
- .group(OptionGroup.createBuilder()
- .name(Text.translatable("skyblocker.option.quickNav.button", 7))
- .collapsed(true)
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.quickNav.button.render"))
- .binding(defaults.quickNav.button7.render,
- () -> config.quickNav.button7.render,
- newValue -> config.quickNav.button7.render = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<String>createBuilder()
- .name(Text.translatable("skyblocker.option.quickNav.button.item.itemName"))
- .binding(defaults.quickNav.button7.item.itemName,
- () -> config.quickNav.button7.item.itemName,
- newValue -> config.quickNav.button7.item.itemName = newValue)
- .controller(StringControllerBuilder::create)
- .build())
- .option(Option.<Integer>createBuilder()
- .name(Text.translatable("skyblocker.option.quickNav.button.item.count"))
- .binding(defaults.quickNav.button7.item.count,
- () -> config.quickNav.button7.item.count,
- newValue -> config.quickNav.button7.item.count = newValue)
- .controller(opt -> IntegerFieldControllerBuilder.create(opt).range(1, 64))
- .build())
- .option(Option.<String>createBuilder()
- .name(Text.translatable("skyblocker.option.quickNav.button.item.nbt"))
- .description(OptionDescription.of(Text.translatable("skyblocker.option.quickNav.button.item.nbt.@Tooltip")))
- .binding(defaults.quickNav.button7.item.nbt,
- () -> config.quickNav.button7.item.nbt,
- newValue -> config.quickNav.button7.item.nbt = newValue)
- .controller(StringControllerBuilder::create)
- .build())
- .option(Option.<String>createBuilder()
- .name(Text.translatable("skyblocker.option.quickNav.button.uiTitle"))
- .binding(defaults.quickNav.button7.uiTitle,
- () -> config.quickNav.button7.uiTitle,
- newValue -> config.quickNav.button7.uiTitle = newValue)
- .controller(StringControllerBuilder::create)
- .build())
- .option(Option.<String>createBuilder()
- .name(Text.translatable("skyblocker.option.quickNav.button.clickEvent"))
- .binding(defaults.quickNav.button7.clickEvent,
- () -> config.quickNav.button7.clickEvent,
- newValue -> config.quickNav.button7.clickEvent = newValue)
- .controller(StringControllerBuilder::create)
- .build())
- .build())
+ //Button 7
+ .group(OptionGroup.createBuilder()
+ .name(Text.translatable("skyblocker.option.quickNav.button", 7))
+ .collapsed(true)
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.quickNav.button.render"))
+ .binding(defaults.quickNav.button7.render,
+ () -> config.quickNav.button7.render,
+ newValue -> config.quickNav.button7.render = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<String>createBuilder()
+ .name(Text.translatable("skyblocker.option.quickNav.button.item.itemName"))
+ .binding(defaults.quickNav.button7.item.itemName,
+ () -> config.quickNav.button7.item.itemName,
+ newValue -> config.quickNav.button7.item.itemName = newValue)
+ .controller(StringControllerBuilder::create)
+ .build())
+ .option(Option.<Integer>createBuilder()
+ .name(Text.translatable("skyblocker.option.quickNav.button.item.count"))
+ .binding(defaults.quickNav.button7.item.count,
+ () -> config.quickNav.button7.item.count,
+ newValue -> config.quickNav.button7.item.count = newValue)
+ .controller(opt -> IntegerFieldControllerBuilder.create(opt).range(1, 64))
+ .build())
+ .option(Option.<String>createBuilder()
+ .name(Text.translatable("skyblocker.option.quickNav.button.item.nbt"))
+ .description(OptionDescription.of(Text.translatable("skyblocker.option.quickNav.button.item.nbt.@Tooltip")))
+ .binding(defaults.quickNav.button7.item.nbt,
+ () -> config.quickNav.button7.item.nbt,
+ newValue -> config.quickNav.button7.item.nbt = newValue)
+ .controller(StringControllerBuilder::create)
+ .build())
+ .option(Option.<String>createBuilder()
+ .name(Text.translatable("skyblocker.option.quickNav.button.uiTitle"))
+ .binding(defaults.quickNav.button7.uiTitle,
+ () -> config.quickNav.button7.uiTitle,
+ newValue -> config.quickNav.button7.uiTitle = newValue)
+ .controller(StringControllerBuilder::create)
+ .build())
+ .option(Option.<String>createBuilder()
+ .name(Text.translatable("skyblocker.option.quickNav.button.clickEvent"))
+ .binding(defaults.quickNav.button7.clickEvent,
+ () -> config.quickNav.button7.clickEvent,
+ newValue -> config.quickNav.button7.clickEvent = newValue)
+ .controller(StringControllerBuilder::create)
+ .build())
+ .build())
- //Button 8
- .group(OptionGroup.createBuilder()
- .name(Text.translatable("skyblocker.option.quickNav.button", 8))
- .collapsed(true)
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.quickNav.button.render"))
- .binding(defaults.quickNav.button8.render,
- () -> config.quickNav.button8.render,
- newValue -> config.quickNav.button8.render = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<String>createBuilder()
- .name(Text.translatable("skyblocker.option.quickNav.button.item.itemName"))
- .binding(defaults.quickNav.button8.item.itemName,
- () -> config.quickNav.button8.item.itemName,
- newValue -> config.quickNav.button8.item.itemName = newValue)
- .controller(StringControllerBuilder::create)
- .build())
- .option(Option.<Integer>createBuilder()
- .name(Text.translatable("skyblocker.option.quickNav.button.item.count"))
- .binding(defaults.quickNav.button8.item.count,
- () -> config.quickNav.button8.item.count,
- newValue -> config.quickNav.button8.item.count = newValue)
- .controller(opt -> IntegerFieldControllerBuilder.create(opt).range(1, 64))
- .build())
- .option(Option.<String>createBuilder()
- .name(Text.translatable("skyblocker.option.quickNav.button.item.nbt"))
- .description(OptionDescription.of(Text.translatable("skyblocker.option.quickNav.button.item.nbt.@Tooltip")))
- .binding(defaults.quickNav.button8.item.nbt,
- () -> config.quickNav.button8.item.nbt,
- newValue -> config.quickNav.button8.item.nbt = newValue)
- .controller(StringControllerBuilder::create)
- .build())
- .option(Option.<String>createBuilder()
- .name(Text.translatable("skyblocker.option.quickNav.button.uiTitle"))
- .binding(defaults.quickNav.button8.uiTitle,
- () -> config.quickNav.button8.uiTitle,
- newValue -> config.quickNav.button8.uiTitle = newValue)
- .controller(StringControllerBuilder::create)
- .build())
- .option(Option.<String>createBuilder()
- .name(Text.translatable("skyblocker.option.quickNav.button.clickEvent"))
- .binding(defaults.quickNav.button8.clickEvent,
- () -> config.quickNav.button8.clickEvent,
- newValue -> config.quickNav.button8.clickEvent = newValue)
- .controller(StringControllerBuilder::create)
- .build())
- .build())
+ //Button 8
+ .group(OptionGroup.createBuilder()
+ .name(Text.translatable("skyblocker.option.quickNav.button", 8))
+ .collapsed(true)
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.quickNav.button.render"))
+ .binding(defaults.quickNav.button8.render,
+ () -> config.quickNav.button8.render,
+ newValue -> config.quickNav.button8.render = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<String>createBuilder()
+ .name(Text.translatable("skyblocker.option.quickNav.button.item.itemName"))
+ .binding(defaults.quickNav.button8.item.itemName,
+ () -> config.quickNav.button8.item.itemName,
+ newValue -> config.quickNav.button8.item.itemName = newValue)
+ .controller(StringControllerBuilder::create)
+ .build())
+ .option(Option.<Integer>createBuilder()
+ .name(Text.translatable("skyblocker.option.quickNav.button.item.count"))
+ .binding(defaults.quickNav.button8.item.count,
+ () -> config.quickNav.button8.item.count,
+ newValue -> config.quickNav.button8.item.count = newValue)
+ .controller(opt -> IntegerFieldControllerBuilder.create(opt).range(1, 64))
+ .build())
+ .option(Option.<String>createBuilder()
+ .name(Text.translatable("skyblocker.option.quickNav.button.item.nbt"))
+ .description(OptionDescription.of(Text.translatable("skyblocker.option.quickNav.button.item.nbt.@Tooltip")))
+ .binding(defaults.quickNav.button8.item.nbt,
+ () -> config.quickNav.button8.item.nbt,
+ newValue -> config.quickNav.button8.item.nbt = newValue)
+ .controller(StringControllerBuilder::create)
+ .build())
+ .option(Option.<String>createBuilder()
+ .name(Text.translatable("skyblocker.option.quickNav.button.uiTitle"))
+ .binding(defaults.quickNav.button8.uiTitle,
+ () -> config.quickNav.button8.uiTitle,
+ newValue -> config.quickNav.button8.uiTitle = newValue)
+ .controller(StringControllerBuilder::create)
+ .build())
+ .option(Option.<String>createBuilder()
+ .name(Text.translatable("skyblocker.option.quickNav.button.clickEvent"))
+ .binding(defaults.quickNav.button8.clickEvent,
+ () -> config.quickNav.button8.clickEvent,
+ newValue -> config.quickNav.button8.clickEvent = newValue)
+ .controller(StringControllerBuilder::create)
+ .build())
+ .build())
- //Button 9
- .group(OptionGroup.createBuilder()
- .name(Text.translatable("skyblocker.option.quickNav.button", 9))
- .collapsed(true)
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.quickNav.button.render"))
- .binding(defaults.quickNav.button9.render,
- () -> config.quickNav.button9.render,
- newValue -> config.quickNav.button9.render = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<String>createBuilder()
- .name(Text.translatable("skyblocker.option.quickNav.button.item.itemName"))
- .binding(defaults.quickNav.button9.item.itemName,
- () -> config.quickNav.button9.item.itemName,
- newValue -> config.quickNav.button9.item.itemName = newValue)
- .controller(StringControllerBuilder::create)
- .build())
- .option(Option.<Integer>createBuilder()
- .name(Text.translatable("skyblocker.option.quickNav.button.item.count"))
- .binding(defaults.quickNav.button9.item.count,
- () -> config.quickNav.button9.item.count,
- newValue -> config.quickNav.button9.item.count = newValue)
- .controller(opt -> IntegerFieldControllerBuilder.create(opt).range(1, 64))
- .build())
- .option(Option.<String>createBuilder()
- .name(Text.translatable("skyblocker.option.quickNav.button.item.nbt"))
- .description(OptionDescription.of(Text.translatable("skyblocker.option.quickNav.button.item.nbt.@Tooltip")))
- .binding(defaults.quickNav.button9.item.nbt,
- () -> config.quickNav.button9.item.nbt,
- newValue -> config.quickNav.button9.item.nbt = newValue)
- .controller(StringControllerBuilder::create)
- .build())
- .option(Option.<String>createBuilder()
- .name(Text.translatable("skyblocker.option.quickNav.button.uiTitle"))
- .binding(defaults.quickNav.button9.uiTitle,
- () -> config.quickNav.button9.uiTitle,
- newValue -> config.quickNav.button9.uiTitle = newValue)
- .controller(StringControllerBuilder::create)
- .build())
- .option(Option.<String>createBuilder()
- .name(Text.translatable("skyblocker.option.quickNav.button.clickEvent"))
- .binding(defaults.quickNav.button9.clickEvent,
- () -> config.quickNav.button9.clickEvent,
- newValue -> config.quickNav.button9.clickEvent = newValue)
- .controller(StringControllerBuilder::create)
- .build())
- .build())
+ //Button 9
+ .group(OptionGroup.createBuilder()
+ .name(Text.translatable("skyblocker.option.quickNav.button", 9))
+ .collapsed(true)
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.quickNav.button.render"))
+ .binding(defaults.quickNav.button9.render,
+ () -> config.quickNav.button9.render,
+ newValue -> config.quickNav.button9.render = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<String>createBuilder()
+ .name(Text.translatable("skyblocker.option.quickNav.button.item.itemName"))
+ .binding(defaults.quickNav.button9.item.itemName,
+ () -> config.quickNav.button9.item.itemName,
+ newValue -> config.quickNav.button9.item.itemName = newValue)
+ .controller(StringControllerBuilder::create)
+ .build())
+ .option(Option.<Integer>createBuilder()
+ .name(Text.translatable("skyblocker.option.quickNav.button.item.count"))
+ .binding(defaults.quickNav.button9.item.count,
+ () -> config.quickNav.button9.item.count,
+ newValue -> config.quickNav.button9.item.count = newValue)
+ .controller(opt -> IntegerFieldControllerBuilder.create(opt).range(1, 64))
+ .build())
+ .option(Option.<String>createBuilder()
+ .name(Text.translatable("skyblocker.option.quickNav.button.item.nbt"))
+ .description(OptionDescription.of(Text.translatable("skyblocker.option.quickNav.button.item.nbt.@Tooltip")))
+ .binding(defaults.quickNav.button9.item.nbt,
+ () -> config.quickNav.button9.item.nbt,
+ newValue -> config.quickNav.button9.item.nbt = newValue)
+ .controller(StringControllerBuilder::create)
+ .build())
+ .option(Option.<String>createBuilder()
+ .name(Text.translatable("skyblocker.option.quickNav.button.uiTitle"))
+ .binding(defaults.quickNav.button9.uiTitle,
+ () -> config.quickNav.button9.uiTitle,
+ newValue -> config.quickNav.button9.uiTitle = newValue)
+ .controller(StringControllerBuilder::create)
+ .build())
+ .option(Option.<String>createBuilder()
+ .name(Text.translatable("skyblocker.option.quickNav.button.clickEvent"))
+ .binding(defaults.quickNav.button9.clickEvent,
+ () -> config.quickNav.button9.clickEvent,
+ newValue -> config.quickNav.button9.clickEvent = newValue)
+ .controller(StringControllerBuilder::create)
+ .build())
+ .build())
- //Button 10
- .group(OptionGroup.createBuilder()
- .name(Text.translatable("skyblocker.option.quickNav.button", 10))
- .collapsed(true)
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.quickNav.button.render"))
- .binding(defaults.quickNav.button10.render,
- () -> config.quickNav.button10.render,
- newValue -> config.quickNav.button10.render = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<String>createBuilder()
- .name(Text.translatable("skyblocker.option.quickNav.button.item.itemName"))
- .binding(defaults.quickNav.button10.item.itemName,
- () -> config.quickNav.button10.item.itemName,
- newValue -> config.quickNav.button10.item.itemName = newValue)
- .controller(StringControllerBuilder::create)
- .build())
- .option(Option.<Integer>createBuilder()
- .name(Text.translatable("skyblocker.option.quickNav.button.item.count"))
- .binding(defaults.quickNav.button10.item.count,
- () -> config.quickNav.button10.item.count,
- newValue -> config.quickNav.button10.item.count = newValue)
- .controller(opt -> IntegerFieldControllerBuilder.create(opt).range(1, 64))
- .build())
- .option(Option.<String>createBuilder()
- .name(Text.translatable("skyblocker.option.quickNav.button.item.nbt"))
- .description(OptionDescription.of(Text.translatable("skyblocker.option.quickNav.button.item.nbt.@Tooltip")))
- .binding(defaults.quickNav.button10.item.nbt,
- () -> config.quickNav.button10.item.nbt,
- newValue -> config.quickNav.button10.item.nbt = newValue)
- .controller(StringControllerBuilder::create)
- .build())
- .option(Option.<String>createBuilder()
- .name(Text.translatable("skyblocker.option.quickNav.button.uiTitle"))
- .binding(defaults.quickNav.button10.uiTitle,
- () -> config.quickNav.button10.uiTitle,
- newValue -> config.quickNav.button10.uiTitle = newValue)
- .controller(StringControllerBuilder::create)
- .build())
- .option(Option.<String>createBuilder()
- .name(Text.translatable("skyblocker.option.quickNav.button.clickEvent"))
- .binding(defaults.quickNav.button10.clickEvent,
- () -> config.quickNav.button10.clickEvent,
- newValue -> config.quickNav.button10.clickEvent = newValue)
- .controller(StringControllerBuilder::create)
- .build())
- .build())
+ //Button 10
+ .group(OptionGroup.createBuilder()
+ .name(Text.translatable("skyblocker.option.quickNav.button", 10))
+ .collapsed(true)
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.quickNav.button.render"))
+ .binding(defaults.quickNav.button10.render,
+ () -> config.quickNav.button10.render,
+ newValue -> config.quickNav.button10.render = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<String>createBuilder()
+ .name(Text.translatable("skyblocker.option.quickNav.button.item.itemName"))
+ .binding(defaults.quickNav.button10.item.itemName,
+ () -> config.quickNav.button10.item.itemName,
+ newValue -> config.quickNav.button10.item.itemName = newValue)
+ .controller(StringControllerBuilder::create)
+ .build())
+ .option(Option.<Integer>createBuilder()
+ .name(Text.translatable("skyblocker.option.quickNav.button.item.count"))
+ .binding(defaults.quickNav.button10.item.count,
+ () -> config.quickNav.button10.item.count,
+ newValue -> config.quickNav.button10.item.count = newValue)
+ .controller(opt -> IntegerFieldControllerBuilder.create(opt).range(1, 64))
+ .build())
+ .option(Option.<String>createBuilder()
+ .name(Text.translatable("skyblocker.option.quickNav.button.item.nbt"))
+ .description(OptionDescription.of(Text.translatable("skyblocker.option.quickNav.button.item.nbt.@Tooltip")))
+ .binding(defaults.quickNav.button10.item.nbt,
+ () -> config.quickNav.button10.item.nbt,
+ newValue -> config.quickNav.button10.item.nbt = newValue)
+ .controller(StringControllerBuilder::create)
+ .build())
+ .option(Option.<String>createBuilder()
+ .name(Text.translatable("skyblocker.option.quickNav.button.uiTitle"))
+ .binding(defaults.quickNav.button10.uiTitle,
+ () -> config.quickNav.button10.uiTitle,
+ newValue -> config.quickNav.button10.uiTitle = newValue)
+ .controller(StringControllerBuilder::create)
+ .build())
+ .option(Option.<String>createBuilder()
+ .name(Text.translatable("skyblocker.option.quickNav.button.clickEvent"))
+ .binding(defaults.quickNav.button10.clickEvent,
+ () -> config.quickNav.button10.clickEvent,
+ newValue -> config.quickNav.button10.clickEvent = newValue)
+ .controller(StringControllerBuilder::create)
+ .build())
+ .build())
- //Button 11
- .group(OptionGroup.createBuilder()
- .name(Text.translatable("skyblocker.option.quickNav.button", 11))
- .collapsed(true)
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.quickNav.button.render"))
- .binding(defaults.quickNav.button11.render,
- () -> config.quickNav.button11.render,
- newValue -> config.quickNav.button11.render = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<String>createBuilder()
- .name(Text.translatable("skyblocker.option.quickNav.button.item.itemName"))
- .binding(defaults.quickNav.button11.item.itemName,
- () -> config.quickNav.button11.item.itemName,
- newValue -> config.quickNav.button11.item.itemName = newValue)
- .controller(StringControllerBuilder::create)
- .build())
- .option(Option.<Integer>createBuilder()
- .name(Text.translatable("skyblocker.option.quickNav.button.item.count"))
- .binding(defaults.quickNav.button11.item.count,
- () -> config.quickNav.button11.item.count,
- newValue -> config.quickNav.button11.item.count = newValue)
- .controller(opt -> IntegerFieldControllerBuilder.create(opt).range(1, 64))
- .build())
- .option(Option.<String>createBuilder()
- .name(Text.translatable("skyblocker.option.quickNav.button.item.nbt"))
- .description(OptionDescription.of(Text.translatable("skyblocker.option.quickNav.button.item.nbt.@Tooltip")))
- .binding(defaults.quickNav.button11.item.nbt,
- () -> config.quickNav.button11.item.nbt,
- newValue -> config.quickNav.button11.item.nbt = newValue)
- .controller(StringControllerBuilder::create)
- .build())
- .option(Option.<String>createBuilder()
- .name(Text.translatable("skyblocker.option.quickNav.button.uiTitle"))
- .binding(defaults.quickNav.button11.uiTitle,
- () -> config.quickNav.button11.uiTitle,
- newValue -> config.quickNav.button11.uiTitle = newValue)
- .controller(StringControllerBuilder::create)
- .build())
- .option(Option.<String>createBuilder()
- .name(Text.translatable("skyblocker.option.quickNav.button.clickEvent"))
- .binding(defaults.quickNav.button11.clickEvent,
- () -> config.quickNav.button11.clickEvent,
- newValue -> config.quickNav.button11.clickEvent = newValue)
- .controller(StringControllerBuilder::create)
- .build())
- .build())
+ //Button 11
+ .group(OptionGroup.createBuilder()
+ .name(Text.translatable("skyblocker.option.quickNav.button", 11))
+ .collapsed(true)
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.quickNav.button.render"))
+ .binding(defaults.quickNav.button11.render,
+ () -> config.quickNav.button11.render,
+ newValue -> config.quickNav.button11.render = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<String>createBuilder()
+ .name(Text.translatable("skyblocker.option.quickNav.button.item.itemName"))
+ .binding(defaults.quickNav.button11.item.itemName,
+ () -> config.quickNav.button11.item.itemName,
+ newValue -> config.quickNav.button11.item.itemName = newValue)
+ .controller(StringControllerBuilder::create)
+ .build())
+ .option(Option.<Integer>createBuilder()
+ .name(Text.translatable("skyblocker.option.quickNav.button.item.count"))
+ .binding(defaults.quickNav.button11.item.count,
+ () -> config.quickNav.button11.item.count,
+ newValue -> config.quickNav.button11.item.count = newValue)
+ .controller(opt -> IntegerFieldControllerBuilder.create(opt).range(1, 64))
+ .build())
+ .option(Option.<String>createBuilder()
+ .name(Text.translatable("skyblocker.option.quickNav.button.item.nbt"))
+ .description(OptionDescription.of(Text.translatable("skyblocker.option.quickNav.button.item.nbt.@Tooltip")))
+ .binding(defaults.quickNav.button11.item.nbt,
+ () -> config.quickNav.button11.item.nbt,
+ newValue -> config.quickNav.button11.item.nbt = newValue)
+ .controller(StringControllerBuilder::create)
+ .build())
+ .option(Option.<String>createBuilder()
+ .name(Text.translatable("skyblocker.option.quickNav.button.uiTitle"))
+ .binding(defaults.quickNav.button11.uiTitle,
+ () -> config.quickNav.button11.uiTitle,
+ newValue -> config.quickNav.button11.uiTitle = newValue)
+ .controller(StringControllerBuilder::create)
+ .build())
+ .option(Option.<String>createBuilder()
+ .name(Text.translatable("skyblocker.option.quickNav.button.clickEvent"))
+ .binding(defaults.quickNav.button11.clickEvent,
+ () -> config.quickNav.button11.clickEvent,
+ newValue -> config.quickNav.button11.clickEvent = newValue)
+ .controller(StringControllerBuilder::create)
+ .build())
+ .build())
- //Button 12
- .group(OptionGroup.createBuilder()
- .name(Text.translatable("skyblocker.option.quickNav.button", 12))
- .collapsed(true)
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.quickNav.button.render"))
- .binding(defaults.quickNav.button12.render,
- () -> config.quickNav.button12.render,
- newValue -> config.quickNav.button12.render = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<String>createBuilder()
- .name(Text.translatable("skyblocker.option.quickNav.button.item.itemName"))
- .binding(defaults.quickNav.button12.item.itemName,
- () -> config.quickNav.button12.item.itemName,
- newValue -> config.quickNav.button12.item.itemName = newValue)
- .controller(StringControllerBuilder::create)
- .build())
- .option(Option.<Integer>createBuilder()
- .name(Text.translatable("skyblocker.option.quickNav.button.item.count"))
- .binding(defaults.quickNav.button12.item.count,
- () -> config.quickNav.button12.item.count,
- newValue -> config.quickNav.button12.item.count = newValue)
- .controller(opt -> IntegerFieldControllerBuilder.create(opt).range(1, 64))
- .build())
- .option(Option.<String>createBuilder()
- .name(Text.translatable("skyblocker.option.quickNav.button.item.nbt"))
- .description(OptionDescription.of(Text.translatable("skyblocker.option.quickNav.button.item.nbt.@Tooltip")))
- .binding(defaults.quickNav.button12.item.nbt,
- () -> config.quickNav.button12.item.nbt,
- newValue -> config.quickNav.button12.item.nbt = newValue)
- .controller(StringControllerBuilder::create)
- .build())
- .option(Option.<String>createBuilder()
- .name(Text.translatable("skyblocker.option.quickNav.button.uiTitle"))
- .binding(defaults.quickNav.button12.uiTitle,
- () -> config.quickNav.button12.uiTitle,
- newValue -> config.quickNav.button12.uiTitle = newValue)
- .controller(StringControllerBuilder::create)
- .build())
- .option(Option.<String>createBuilder()
- .name(Text.translatable("skyblocker.option.quickNav.button.clickEvent"))
- .binding(defaults.quickNav.button12.clickEvent,
- () -> config.quickNav.button12.clickEvent,
- newValue -> config.quickNav.button12.clickEvent = newValue)
- .controller(StringControllerBuilder::create)
- .build())
- .build())
+ //Button 12
+ .group(OptionGroup.createBuilder()
+ .name(Text.translatable("skyblocker.option.quickNav.button", 12))
+ .collapsed(true)
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.quickNav.button.render"))
+ .binding(defaults.quickNav.button12.render,
+ () -> config.quickNav.button12.render,
+ newValue -> config.quickNav.button12.render = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<String>createBuilder()
+ .name(Text.translatable("skyblocker.option.quickNav.button.item.itemName"))
+ .binding(defaults.quickNav.button12.item.itemName,
+ () -> config.quickNav.button12.item.itemName,
+ newValue -> config.quickNav.button12.item.itemName = newValue)
+ .controller(StringControllerBuilder::create)
+ .build())
+ .option(Option.<Integer>createBuilder()
+ .name(Text.translatable("skyblocker.option.quickNav.button.item.count"))
+ .binding(defaults.quickNav.button12.item.count,
+ () -> config.quickNav.button12.item.count,
+ newValue -> config.quickNav.button12.item.count = newValue)
+ .controller(opt -> IntegerFieldControllerBuilder.create(opt).range(1, 64))
+ .build())
+ .option(Option.<String>createBuilder()
+ .name(Text.translatable("skyblocker.option.quickNav.button.item.nbt"))
+ .description(OptionDescription.of(Text.translatable("skyblocker.option.quickNav.button.item.nbt.@Tooltip")))
+ .binding(defaults.quickNav.button12.item.nbt,
+ () -> config.quickNav.button12.item.nbt,
+ newValue -> config.quickNav.button12.item.nbt = newValue)
+ .controller(StringControllerBuilder::create)
+ .build())
+ .option(Option.<String>createBuilder()
+ .name(Text.translatable("skyblocker.option.quickNav.button.uiTitle"))
+ .binding(defaults.quickNav.button12.uiTitle,
+ () -> config.quickNav.button12.uiTitle,
+ newValue -> config.quickNav.button12.uiTitle = newValue)
+ .controller(StringControllerBuilder::create)
+ .build())
+ .option(Option.<String>createBuilder()
+ .name(Text.translatable("skyblocker.option.quickNav.button.clickEvent"))
+ .binding(defaults.quickNav.button12.clickEvent,
+ () -> config.quickNav.button12.clickEvent,
+ newValue -> config.quickNav.button12.clickEvent = newValue)
+ .controller(StringControllerBuilder::create)
+ .build())
+ .build())
- .build();
- }
+ .build();
+ }
}
diff --git a/src/main/java/de/hysky/skyblocker/config/categories/SlayersCategory.java b/src/main/java/de/hysky/skyblocker/config/categories/SlayersCategory.java
index 064b33e3..196baa85 100644
--- a/src/main/java/de/hysky/skyblocker/config/categories/SlayersCategory.java
+++ b/src/main/java/de/hysky/skyblocker/config/categories/SlayersCategory.java
@@ -13,131 +13,131 @@ import net.minecraft.text.Text;
public class SlayersCategory {
- public static ConfigCategory create(SkyblockerConfig defaults, SkyblockerConfig config) {
- return ConfigCategory.createBuilder()
- .name(Text.translatable("skyblocker.category.slayer"))
+ public static ConfigCategory create(SkyblockerConfig defaults, SkyblockerConfig config) {
+ return ConfigCategory.createBuilder()
+ .name(Text.translatable("skyblocker.category.slayer"))
- //Enderman Slayer
- .group(OptionGroup.createBuilder()
- .name(Text.translatable("skyblocker.option.slayer.endermanSlayer"))
- .collapsed(true)
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.slayer.endermanSlayer.enableYangGlyphsNotification"))
- .binding(defaults.slayer.endermanSlayer.enableYangGlyphsNotification,
- () -> config.slayer.endermanSlayer.enableYangGlyphsNotification,
- newValue -> config.slayer.endermanSlayer.enableYangGlyphsNotification = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.slayer.endermanSlayer.highlightBeacons"))
- .binding(defaults.slayer.endermanSlayer.highlightBeacons,
- () -> config.slayer.endermanSlayer.highlightBeacons,
- newValue -> config.slayer.endermanSlayer.highlightBeacons = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.slayer.endermanSlayer.highlightNukekubiHeads"))
- .binding(defaults.slayer.endermanSlayer.highlightNukekubiHeads,
- () -> config.slayer.endermanSlayer.highlightNukekubiHeads,
- newValue -> config.slayer.endermanSlayer.highlightNukekubiHeads = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .build())
+ //Enderman Slayer
+ .group(OptionGroup.createBuilder()
+ .name(Text.translatable("skyblocker.option.slayer.endermanSlayer"))
+ .collapsed(true)
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.slayer.endermanSlayer.enableYangGlyphsNotification"))
+ .binding(defaults.slayer.endermanSlayer.enableYangGlyphsNotification,
+ () -> config.slayer.endermanSlayer.enableYangGlyphsNotification,
+ newValue -> config.slayer.endermanSlayer.enableYangGlyphsNotification = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.slayer.endermanSlayer.highlightBeacons"))
+ .binding(defaults.slayer.endermanSlayer.highlightBeacons,
+ () -> config.slayer.endermanSlayer.highlightBeacons,
+ newValue -> config.slayer.endermanSlayer.highlightBeacons = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.slayer.endermanSlayer.highlightNukekubiHeads"))
+ .binding(defaults.slayer.endermanSlayer.highlightNukekubiHeads,
+ () -> config.slayer.endermanSlayer.highlightNukekubiHeads,
+ newValue -> config.slayer.endermanSlayer.highlightNukekubiHeads = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .build())
- //Vampire Slayer
- .group(OptionGroup.createBuilder()
- .name(Text.translatable("skyblocker.option.slayer.vampireSlayer"))
- .collapsed(true)
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.slayer.vampireSlayer.enableEffigyWaypoints"))
- .binding(defaults.slayer.vampireSlayer.enableEffigyWaypoints,
- () -> config.slayer.vampireSlayer.enableEffigyWaypoints,
- newValue -> config.slayer.vampireSlayer.enableEffigyWaypoints = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.slayer.vampireSlayer.compactEffigyWaypoints"))
- .binding(defaults.slayer.vampireSlayer.compactEffigyWaypoints,
- () -> config.slayer.vampireSlayer.compactEffigyWaypoints,
- newValue -> config.slayer.vampireSlayer.compactEffigyWaypoints = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Integer>createBuilder()
- .name(Text.translatable("skyblocker.option.slayer.vampireSlayer.effigyUpdateFrequency"))
- .description(OptionDescription.of(Text.translatable("skyblocker.option.slayer.vampireSlayer.effigyUpdateFrequency.@Tooltip")))
- .binding(defaults.slayer.vampireSlayer.effigyUpdateFrequency,
- () -> config.slayer.vampireSlayer.effigyUpdateFrequency,
- newValue -> config.slayer.vampireSlayer.effigyUpdateFrequency = newValue)
- .controller(opt -> IntegerSliderControllerBuilder.create(opt).range(1, 10).step(1))
- .build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.slayer.vampireSlayer.enableHolyIceIndicator"))
- .binding(defaults.slayer.vampireSlayer.enableHolyIceIndicator,
- () -> config.slayer.vampireSlayer.enableHolyIceIndicator,
- newValue -> config.slayer.vampireSlayer.enableHolyIceIndicator = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Integer>createBuilder()
- .name(Text.translatable("skyblocker.option.slayer.vampireSlayer.holyIceIndicatorTickDelay"))
- .binding(defaults.slayer.vampireSlayer.holyIceIndicatorTickDelay,
- () -> config.slayer.vampireSlayer.holyIceIndicatorTickDelay,
- newValue -> config.slayer.vampireSlayer.holyIceIndicatorTickDelay = newValue)
- .controller(IntegerFieldControllerBuilder::create)
- .build())
- .option(Option.<Integer>createBuilder()
- .name(Text.translatable("skyblocker.option.slayer.vampireSlayer.holyIceUpdateFrequency"))
- .description(OptionDescription.of(Text.translatable("skyblocker.option.slayer.vampireSlayer.holyIceUpdateFrequency.@Tooltip")))
- .binding(defaults.slayer.vampireSlayer.holyIceUpdateFrequency,
- () -> config.slayer.vampireSlayer.holyIceUpdateFrequency,
- newValue -> config.slayer.vampireSlayer.holyIceUpdateFrequency = newValue)
- .controller(opt -> IntegerSliderControllerBuilder.create(opt).range(1, 10).step(1))
- .build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.slayer.vampireSlayer.enableHealingMelonIndicator"))
- .binding(defaults.slayer.vampireSlayer.enableHealingMelonIndicator,
- () -> config.slayer.vampireSlayer.enableHealingMelonIndicator,
- newValue -> config.slayer.vampireSlayer.enableHealingMelonIndicator = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Float>createBuilder()
- .name(Text.translatable("skyblocker.option.slayer.vampireSlayer.healingMelonHealthThreshold"))
- .binding(defaults.slayer.vampireSlayer.healingMelonHealthThreshold,
- () -> config.slayer.vampireSlayer.healingMelonHealthThreshold,
- newValue -> config.slayer.vampireSlayer.healingMelonHealthThreshold = newValue)
- .controller(FloatFieldControllerBuilder::create)
- .build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.slayer.vampireSlayer.enableSteakStakeIndicator"))
- .binding(defaults.slayer.vampireSlayer.enableSteakStakeIndicator,
- () -> config.slayer.vampireSlayer.enableSteakStakeIndicator,
- newValue -> config.slayer.vampireSlayer.enableSteakStakeIndicator = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Integer>createBuilder()
- .name(Text.translatable("skyblocker.option.slayer.vampireSlayer.steakStakeUpdateFrequency"))
- .description(OptionDescription.of(Text.translatable("skyblocker.option.slayer.vampireSlayer.steakStakeUpdateFrequency.@Tooltip")))
- .binding(defaults.slayer.vampireSlayer.steakStakeUpdateFrequency,
- () -> config.slayer.vampireSlayer.steakStakeUpdateFrequency,
- newValue -> config.slayer.vampireSlayer.steakStakeUpdateFrequency = newValue)
- .controller(opt -> IntegerSliderControllerBuilder.create(opt).range(1, 10).step(1))
- .build())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.option.slayer.vampireSlayer.enableManiaIndicator"))
- .binding(defaults.slayer.vampireSlayer.enableManiaIndicator,
- () -> config.slayer.vampireSlayer.enableManiaIndicator,
- newValue -> config.slayer.vampireSlayer.enableManiaIndicator = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Integer>createBuilder()
- .name(Text.translatable("skyblocker.option.slayer.vampireSlayer.maniaUpdateFrequency"))
- .description(OptionDescription.of(Text.translatable("skyblocker.option.slayer.vampireSlayer.maniaUpdateFrequency.@Tooltip")))
- .binding(defaults.slayer.vampireSlayer.maniaUpdateFrequency,
- () -> config.slayer.vampireSlayer.maniaUpdateFrequency,
- newValue -> config.slayer.vampireSlayer.maniaUpdateFrequency = newValue)
- .controller(opt -> IntegerSliderControllerBuilder.create(opt).range(1, 10).step(1))
- .build())
- .build())
+ //Vampire Slayer
+ .group(OptionGroup.createBuilder()
+ .name(Text.translatable("skyblocker.option.slayer.vampireSlayer"))
+ .collapsed(true)
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.slayer.vampireSlayer.enableEffigyWaypoints"))
+ .binding(defaults.slayer.vampireSlayer.enableEffigyWaypoints,
+ () -> config.slayer.vampireSlayer.enableEffigyWaypoints,
+ newValue -> config.slayer.vampireSlayer.enableEffigyWaypoints = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.slayer.vampireSlayer.compactEffigyWaypoints"))
+ .binding(defaults.slayer.vampireSlayer.compactEffigyWaypoints,
+ () -> config.slayer.vampireSlayer.compactEffigyWaypoints,
+ newValue -> config.slayer.vampireSlayer.compactEffigyWaypoints = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Integer>createBuilder()
+ .name(Text.translatable("skyblocker.option.slayer.vampireSlayer.effigyUpdateFrequency"))
+ .description(OptionDescription.of(Text.translatable("skyblocker.option.slayer.vampireSlayer.effigyUpdateFrequency.@Tooltip")))
+ .binding(defaults.slayer.vampireSlayer.effigyUpdateFrequency,
+ () -> config.slayer.vampireSlayer.effigyUpdateFrequency,
+ newValue -> config.slayer.vampireSlayer.effigyUpdateFrequency = newValue)
+ .controller(opt -> IntegerSliderControllerBuilder.create(opt).range(1, 10).step(1))
+ .build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.slayer.vampireSlayer.enableHolyIceIndicator"))
+ .binding(defaults.slayer.vampireSlayer.enableHolyIceIndicator,
+ () -> config.slayer.vampireSlayer.enableHolyIceIndicator,
+ newValue -> config.slayer.vampireSlayer.enableHolyIceIndicator = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Integer>createBuilder()
+ .name(Text.translatable("skyblocker.option.slayer.vampireSlayer.holyIceIndicatorTickDelay"))
+ .binding(defaults.slayer.vampireSlayer.holyIceIndicatorTickDelay,
+ () -> config.slayer.vampireSlayer.holyIceIndicatorTickDelay,
+ newValue -> config.slayer.vampireSlayer.holyIceIndicatorTickDelay = newValue)
+ .controller(IntegerFieldControllerBuilder::create)
+ .build())
+ .option(Option.<Integer>createBuilder()
+ .name(Text.translatable("skyblocker.option.slayer.vampireSlayer.holyIceUpdateFrequency"))
+ .description(OptionDescription.of(Text.translatable("skyblocker.option.slayer.vampireSlayer.holyIceUpdateFrequency.@Tooltip")))
+ .binding(defaults.slayer.vampireSlayer.holyIceUpdateFrequency,
+ () -> config.slayer.vampireSlayer.holyIceUpdateFrequency,
+ newValue -> config.slayer.vampireSlayer.holyIceUpdateFrequency = newValue)
+ .controller(opt -> IntegerSliderControllerBuilder.create(opt).range(1, 10).step(1))
+ .build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.slayer.vampireSlayer.enableHealingMelonIndicator"))
+ .binding(defaults.slayer.vampireSlayer.enableHealingMelonIndicator,
+ () -> config.slayer.vampireSlayer.enableHealingMelonIndicator,
+ newValue -> config.slayer.vampireSlayer.enableHealingMelonIndicator = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Float>createBuilder()
+ .name(Text.translatable("skyblocker.option.slayer.vampireSlayer.healingMelonHealthThreshold"))
+ .binding(defaults.slayer.vampireSlayer.healingMelonHealthThreshold,
+ () -> config.slayer.vampireSlayer.healingMelonHealthThreshold,
+ newValue -> config.slayer.vampireSlayer.healingMelonHealthThreshold = newValue)
+ .controller(FloatFieldControllerBuilder::create)
+ .build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.slayer.vampireSlayer.enableSteakStakeIndicator"))
+ .binding(defaults.slayer.vampireSlayer.enableSteakStakeIndicator,
+ () -> config.slayer.vampireSlayer.enableSteakStakeIndicator,
+ newValue -> config.slayer.vampireSlayer.enableSteakStakeIndicator = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Integer>createBuilder()
+ .name(Text.translatable("skyblocker.option.slayer.vampireSlayer.steakStakeUpdateFrequency"))
+ .description(OptionDescription.of(Text.translatable("skyblocker.option.slayer.vampireSlayer.steakStakeUpdateFrequency.@Tooltip")))
+ .binding(defaults.slayer.vampireSlayer.steakStakeUpdateFrequency,
+ () -> config.slayer.vampireSlayer.steakStakeUpdateFrequency,
+ newValue -> config.slayer.vampireSlayer.steakStakeUpdateFrequency = newValue)
+ .controller(opt -> IntegerSliderControllerBuilder.create(opt).range(1, 10).step(1))
+ .build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.slayer.vampireSlayer.enableManiaIndicator"))
+ .binding(defaults.slayer.vampireSlayer.enableManiaIndicator,
+ () -> config.slayer.vampireSlayer.enableManiaIndicator,
+ newValue -> config.slayer.vampireSlayer.enableManiaIndicator = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Integer>createBuilder()
+ .name(Text.translatable("skyblocker.option.slayer.vampireSlayer.maniaUpdateFrequency"))
+ .description(OptionDescription.of(Text.translatable("skyblocker.option.slayer.vampireSlayer.maniaUpdateFrequency.@Tooltip")))
+ .binding(defaults.slayer.vampireSlayer.maniaUpdateFrequency,
+ () -> config.slayer.vampireSlayer.maniaUpdateFrequency,
+ newValue -> config.slayer.vampireSlayer.maniaUpdateFrequency = newValue)
+ .controller(opt -> IntegerSliderControllerBuilder.create(opt).range(1, 10).step(1))
+ .build())
+ .build())
- .build();
- }
+ .build();
+ }
}
diff --git a/src/main/java/de/hysky/skyblocker/config/categories/UIAndVisualsCategory.java b/src/main/java/de/hysky/skyblocker/config/categories/UIAndVisualsCategory.java
new file mode 100644
index 00000000..f59991c7
--- /dev/null
+++ b/src/main/java/de/hysky/skyblocker/config/categories/UIAndVisualsCategory.java
@@ -0,0 +1,345 @@
+package de.hysky.skyblocker.config.categories;
+
+import de.hysky.skyblocker.config.ConfigUtils;
+import de.hysky.skyblocker.config.SkyblockerConfig;
+import de.hysky.skyblocker.skyblock.fancybars.StatusBarsConfigScreen;
+import de.hysky.skyblocker.utils.render.title.TitleContainerConfigScreen;
+import de.hysky.skyblocker.config.configs.UIAndVisualsConfig;
+import de.hysky.skyblocker.utils.waypoint.Waypoint;
+import dev.isxander.yacl3.api.ConfigCategory;
+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;
+import net.minecraft.util.Formatting;
+
+public class UIAndVisualsCategory {
+ public static ConfigCategory create(SkyblockerConfig defaults, SkyblockerConfig config) {
+ return ConfigCategory.createBuilder()
+ .name(Text.translatable("skyblocker.category.useinterfaceandvisuals"))
+
+ //Ungrouped Options
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.general.compactorDeletorPreview"))
+ .binding(defaults.uiAndVisuals.compactorDeletorPreview,
+ () -> config.uiAndVisuals.compactorDeletorPreview,
+ newValue -> config.uiAndVisuals.compactorDeletorPreview = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.general.dontStripSkinAlphaValues"))
+ .description(OptionDescription.of(Text.translatable("skyblocker.option.general.dontStripSkinAlphaValues.@Tooltip")))
+ .binding(defaults.uiAndVisuals.dontStripSkinAlphaValues,
+ () -> config.uiAndVisuals.dontStripSkinAlphaValues,
+ newValue -> config.uiAndVisuals.dontStripSkinAlphaValues = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .flag(OptionFlag.ASSET_RELOAD)
+ .build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.general.backpackPreviewWithoutShift"))
+ .binding(defaults.uiAndVisuals.backpackPreviewWithoutShift,
+ () -> config.uiAndVisuals.backpackPreviewWithoutShift,
+ newValue -> config.uiAndVisuals.backpackPreviewWithoutShift = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.general.fancyCraftingTable"))
+ .binding(defaults.uiAndVisuals.fancyCraftingTable,
+ () -> config.uiAndVisuals.fancyCraftingTable,
+ newValue -> config.uiAndVisuals.fancyCraftingTable = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+
+ //Chest Value FIXME change dropdown to color controller
+ .group(OptionGroup.createBuilder()
+ .name(Text.translatable("skyblocker.option.general.chestValue"))
+ .collapsed(true)
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.general.chestValue.enableChestValue"))
+ .description(OptionDescription.of(Text.translatable("skyblocker.option.general.chestValue.enableChestValue.@Tooltip")))
+ .binding(defaults.uiAndVisuals.chestValue.enableChestValue,
+ () -> config.uiAndVisuals.chestValue.enableChestValue,
+ newValue -> config.uiAndVisuals.chestValue.enableChestValue = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Formatting>createBuilder()
+ .name(Text.translatable("skyblocker.option.general.chestValue.color"))
+ .binding(defaults.uiAndVisuals.chestValue.color,
+ () -> config.uiAndVisuals.chestValue.color,
+ newValue -> config.uiAndVisuals.chestValue.color = newValue)
+ .controller(ConfigUtils.getEnumDropdownControllerFactory(ConfigUtils.FORMATTING_FORMATTER))
+ .build())
+ .option(Option.<Formatting>createBuilder()
+ .name(Text.translatable("skyblocker.option.general.chestValue.incompleteColor"))
+ .description(OptionDescription.of(Text.translatable("skyblocker.option.general.chestValue.incompleteColor.@Tooltip")))
+ .binding(defaults.uiAndVisuals.chestValue.incompleteColor,
+ () -> config.uiAndVisuals.chestValue.incompleteColor,
+ newValue -> config.uiAndVisuals.chestValue.incompleteColor = newValue)
+ .controller(ConfigUtils.getEnumDropdownControllerFactory(ConfigUtils.FORMATTING_FORMATTER))
+ .build())
+ .build())
+
+ //Item Cooldown
+ .group(OptionGroup.createBuilder()
+ .name(Text.translatable("skyblocker.option.general.itemCooldown"))
+ .collapsed(true)
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.general.itemCooldown.enableItemCooldowns"))
+ .binding(defaults.uiAndVisuals.itemCooldown.enableItemCooldowns,
+ () -> config.uiAndVisuals.itemCooldown.enableItemCooldowns,
+ newValue -> config.uiAndVisuals.itemCooldown.enableItemCooldowns = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .build())
+
+ //Title Container
+ .group(OptionGroup.createBuilder()
+ .name(Text.translatable("skyblocker.option.general.titleContainer"))
+ .description(OptionDescription.of(Text.translatable("skyblocker.option.general.titleContainer.@Tooltip")))
+ .collapsed(true)
+ .option(Option.<Float>createBuilder()
+ .name(Text.translatable("skyblocker.option.general.titleContainer.titleContainerScale"))
+ .binding(defaults.uiAndVisuals.titleContainer.titleContainerScale,
+ () -> config.uiAndVisuals.titleContainer.titleContainerScale,
+ newValue -> config.uiAndVisuals.titleContainer.titleContainerScale = newValue)
+ .controller(opt -> FloatFieldControllerBuilder.create(opt).range(30f, 140f))
+ .build())
+ .option(ButtonOption.createBuilder()
+ .name(Text.translatable("skyblocker.option.general.titleContainer.config"))
+ .text(Text.translatable("text.skyblocker.open"))
+ .action((screen, opt) -> MinecraftClient.getInstance().setScreen(new TitleContainerConfigScreen(screen)))
+ .build())
+ .build())
+
+ //Tab Hud
+ .group(OptionGroup.createBuilder()
+ .name(Text.translatable("skyblocker.option.general.tabHud"))
+ .collapsed(true)
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.general.tabHud.tabHudEnabled"))
+ .binding(defaults.uiAndVisuals.tabHud.tabHudEnabled,
+ () -> config.uiAndVisuals.tabHud.tabHudEnabled,
+ newValue -> config.uiAndVisuals.tabHud.tabHudEnabled = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Integer>createBuilder()
+ .name(Text.translatable("skyblocker.option.general.tabHud.tabHudScale"))
+ .description(OptionDescription.of(Text.translatable("skyblocker.option.general.tabHud.tabHudScale.@Tooltip")))
+ .binding(defaults.uiAndVisuals.tabHud.tabHudScale,
+ () -> config.uiAndVisuals.tabHud.tabHudScale,
+ newValue -> config.uiAndVisuals.tabHud.tabHudScale = newValue)
+ .controller(opt -> IntegerSliderControllerBuilder.create(opt).range(10, 200).step(1))
+ .build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.general.tabHud.enableHudBackground"))
+ .description(OptionDescription.of(Text.translatable("skyblocker.option.general.tabHud.enableHudBackground.@Tooltip")))
+ .binding(defaults.uiAndVisuals.tabHud.enableHudBackground,
+ () -> config.uiAndVisuals.tabHud.enableHudBackground,
+ newValue -> config.uiAndVisuals.tabHud.enableHudBackground = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.general.tabHud.plainPlayerNames"))
+ .description(OptionDescription.of(Text.translatable("skyblocker.option.general.tabHud.plainPlayerNames.@Tooltip")))
+ .binding(defaults.uiAndVisuals.tabHud.plainPlayerNames,
+ () -> config.uiAndVisuals.tabHud.plainPlayerNames,
+ newValue -> config.uiAndVisuals.tabHud.plainPlayerNames = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<UIAndVisualsConfig.NameSorting>createBuilder()
+ .name(Text.translatable("skyblocker.option.general.tabHud.nameSorting"))
+ .description(OptionDescription.of(Text.translatable("skyblocker.option.general.tabHud.nameSorting.@Tooltip")))
+ .binding(defaults.uiAndVisuals.tabHud.nameSorting,
+ () -> config.uiAndVisuals.tabHud.nameSorting,
+ newValue -> config.uiAndVisuals.tabHud.nameSorting = newValue)
+ .controller(ConfigUtils::createEnumCyclingListController)
+ .build())
+ .build())
+
+ // Fancy Auction House
+ .group(OptionGroup.createBuilder()
+ .name(Text.translatable("skyblocker.option.general.fancyAuctionHouse"))
+ .collapsed(true)
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.general.fancyAuctionHouse.enabled"))
+ .binding(defaults.uiAndVisuals.fancyAuctionHouse.enabled,
+ () -> config.uiAndVisuals.fancyAuctionHouse.enabled,
+ newValue -> config.uiAndVisuals.fancyAuctionHouse.enabled = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.general.fancyAuctionHouse.highlightUnderAvgPrice"))
+ .binding(defaults.uiAndVisuals.fancyAuctionHouse.highlightCheapBIN,
+ () -> config.uiAndVisuals.fancyAuctionHouse.highlightCheapBIN,
+ newValue -> config.uiAndVisuals.fancyAuctionHouse.highlightCheapBIN = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .build())
+
+ //Fancy Bars
+ .group(OptionGroup.createBuilder()
+ .name(Text.translatable("skyblocker.option.general.bars"))
+ .collapsed(true)
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.general.bars.enableBars"))
+ .binding(defaults.uiAndVisuals.bars.enableBars,
+ () -> config.uiAndVisuals.bars.enableBars,
+ newValue -> config.uiAndVisuals.bars.enableBars = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(ButtonOption.createBuilder()
+ .name(Text.translatable("skyblocker.bars.config.openScreen"))
+ .text(Text.translatable("text.skyblocker.open"))
+ .action((screen, opt) -> MinecraftClient.getInstance().setScreen(new StatusBarsConfigScreen()))
+ .build())
+ .build())
+
+ //Waypoints
+ .group(OptionGroup.createBuilder()
+ .name(Text.translatable("skyblocker.option.general.waypoints"))
+ .collapsed(true)
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.general.waypoints.enableWaypoints"))
+ .binding(defaults.uiAndVisuals.waypoints.enableWaypoints,
+ () -> config.uiAndVisuals.waypoints.enableWaypoints,
+ newValue -> config.uiAndVisuals.waypoints.enableWaypoints = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Waypoint.Type>createBuilder()
+ .name(Text.translatable("skyblocker.option.general.waypoints.waypointType"))
+ .description(OptionDescription.of(Text.translatable("skyblocker.option.general.waypoints.waypointType.@Tooltip"), Text.translatable("skyblocker.option.general.waypoints.waypointType.generalNote")))
+ .binding(defaults.uiAndVisuals.waypoints.waypointType,
+ () -> config.uiAndVisuals.waypoints.waypointType,
+ newValue -> config.uiAndVisuals.waypoints.waypointType = newValue)
+ .controller(ConfigUtils::createEnumCyclingListController)
+ .build())
+ .build())
+
+ //Teleport Overlays
+ .group(OptionGroup.createBuilder()
+ .name(Text.translatable("skyblocker.option.general.teleportOverlay"))
+ .collapsed(true)
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.general.teleportOverlay.enableTeleportOverlays"))
+ .binding(defaults.uiAndVisuals.teleportOverlay.enableTeleportOverlays,
+ () -> config.uiAndVisuals.teleportOverlay.enableTeleportOverlays,
+ newValue -> config.uiAndVisuals.teleportOverlay.enableTeleportOverlays = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.general.teleportOverlay.enableWeirdTransmission"))
+ .binding(defaults.uiAndVisuals.teleportOverlay.enableWeirdTransmission,
+ () -> config.uiAndVisuals.teleportOverlay.enableWeirdTransmission,
+ newValue -> config.uiAndVisuals.teleportOverlay.enableWeirdTransmission = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.general.teleportOverlay.enableInstantTransmission"))
+ .binding(defaults.uiAndVisuals.teleportOverlay.enableInstantTransmission,
+ () -> config.uiAndVisuals.teleportOverlay.enableInstantTransmission,
+ newValue -> config.uiAndVisuals.teleportOverlay.enableInstantTransmission = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.general.teleportOverlay.enableEtherTransmission"))
+ .binding(defaults.uiAndVisuals.teleportOverlay.enableEtherTransmission,
+ () -> config.uiAndVisuals.teleportOverlay.enableEtherTransmission,
+ newValue -> config.uiAndVisuals.teleportOverlay.enableEtherTransmission = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.general.teleportOverlay.enableSinrecallTransmission"))
+ .binding(defaults.uiAndVisuals.teleportOverlay.enableSinrecallTransmission,
+ () -> config.uiAndVisuals.teleportOverlay.enableSinrecallTransmission,
+ newValue -> config.uiAndVisuals.teleportOverlay.enableSinrecallTransmission = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.general.teleportOverlay.enableWitherImpact"))
+ .binding(defaults.uiAndVisuals.teleportOverlay.enableWitherImpact,
+ () -> config.uiAndVisuals.teleportOverlay.enableWitherImpact,
+ newValue -> config.uiAndVisuals.teleportOverlay.enableWitherImpact = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .build())
+
+ //Search overlay
+ .group(OptionGroup.createBuilder()
+ .name(Text.translatable("skyblocker.option.general.searchOverlay"))
+ .collapsed(true)
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.general.searchOverlay.enableBazaar"))
+ .description(OptionDescription.of(Text.translatable("skyblocker.option.general.searchOverlay.enableBazaar.@Tooltip")))
+ .binding(defaults.uiAndVisuals.searchOverlay.enableBazaar,
+ () -> config.uiAndVisuals.searchOverlay.enableBazaar,
+ newValue -> config.uiAndVisuals.searchOverlay.enableBazaar = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.general.searchOverlay.enableAuctionHouse"))
+ .description(OptionDescription.of(Text.translatable("skyblocker.option.general.searchOverlay.enableAuctionHouse.@Tooltip")))
+ .binding(defaults.uiAndVisuals.searchOverlay.enableAuctionHouse,
+ () -> config.uiAndVisuals.searchOverlay.enableAuctionHouse,
+ newValue -> config.uiAndVisuals.searchOverlay.enableAuctionHouse = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.general.searchOverlay.keepPreviousSearches"))
+ .description(OptionDescription.of(Text.translatable("skyblocker.option.general.searchOverlay.keepPreviousSearches.@Tooltip")))
+ .binding(defaults.uiAndVisuals.searchOverlay.keepPreviousSearches,
+ () -> config.uiAndVisuals.searchOverlay.keepPreviousSearches,
+ newValue -> config.uiAndVisuals.searchOverlay.keepPreviousSearches = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Integer>createBuilder()
+ .name(Text.translatable("skyblocker.option.general.searchOverlay.maxSuggestions"))
+ .description(OptionDescription.of(Text.translatable("skyblocker.option.general.searchOverlay.maxSuggestions.@Tooltip")))
+ .binding(defaults.uiAndVisuals.searchOverlay.maxSuggestions,
+ () -> config.uiAndVisuals.searchOverlay.maxSuggestions,
+ newValue -> config.uiAndVisuals.searchOverlay.maxSuggestions = newValue)
+ .controller(opt -> IntegerSliderControllerBuilder.create(opt).range(0, 5).step(1))
+ .build())
+ .option(Option.<Integer>createBuilder()
+ .name(Text.translatable("skyblocker.option.general.searchOverlay.historyLength"))
+ .description(OptionDescription.of(Text.translatable("skyblocker.option.general.searchOverlay.historyLength.@Tooltip")))
+ .binding(defaults.uiAndVisuals.searchOverlay.historyLength,
+ () -> config.uiAndVisuals.searchOverlay.historyLength,
+ newValue -> config.uiAndVisuals.searchOverlay.historyLength = newValue)
+ .controller(opt -> IntegerSliderControllerBuilder.create(opt).range(0, 5).step(1))
+ .build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.option.general.searchOverlay.enableCommands"))
+ .description(OptionDescription.of(Text.translatable("skyblocker.option.general.searchOverlay.enableCommands.@Tooltip")))
+ .binding(defaults.uiAndVisuals.searchOverlay.enableCommands,
+ () -> config.uiAndVisuals.searchOverlay.enableCommands,
+ newValue -> config.uiAndVisuals.searchOverlay.enableCommands = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .build())
+
+ //Flame Overlay
+ .group(OptionGroup.createBuilder()
+ .name(Text.translatable("skyblocker.option.general.flameOverlay"))
+ .collapsed(true)
+ .option(Option.<Integer>createBuilder()
+ .name(Text.translatable("skyblocker.option.general.flameOverlay.flameHeight"))
+ .description(OptionDescription.of(Text.translatable("skyblocker.option.general.flameOverlay.flameHeight.@Tooltip")))
+ .binding(defaults.uiAndVisuals.flameOverlay.flameHeight,
+ () -> config.uiAndVisuals.flameOverlay.flameHeight,
+ newValue -> config.uiAndVisuals.flameOverlay.flameHeight = newValue)
+ .controller(opt -> IntegerSliderControllerBuilder.create(opt).range(0, 100).step(1))
+ .build())
+ .option(Option.<Integer>createBuilder()
+ .name(Text.translatable("skyblocker.option.general.flameOverlay.flameOpacity"))
+ .description(OptionDescription.of(Text.translatable("skyblocker.option.general.flameOverlay.flameOpacity.@Tooltip")))
+ .binding(defaults.uiAndVisuals.flameOverlay.flameOpacity,
+ () -> config.uiAndVisuals.flameOverlay.flameOpacity,
+ newValue -> config.uiAndVisuals.flameOverlay.flameOpacity = newValue)
+ .controller(opt -> IntegerSliderControllerBuilder.create(opt).range(0, 100).step(1))
+ .build())
+ .build())
+
+ .build();
+ }
+}
diff --git a/src/main/java/de/hysky/skyblocker/config/configs/MessagesConfig.java b/src/main/java/de/hysky/skyblocker/config/configs/MessagesFilterConfig.java
index 8fdf1422..778cd829 100644
--- a/src/main/java/de/hysky/skyblocker/config/configs/MessagesConfig.java
+++ b/src/main/java/de/hysky/skyblocker/config/configs/MessagesFilterConfig.java
@@ -3,7 +3,7 @@ package de.hysky.skyblocker.config.configs;
import de.hysky.skyblocker.utils.chat.ChatFilterResult;
import dev.isxander.yacl3.config.v2.api.SerialEntry;
-public class MessagesConfig {
+public class MessagesFilterConfig {
@SerialEntry
public ChatFilterResult hideAbility = ChatFilterResult.PASS;
diff --git a/src/main/java/de/hysky/skyblocker/config/configs/QuickNavConfig.java b/src/main/java/de/hysky/skyblocker/config/configs/QuickNavigationConfig.java
index 6927be08..dc2c4885 100644
--- a/src/main/java/de/hysky/skyblocker/config/configs/QuickNavConfig.java
+++ b/src/main/java/de/hysky/skyblocker/config/configs/QuickNavigationConfig.java
@@ -2,7 +2,7 @@ package de.hysky.skyblocker.config.configs;
import dev.isxander.yacl3.config.v2.api.SerialEntry;
-public class QuickNavConfig {
+public class QuickNavigationConfig {
@SerialEntry
public boolean enableQuickNav = true;
diff --git a/src/main/java/de/hysky/skyblocker/config/configs/SlayerConfig.java b/src/main/java/de/hysky/skyblocker/config/configs/SlayersConfig.java
index c5b3283a..ff6c2275 100644
--- a/src/main/java/de/hysky/skyblocker/config/configs/SlayerConfig.java
+++ b/src/main/java/de/hysky/skyblocker/config/configs/SlayersConfig.java
@@ -2,7 +2,7 @@ package de.hysky.skyblocker.config.configs;
import dev.isxander.yacl3.config.v2.api.SerialEntry;
-public class SlayerConfig {
+public class SlayersConfig {
@SerialEntry
public EndermanSlayer endermanSlayer = new EndermanSlayer();
diff --git a/src/main/java/de/hysky/skyblocker/config/configs/UiAndVisualsConfig.java b/src/main/java/de/hysky/skyblocker/config/configs/UIAndVisualsConfig.java
index 8d4fac97..9facd21d 100644
--- a/src/main/java/de/hysky/skyblocker/config/configs/UiAndVisualsConfig.java
+++ b/src/main/java/de/hysky/skyblocker/config/configs/UIAndVisualsConfig.java
@@ -7,7 +7,7 @@ import net.minecraft.util.Formatting;
import java.util.ArrayList;
import java.util.List;
-public class UiAndVisualsConfig {
+public class UIAndVisualsConfig {
@SerialEntry
public boolean compactorDeletorPreview = true;
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/ChestValue.java b/src/main/java/de/hysky/skyblocker/skyblock/ChestValue.java
index 2c958c0a..a10e69ce 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/ChestValue.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/ChestValue.java
@@ -1,10 +1,9 @@
package de.hysky.skyblocker.skyblock;
import com.google.gson.JsonObject;
-import de.hysky.skyblocker.config.SkyblockerConfig;
import de.hysky.skyblocker.config.SkyblockerConfigManager;
import de.hysky.skyblocker.config.configs.DungeonsConfig;
-import de.hysky.skyblocker.config.configs.UiAndVisualsConfig;
+import de.hysky.skyblocker.config.configs.UIAndVisualsConfig;
import de.hysky.skyblocker.mixins.accessors.HandledScreenAccessor;
import de.hysky.skyblocker.mixins.accessors.ScreenAccessor;
import de.hysky.skyblocker.skyblock.item.tooltip.ItemTooltip;
@@ -217,7 +216,7 @@ public class ChestValue {
}
static Text getValueText(long value, boolean hasIncompleteData) {
- UiAndVisualsConfig.ChestValue config = SkyblockerConfigManager.get().uiAndVisuals.chestValue;
+ UIAndVisualsConfig.ChestValue config = SkyblockerConfigManager.get().uiAndVisuals.chestValue;
return Text.literal(' ' + FORMATTER.format(value) + " Coins").formatted(hasIncompleteData ? config.incompleteColor : config.color);
}
}
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dwarven/CrystalsWaypoint.java b/src/main/java/de/hysky/skyblocker/skyblock/dwarven/CrystalsWaypoint.java
index 0a03e60c..053f3536 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/dwarven/CrystalsWaypoint.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/dwarven/CrystalsWaypoint.java
@@ -1,8 +1,7 @@
package de.hysky.skyblocker.skyblock.dwarven;
-import de.hysky.skyblocker.config.SkyblockerConfig;
import de.hysky.skyblocker.config.SkyblockerConfigManager;
-import de.hysky.skyblocker.config.configs.UiAndVisualsConfig;
+import de.hysky.skyblocker.config.configs.UIAndVisualsConfig;
import de.hysky.skyblocker.utils.render.RenderHelper;
import de.hysky.skyblocker.utils.waypoint.Waypoint;
import net.fabricmc.fabric.api.client.rendering.v1.WorldRenderContext;
@@ -20,7 +19,7 @@ import java.util.function.Supplier;
import java.util.function.ToDoubleFunction;
public class CrystalsWaypoint extends Waypoint {
- private static final Supplier<UiAndVisualsConfig.Waypoints> CONFIG = () -> SkyblockerConfigManager.get().uiAndVisuals.waypoints;
+ private static final Supplier<UIAndVisualsConfig.Waypoints> CONFIG = () -> SkyblockerConfigManager.get().uiAndVisuals.waypoints;
private static final Supplier<Type> TYPE_SUPPLIER = () -> CONFIG.get().waypointType;
final Category category;
final Text name;
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/fancybars/FancyStatusBars.java b/src/main/java/de/hysky/skyblocker/skyblock/fancybars/FancyStatusBars.java
index cdd5639b..141a48ed 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/fancybars/FancyStatusBars.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/fancybars/FancyStatusBars.java
@@ -2,9 +2,8 @@ package de.hysky.skyblocker.skyblock.fancybars;
import com.google.gson.JsonObject;
import de.hysky.skyblocker.SkyblockerMod;
-import de.hysky.skyblocker.config.SkyblockerConfig;
import de.hysky.skyblocker.config.SkyblockerConfigManager;
-import de.hysky.skyblocker.config.configs.UiAndVisualsConfig;
+import de.hysky.skyblocker.config.configs.UIAndVisualsConfig;
import de.hysky.skyblocker.skyblock.StatusBarTracker;
import de.hysky.skyblocker.utils.Utils;
import de.hysky.skyblocker.utils.scheduler.Scheduler;
@@ -59,7 +58,7 @@ public class FancyStatusBars {
// Fetch from old status bar config
int[] counts = new int[3]; // counts for RIGHT, LAYER1, LAYER2
StatusBar health = statusBars.get("health");
- UiAndVisualsConfig.OldBarPositions barPositions = SkyblockerConfigManager.get().uiAndVisuals.bars.barPositions;
+ UIAndVisualsConfig.OldBarPositions barPositions = SkyblockerConfigManager.get().uiAndVisuals.bars.barPositions;
loadOldBarPosition(health, counts, barPositions.healthBarPosition);
StatusBar intelligence = statusBars.get("intelligence");
loadOldBarPosition(intelligence, counts, barPositions.manaBarPosition);
@@ -104,7 +103,7 @@ public class FancyStatusBars {
* @param counts the counts for each bar position (LAYER1, LAYER2, RIGHT)
* @param position the position to load
*/
- private static void loadOldBarPosition(StatusBar bar, int[] counts, UiAndVisualsConfig.OldBarPosition position) {
+ private static void loadOldBarPosition(StatusBar bar, int[] counts, UIAndVisualsConfig.OldBarPosition position) {
switch (position) {
case RIGHT:
bar.anchor = BarPositioner.BarAnchor.HOTBAR_RIGHT;
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/quicknav/QuickNav.java b/src/main/java/de/hysky/skyblocker/skyblock/quicknav/QuickNav.java
index 6bb27215..6e7e3906 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/quicknav/QuickNav.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/quicknav/QuickNav.java
@@ -3,7 +3,7 @@ package de.hysky.skyblocker.skyblock.quicknav;
import com.mojang.brigadier.exceptions.CommandSyntaxException;
import de.hysky.skyblocker.config.SkyblockerConfigManager;
-import de.hysky.skyblocker.config.configs.QuickNavConfig;
+import de.hysky.skyblocker.config.configs.QuickNavigationConfig;
import de.hysky.skyblocker.utils.Utils;
import de.hysky.skyblocker.utils.datafixer.ItemStackComponentizationFixer;
import net.fabricmc.fabric.api.client.screen.v1.ScreenEvents;
@@ -37,7 +37,7 @@ public class QuickNav {
public static List<QuickNavButton> init(String screenTitle) {
List<QuickNavButton> buttons = new ArrayList<>();
- QuickNavConfig data = SkyblockerConfigManager.get().quickNav;
+ QuickNavigationConfig data = SkyblockerConfigManager.get().quickNav;
try {
if (data.button1.render) buttons.add(parseButton(data.button1, screenTitle, 0));
if (data.button2.render) buttons.add(parseButton(data.button2, screenTitle, 1));
@@ -57,8 +57,8 @@ public class QuickNav {
return buttons;
}
- private static QuickNavButton parseButton(QuickNavConfig.QuickNavItem buttonInfo, String screenTitle, int id) throws CommandSyntaxException {
- QuickNavConfig.ItemData itemData = buttonInfo.item;
+ private static QuickNavButton parseButton(QuickNavigationConfig.QuickNavItem buttonInfo, String screenTitle, int id) throws CommandSyntaxException {
+ QuickNavigationConfig.ItemData itemData = buttonInfo.item;
String nbtString = "{id:\"minecraft:" + itemData.itemName.toLowerCase(Locale.ROOT) + "\",Count:1";
if (itemData.nbt.length() > 2) nbtString += "," + itemData.nbt;
nbtString += "}";
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/searchoverlay/SearchOverManager.java b/src/main/java/de/hysky/skyblocker/skyblock/searchoverlay/SearchOverManager.java
index f8c4742d..2e509c35 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/searchoverlay/SearchOverManager.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/searchoverlay/SearchOverManager.java
@@ -4,9 +4,8 @@ import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.mojang.brigadier.Command;
import com.mojang.brigadier.CommandDispatcher;
-import de.hysky.skyblocker.config.SkyblockerConfig;
import de.hysky.skyblocker.config.SkyblockerConfigManager;
-import de.hysky.skyblocker.config.configs.UiAndVisualsConfig;
+import de.hysky.skyblocker.config.configs.UIAndVisualsConfig;
import de.hysky.skyblocker.skyblock.item.tooltip.TooltipInfoType;
import de.hysky.skyblocker.utils.NEURepoManager;
import de.hysky.skyblocker.utils.scheduler.MessageScheduler;
@@ -267,7 +266,7 @@ public class SearchOverManager {
*/
private static void saveHistory() {
//save to history
- UiAndVisualsConfig.SearchOverlay config = SkyblockerConfigManager.get().uiAndVisuals.searchOverlay;
+ UIAndVisualsConfig.SearchOverlay config = SkyblockerConfigManager.get().uiAndVisuals.searchOverlay;
if (isAuction) {
if (config.auctionHistory.isEmpty() || !config.auctionHistory.getFirst().equals(search)) {
config.auctionHistory.add(0, search);
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/PlayerListWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/PlayerListWidget.java
index b568e3ae..6daf3a8a 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/PlayerListWidget.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/PlayerListWidget.java
@@ -1,8 +1,7 @@
package de.hysky.skyblocker.skyblock.tabhud.widget;
-import de.hysky.skyblocker.config.SkyblockerConfig;
import de.hysky.skyblocker.config.SkyblockerConfigManager;
-import de.hysky.skyblocker.config.configs.UiAndVisualsConfig;
+import de.hysky.skyblocker.config.configs.UIAndVisualsConfig;
import de.hysky.skyblocker.skyblock.tabhud.util.PlayerListMgr;
import de.hysky.skyblocker.skyblock.tabhud.widget.component.PlainTextComponent;
import de.hysky.skyblocker.skyblock.tabhud.widget.component.PlayerComponent;
@@ -52,7 +51,7 @@ public class PlayerListWidget extends Widget {
list.add(PlayerListMgr.getRaw(i));
}
- if (SkyblockerConfigManager.get().uiAndVisuals.tabHud.nameSorting == UiAndVisualsConfig.NameSorting.ALPHABETICAL) {
+ if (SkyblockerConfigManager.get().uiAndVisuals.tabHud.nameSorting == UIAndVisualsConfig.NameSorting.ALPHABETICAL) {
list.sort(Comparator.comparing(o -> o.getProfile().getName().toLowerCase()));
}
diff --git a/src/main/java/de/hysky/skyblocker/utils/render/title/TitleContainer.java b/src/main/java/de/hysky/skyblocker/utils/render/title/TitleContainer.java
index 7a2ea60a..c21485e2 100644
--- a/src/main/java/de/hysky/skyblocker/utils/render/title/TitleContainer.java
+++ b/src/main/java/de/hysky/skyblocker/utils/render/title/TitleContainer.java
@@ -1,8 +1,7 @@
package de.hysky.skyblocker.utils.render.title;
-import de.hysky.skyblocker.config.SkyblockerConfig;
import de.hysky.skyblocker.config.SkyblockerConfigManager;
-import de.hysky.skyblocker.config.configs.UiAndVisualsConfig;
+import de.hysky.skyblocker.config.configs.UIAndVisualsConfig;
import de.hysky.skyblocker.events.HudRenderEvents;
import de.hysky.skyblocker.utils.scheduler.Scheduler;
import net.fabricmc.fabric.api.client.command.v2.ClientCommandManager;
@@ -94,8 +93,8 @@ public class TitleContainer {
float scale = 3F * (SkyblockerConfigManager.get().uiAndVisuals.titleContainer.titleContainerScale / 100F);
// Grab direction and alignment values
- UiAndVisualsConfig.Direction direction = SkyblockerConfigManager.get().uiAndVisuals.titleContainer.direction;
- UiAndVisualsConfig.Alignment alignment = SkyblockerConfigManager.get().uiAndVisuals.titleContainer.alignment;
+ UIAndVisualsConfig.Direction direction = SkyblockerConfigManager.get().uiAndVisuals.titleContainer.direction;
+ UIAndVisualsConfig.Alignment alignment = SkyblockerConfigManager.get().uiAndVisuals.titleContainer.alignment;
// x/y refer to the starting position for the text
// y always starts at yPos
float x = 0;
@@ -107,8 +106,8 @@ public class TitleContainer {
width += textRenderer.getWidth(title.getText()) * scale + 10;
}
- if (alignment == UiAndVisualsConfig.Alignment.MIDDLE) {
- if (direction == UiAndVisualsConfig.Direction.HORIZONTAL) {
+ if (alignment == UIAndVisualsConfig.Alignment.MIDDLE) {
+ if (direction == UIAndVisualsConfig.Direction.HORIZONTAL) {
//If middle aligned horizontally, start the xPosition at half of the width to the left.
x = xPos - (width / 2);
} else {
@@ -116,7 +115,7 @@ public class TitleContainer {
x = xPos;
}
}
- if (alignment == UiAndVisualsConfig.Alignment.LEFT || alignment == UiAndVisualsConfig.Alignment.RIGHT) {
+ if (alignment == UIAndVisualsConfig.Alignment.LEFT || alignment == UIAndVisualsConfig.Alignment.RIGHT) {
//If left or right aligned, start at xPos, we will shift each text later
x = xPos;
}
@@ -125,14 +124,14 @@ public class TitleContainer {
//Calculate which x the text should use
float xToUse;
- if (direction == UiAndVisualsConfig.Direction.HORIZONTAL) {
- xToUse = alignment == UiAndVisualsConfig.Alignment.RIGHT ?
+ if (direction == UIAndVisualsConfig.Direction.HORIZONTAL) {
+ xToUse = alignment == UIAndVisualsConfig.Alignment.RIGHT ?
x - (textRenderer.getWidth(title.getText()) * scale) : //if right aligned we need the text position to be aligned on the right side.
x;
} else {
- xToUse = alignment == UiAndVisualsConfig.Alignment.MIDDLE ?
+ xToUse = alignment == UIAndVisualsConfig.Alignment.MIDDLE ?
x - (textRenderer.getWidth(title.getText()) * scale) / 2 : //if middle aligned we need the text position to be aligned in the middle.
- alignment == UiAndVisualsConfig.Alignment.RIGHT ?
+ alignment == UIAndVisualsConfig.Alignment.RIGHT ?
x - (textRenderer.getWidth(title.getText()) * scale) : //if right aligned we need the text position to be aligned on the right side.
x;
}
@@ -157,13 +156,13 @@ public class TitleContainer {
context.getMatrices().pop();
//Calculate the x and y positions for the next title
- if (direction == UiAndVisualsConfig.Direction.HORIZONTAL) {
- if (alignment == UiAndVisualsConfig.Alignment.MIDDLE || alignment == UiAndVisualsConfig.Alignment.LEFT) {
+ if (direction == UIAndVisualsConfig.Direction.HORIZONTAL) {
+ if (alignment == UIAndVisualsConfig.Alignment.MIDDLE || alignment == UIAndVisualsConfig.Alignment.LEFT) {
//Move to the right if middle or left aligned
x += textRenderer.getWidth(title.getText()) * scale + 10;
}
- if (alignment == UiAndVisualsConfig.Alignment.RIGHT) {
+ if (alignment == UIAndVisualsConfig.Alignment.RIGHT) {
//Move to the left if right aligned
x -= textRenderer.getWidth(title.getText()) * scale + 10;
}
diff --git a/src/main/java/de/hysky/skyblocker/utils/render/title/TitleContainerConfigScreen.java b/src/main/java/de/hysky/skyblocker/utils/render/title/TitleContainerConfigScreen.java
index 6a66faad..e5cf6f80 100644
--- a/src/main/java/de/hysky/skyblocker/utils/render/title/TitleContainerConfigScreen.java
+++ b/src/main/java/de/hysky/skyblocker/utils/render/title/TitleContainerConfigScreen.java
@@ -1,8 +1,7 @@
package de.hysky.skyblocker.utils.render.title;
-import de.hysky.skyblocker.config.SkyblockerConfig;
import de.hysky.skyblocker.config.SkyblockerConfigManager;
-import de.hysky.skyblocker.config.configs.UiAndVisualsConfig;
+import de.hysky.skyblocker.config.configs.UIAndVisualsConfig;
import de.hysky.skyblocker.utils.render.RenderHelper;
import dev.isxander.yacl3.api.ConfigCategory;
import dev.isxander.yacl3.api.Option;
@@ -43,8 +42,8 @@ public class TitleContainerConfigScreen extends Screen {
super.render(context, mouseX, mouseY, delta);
renderBackground(context, mouseX, mouseY, delta);
TitleContainer.render(context, Set.of(example1, example2, example3), (int) hudX, (int) hudY, delta);
- UiAndVisualsConfig.Direction direction = SkyblockerConfigManager.get().uiAndVisuals.titleContainer.direction;
- UiAndVisualsConfig.Alignment alignment = SkyblockerConfigManager.get().uiAndVisuals.titleContainer.alignment;
+ UIAndVisualsConfig.Direction direction = SkyblockerConfigManager.get().uiAndVisuals.titleContainer.direction;
+ UIAndVisualsConfig.Alignment alignment = SkyblockerConfigManager.get().uiAndVisuals.titleContainer.alignment;
context.drawCenteredTextWithShadow(textRenderer, "Press Q/E to change Alignment: " + alignment, width / 2, textRenderer.fontHeight * 2, Color.WHITE.getRGB());
context.drawCenteredTextWithShadow(textRenderer, "Press R to change Direction: " + direction, width / 2, textRenderer.fontHeight * 3 + 5, Color.WHITE.getRGB());
context.drawCenteredTextWithShadow(textRenderer, "Press +/- to change Scale", width / 2, textRenderer.fontHeight * 4 + 10, Color.WHITE.getRGB());
@@ -63,7 +62,7 @@ public class TitleContainerConfigScreen extends Screen {
}
private Pair<Vector2f, Vector2f> getSelectionBoundingBox() {
- UiAndVisualsConfig.Alignment alignment = SkyblockerConfigManager.get().uiAndVisuals.titleContainer.alignment;
+ UIAndVisualsConfig.Alignment alignment = SkyblockerConfigManager.get().uiAndVisuals.titleContainer.alignment;
float midWidth = getSelectionWidth() / 2F;
float x1 = 0;
@@ -89,14 +88,14 @@ public class TitleContainerConfigScreen extends Screen {
private float getSelectionHeight() {
float scale = (3F * (SkyblockerConfigManager.get().uiAndVisuals.titleContainer.titleContainerScale / 100F));
- return SkyblockerConfigManager.get().uiAndVisuals.titleContainer.direction == UiAndVisualsConfig.Direction.HORIZONTAL ?
+ return SkyblockerConfigManager.get().uiAndVisuals.titleContainer.direction == UIAndVisualsConfig.Direction.HORIZONTAL ?
(textRenderer.fontHeight * scale) :
(textRenderer.fontHeight + 10F) * 3F * scale;
}
private float getSelectionWidth() {
float scale = (3F * (SkyblockerConfigManager.get().uiAndVisuals.titleContainer.titleContainerScale / 100F));
- return SkyblockerConfigManager.get().uiAndVisuals.titleContainer.direction == UiAndVisualsConfig.Direction.HORIZONTAL ?
+ return SkyblockerConfigManager.get().uiAndVisuals.titleContainer.direction == UIAndVisualsConfig.Direction.HORIZONTAL ?
(textRenderer.getWidth("Test1") + 10 + textRenderer.getWidth("Test23") + 10 + textRenderer.getWidth("Testing1234")) * scale :
textRenderer.getWidth("Testing1234") * scale;
}
@@ -136,26 +135,26 @@ public class TitleContainerConfigScreen extends Screen {
@Override
public boolean keyPressed(int keyCode, int scanCode, int modifiers) {
if (keyCode == GLFW.GLFW_KEY_Q) {
- UiAndVisualsConfig.Alignment current = SkyblockerConfigManager.get().uiAndVisuals.titleContainer.alignment;
+ UIAndVisualsConfig.Alignment current = SkyblockerConfigManager.get().uiAndVisuals.titleContainer.alignment;
SkyblockerConfigManager.get().uiAndVisuals.titleContainer.alignment = switch (current) {
- case LEFT -> UiAndVisualsConfig.Alignment.MIDDLE;
- case MIDDLE -> UiAndVisualsConfig.Alignment.RIGHT;
- case RIGHT -> UiAndVisualsConfig.Alignment.LEFT;
+ case LEFT -> UIAndVisualsConfig.Alignment.MIDDLE;
+ case MIDDLE -> UIAndVisualsConfig.Alignment.RIGHT;
+ case RIGHT -> UIAndVisualsConfig.Alignment.LEFT;
};
}
if (keyCode == GLFW.GLFW_KEY_E) {
- UiAndVisualsConfig.Alignment current = SkyblockerConfigManager.get().uiAndVisuals.titleContainer.alignment;
+ UIAndVisualsConfig.Alignment current = SkyblockerConfigManager.get().uiAndVisuals.titleContainer.alignment;
SkyblockerConfigManager.get().uiAndVisuals.titleContainer.alignment = switch (current) {
- case LEFT -> UiAndVisualsConfig.Alignment.RIGHT;
- case MIDDLE -> UiAndVisualsConfig.Alignment.LEFT;
- case RIGHT -> UiAndVisualsConfig.Alignment.MIDDLE;
+ case LEFT -> UIAndVisualsConfig.Alignment.RIGHT;
+ case MIDDLE -> UIAndVisualsConfig.Alignment.LEFT;
+ case RIGHT -> UIAndVisualsConfig.Alignment.MIDDLE;
};
}
if (keyCode == GLFW.GLFW_KEY_R) {
- UiAndVisualsConfig.Direction current = SkyblockerConfigManager.get().uiAndVisuals.titleContainer.direction;
+ UIAndVisualsConfig.Direction current = SkyblockerConfigManager.get().uiAndVisuals.titleContainer.direction;
SkyblockerConfigManager.get().uiAndVisuals.titleContainer.direction = switch (current) {
- case HORIZONTAL -> UiAndVisualsConfig.Direction.VERTICAL;
- case VERTICAL -> UiAndVisualsConfig.Direction.HORIZONTAL;
+ case HORIZONTAL -> UIAndVisualsConfig.Direction.VERTICAL;
+ case VERTICAL -> UIAndVisualsConfig.Direction.HORIZONTAL;
};
}
if (keyCode == GLFW.GLFW_KEY_EQUAL) {
diff --git a/src/main/resources/assets/skyblocker/lang/en_ca.json b/src/main/resources/assets/skyblocker/lang/en_ca.json
index bc2b6894..082eab1b 100644
--- a/src/main/resources/assets/skyblocker/lang/en_ca.json
+++ b/src/main/resources/assets/skyblocker/lang/en_ca.json
@@ -1,7 +1,7 @@
{
"skyblocker.option.general.bars": "Health, Mana, Defence & XP Bars",
"skyblocker.option.locations.dungeons.croesusHelper.@Tooltip": "Grey out chests that have already been opened.",
- "skyblocker.option.locations.dungeons.lividColor": "Livid Colour",
+ "skyblocker.option.locations.dungeons.livid": "Livid Colour",
"skyblocker.option.locations.dungeons.lividColor.enableLividColorText": "Enable Livid Colour Text",
"skyblocker.option.locations.dungeons.lividColor.enableLividColorText.@Tooltip": "Send the livid colour in the chat during the Livid boss fight.",
"skyblocker.option.locations.dungeons.lividColor.lividColorText": "Livid Colour Text",
diff --git a/src/main/resources/assets/skyblocker/lang/en_us.json b/src/main/resources/assets/skyblocker/lang/en_us.json
index ba7a27be..3b4586cd 100644
--- a/src/main/resources/assets/skyblocker/lang/en_us.json
+++ b/src/main/resources/assets/skyblocker/lang/en_us.json
@@ -21,6 +21,9 @@
"skyblocker.title": "Skyblocker Settings",
+ "skyblocker.category.useinterfaceandvisuals": "UI & Visuals",
+ "skyblocker.category.helper": "Helper",
+ "skyblocker.category.farming": "Farming",
"skyblocker.category.general": "General",
"skyblocker.option.general.enableTips": "Enable Tips",
"skyblocker.option.general.bars": "Health, Mana, Defence & XP Bars",
@@ -104,8 +107,8 @@
"skyblocker.option.general.itemTooltip.enableAccessoriesHelper.@Tooltip[3]": "This accessory can be upgraded. Also tells you what tier of accessory you have in that family.",
"skyblocker.option.general.itemTooltip.enableAccessoriesHelper.@Tooltip[4]": "You already own an accessory in the same family that is better than this one. Also tells you what tier of accessory you have in that family.",
"skyblocker.option.general.itemTooltip.enableAccessoriesHelper.@Tooltip[5]": "You don't own any accessory from this family.",
- "skyblocker.option.general.dungeonQuality": "Dungeon Quality",
- "skyblocker.option.general.dungeonQuality.@Tooltip": "Displays quality and tier of dungeon drops from mobs.\n\n\nReminder:\nTier 1-3 dropped from F1-F3\nTier 4-7 dropped from F4-F7 or M1-M4\nTier 8-10 are dropped only from M5-M7",
+ "skyblocker.option.general.itemTooltip.dungeonQuality": "Dungeon Quality",
+ "skyblocker.option.general.itemTooltip.dungeonQuality.@Tooltip": "Displays quality and tier of dungeon drops from mobs.\n\n\nReminder:\nTier 1-3 dropped from F1-F3\nTier 4-7 dropped from F4-F7 or M1-M4\nTier 8-10 are dropped only from M5-M7",
"skyblocker.option.general.enableNewYearCakesHelper": "Enable New Year Cakes Helper",
"skyblocker.option.general.enableNewYearCakesHelper.@Tooltip": "Highlights the missing new year cakes green and the cakes you have already red.\n\nRequires you to open your cake bag at least once to work.",
"skyblocker.option.general.itemInfoDisplay": "Item Info Display",
@@ -167,25 +170,26 @@
"skyblocker.option.general.searchOverlay.enableCommands": "Open from commands",
"skyblocker.option.general.searchOverlay.enableCommands.@Tooltip": "Opens the bazaar search with \"/bzs\" and auction house with \"/ahs\". A re-log is required for this setting to be updated.",
"skyblocker.option.general.searchOverlay.historyLabel": "History:",
- "skyblocker.option.general.betterPartyFinder": "Better Party Finder",
+ "skyblocker.option.general.fancyPartyFinder": "Fancy Party Finder",
"skyblocker.option.general.fancyCraftingTable": "Fancy Crafting Table UI",
- "skyblocker.option.general.betterAuctionHouse": "Better Auction House",
- "skyblocker.option.general.betterAuctionHouse.enabled": "Enabled",
- "skyblocker.option.general.betterAuctionHouse.highlightUnderAvgPrice": "Highlight BIN under average price",
+ "skyblocker.option.general.fancyAuctionHouse": "Fancy Auction House",
+ "skyblocker.option.general.fancyAuctionHouse.enabled": "Enabled",
+ "skyblocker.option.general.fancyAuctionHouse.highlightUnderAvgPrice": "Highlight BIN under average price",
"skyblocker.itemTooltip.nullMessage": "§cItem price information on tooltip will renew in max 60 seconds. If not, check latest.log",
"skyblocker.itemTooltip.noData": "§cNo Data",
"skyblocker.wikiLookup.noArticleFound": "§rUnable to locate a wiki article for this item...",
- "skyblocker.category.richPresence": "Discord Rich Presence",
- "skyblocker.option.richPresence.info": "Skyblock Info",
- "skyblocker.option.richPresence.info.PURSE": "PURSE",
- "skyblocker.option.richPresence.info.BITS": "BITS",
- "skyblocker.option.richPresence.info.LOCATION": "LOCATION",
- "skyblocker.option.richPresence.info.@Tooltip": "This value doesn't matter if you are cycling",
- "skyblocker.option.richPresence.cycleMode": "Cycle Skyblock Info",
- "skyblocker.option.richPresence.enableRichPresence": "Enabled",
- "skyblocker.option.richPresence.customMessage": "Custom Message",
+ "skyblocker.category.misc": "Misc",
+ "skyblocker.option.misc.richPresence": "Discord RPC",
+ "skyblocker.option.misc.richPresence.info": "Skyblock Info",
+ "skyblocker.option.misc.richPresence.info.PURSE": "PURSE",
+ "skyblocker.option.misc.richPresence.info.BITS": "BITS",
+ "skyblocker.option.misc.richPresence.info.LOCATION": "LOCATION",
+ "skyblocker.option.misc.richPresence.info.@Tooltip": "This value doesn't matter if you are cycling",
+ "skyblocker.option.misc.richPresence.cycleMode": "Cycle Skyblock Info",
+ "skyblocker.option.misc.richPresence.enableRichPresence": "Enabled",
+ "skyblocker.option.misc.richPresence.customMessage": "Custom Message",
"skyblocker.category.quickNav": "Quick Navigation",
"skyblocker.option.quickNav.enableQuickNav": "Enable Quick Navigation",
@@ -202,7 +206,7 @@
"skyblocker.option.general.itemList": "Item List",
"skyblocker.option.general.itemList.enableItemList": "Enable Item List",
- "skyblocker.category.locations": "Locations",
+ "skyblocker.category.locations": "Other Locations",
"skyblocker.option.locations.barn": "Barn",
"skyblocker.option.locations.barn.solveHungryHiker": "Solve Hungry Hiker",
"skyblocker.option.locations.barn.solveTreasureHunter": "Solve Treasure Hunter",
@@ -318,7 +322,10 @@
"skyblocker.option.locations.dungeons.mimicMessage.sendMimicMessage.@Tooltip": "Sends a message in chat upon killing a mimic for other players' score calculation mods.",
"skyblocker.option.locations.dungeons.mimicMessage.mimicMessage": "Mimic Message",
"skyblocker.option.locations.dungeons.mimicMessage.mimicMessage.@Tooltip": "Message which will be sent in the chat upon killing a mimic. Recommended to retain the default value.",
- "skyblocker.option.locations.dungeons.lividColor": "Livid Color",
+ "skyblocker.option.locations.dungeons.livid": "Livid (F5/M5)",
+ "skyblocker.option.locations.dungeons.map": "Map",
+ "skyblocker.option.locations.dungeons.puzzle": "Puzzle Solver",
+ "skyblocker.option.locations.dungeons.professor": "The Professor (F3/M3)",
"skyblocker.option.locations.dungeons.lividColor.enableLividColorGlow": "Enable Livid Color Glow",
"skyblocker.option.locations.dungeons.lividColor.enableLividColorGlow.@Tooltip": "Applies the glowing effect to the correct Livid in F5/M5.",
"skyblocker.option.locations.dungeons.lividColor.enableLividColorText": "Enable Livid Color Text",
@@ -327,7 +334,7 @@
"skyblocker.option.locations.dungeons.lividColor.enableLividColorTitle.@Tooltip": "Display the livid color in the title during the Livid boss fight.",
"skyblocker.option.locations.dungeons.lividColor.lividColorText": "Livid Color Text",
"skyblocker.option.locations.dungeons.lividColor.lividColorText.@Tooltip": "Text which will be sent in the chat during the Livid boss fight. The string \"[color]\" will be replaced with the livid color.",
- "skyblocker.option.locations.dungeons.terminals": "Terminal Solvers",
+ "skyblocker.option.locations.dungeons.terminals": "Terminal Solvers (F7/M7)",
"skyblocker.option.locations.dungeons.terminals.solveColor": "Solve Select Colored",
"skyblocker.option.locations.dungeons.terminals.solveOrder": "Solve Click In Order",
"skyblocker.option.locations.dungeons.terminals.solveStartsWith": "Solve Starts With",
@@ -338,7 +345,7 @@
"skyblocker.option.locations.dungeons.allowDroppingProtectedItems": "Enabled Dropping Protected Items & on Locked Slots",
"skyblocker.option.locations.dungeons.allowDroppingProtectedItems.@Tooltip": "Allows the use of class abilities in Dungeons on a locked slot or while holding an item which has been protected using /skyblocker protectItem.",
- "skyblocker.option.locations.dwarvenMines": "Dwarven Mines",
+ "skyblocker.option.locations.dwarvenMines": "Mining",
"skyblocker.option.locations.dwarvenMines.enableDrillFuel": "Enable Drill Fuel",
"skyblocker.option.locations.dwarvenMines.solveFetchur": "Solve Fetchur",
"skyblocker.option.locations.dwarvenMines.solvePuzzler": "Solve Puzzler Puzzle",
diff --git a/src/main/resources/assets/skyblocker/lang/es_es.json b/src/main/resources/assets/skyblocker/lang/es_es.json
index 26c1a496..10fbacbe 100644
--- a/src/main/resources/assets/skyblocker/lang/es_es.json
+++ b/src/main/resources/assets/skyblocker/lang/es_es.json
@@ -21,14 +21,14 @@
"skyblocker.option.general.hitbox.oldFarmlandHitbox": "Habilitar la Caja de Colisión de la 1.8 para la tierra de cultivo",
"skyblocker.option.general.hitbox.oldLeverHitbox": "Habilitar la Caja de Colisión de la 1.8 para la palanca",
"skyblocker.itemTooltip.noData": "§cSin Información",
- "skyblocker.category.richPresence": "Discord Rich Presence",
- "skyblocker.option.richPresence.info": "Información de Skyblock",
- "skyblocker.option.richPresence.info.PURSE": "CARTERA",
- "skyblocker.option.richPresence.info.BITS": "BITS",
- "skyblocker.option.richPresence.info.LOCATION": "LOCALIZACIÓN",
- "skyblocker.option.richPresence.cycleMode": "Ciclar Información de Skyblock",
- "skyblocker.option.richPresence.enableRichPresence": "Habilitado",
- "skyblocker.option.richPresence.customMessage": "Mensaje Personalizado",
+ "skyblocker.option.misc.richPresence": "Discord Rich Presence",
+ "skyblocker.option.misc.richPresence.info": "Información de Skyblock",
+ "skyblocker.option.misc.richPresence.info.PURSE": "CARTERA",
+ "skyblocker.option.misc.richPresence.info.BITS": "BITS",
+ "skyblocker.option.misc.richPresence.info.LOCATION": "LOCALIZACIÓN",
+ "skyblocker.option.misc.richPresence.cycleMode": "Ciclar Información de Skyblock",
+ "skyblocker.option.misc.richPresence.enableRichPresence": "Habilitado",
+ "skyblocker.option.misc.richPresence.customMessage": "Mensaje Personalizado",
"skyblocker.category.quickNav": "Navegación Rápida",
"skyblocker.option.quickNav.enableQuickNav": "Habilitar Navegación Rápida",
"skyblocker.option.messages.hideImplosion": "Ocultar el mensaje de Implosion",
@@ -36,7 +36,7 @@
"skyblocker.option.locations.dungeons.croesusHelper.@Tooltip": "Obscurece los cofres que ya han sido abiertos.",
"skyblocker.option.general.itemTooltip": "Información extra de los objetos",
"skyblocker.itemTooltip.nullMessage": "§cEl precio en la información en los objetos se actualiza cada 60 segundos. De lo contrario revisa lastest.log",
- "skyblocker.option.richPresence.info.@Tooltip": "Este valor no importa si estas ciclando",
+ "skyblocker.option.misc.richPresence.info.@Tooltip": "Este valor no importa si estas ciclando",
"skyblocker.option.messages.hideAds": "Ocultar anuncios del Chat Publico",
"skyblocker.option.messages.hideTeleportPad": "Ocultar mensajes del Pad de Teletransporte",
"skyblocker.option.messages.hideAutopet": "Ocultar mensajes del Autopet",
diff --git a/src/main/resources/assets/skyblocker/lang/fr_fr.json b/src/main/resources/assets/skyblocker/lang/fr_fr.json
index a25c3ed7..338bc74d 100644
--- a/src/main/resources/assets/skyblocker/lang/fr_fr.json
+++ b/src/main/resources/assets/skyblocker/lang/fr_fr.json
@@ -20,12 +20,12 @@
"skyblocker.option.general.hitbox.oldLeverHitbox": "Hitbox 1.8 du levier",
"skyblocker.itemTooltip.nullMessage": "§cLes informations sur le prix des objets vont s'actualiser dans 60 secondes maximum. Sinon consultez le fichier latest.log",
"skyblocker.itemTooltip.noData": "§cPas de données",
- "skyblocker.category.richPresence": "Rich Presence Discord",
- "skyblocker.option.richPresence.info": "Information à afficher",
- "skyblocker.option.richPresence.info.@Tooltip": "Cette valeur n'a aucune importance si vous faites défiler",
- "skyblocker.option.richPresence.cycleMode": "Faire défiler les informations",
- "skyblocker.option.richPresence.enableRichPresence": "Activée",
- "skyblocker.option.richPresence.customMessage": "Message personnalisé",
+ "skyblocker.option.misc.richPresence": "Rich Presence Discord",
+ "skyblocker.option.misc.richPresence.info": "Information à afficher",
+ "skyblocker.option.misc.richPresence.info.@Tooltip": "Cette valeur n'a aucune importance si vous faites défiler",
+ "skyblocker.option.misc.richPresence.cycleMode": "Faire défiler les informations",
+ "skyblocker.option.misc.richPresence.enableRichPresence": "Activée",
+ "skyblocker.option.misc.richPresence.customMessage": "Message personnalisé",
"skyblocker.option.general.itemList": "Liste d'objets",
"skyblocker.option.general.itemList.enableItemList": "Activer la liste d'objets",
"skyblocker.category.locations": "Lieux",
@@ -59,7 +59,7 @@
"skyblocker.option.messages.hideMana.@Tooltip": "Permet une meilleure expérience avec les barres",
"skyblocker.option.locations.dungeons.mapScaling": "Taille de la Carte",
"skyblocker.option.locations.dungeons.lividColor.lividColorText.@Tooltip": "Texte qui sera envoyé dans le chat lors du boss Livid. Le string \"[color]\" sera remplacé par la couleur Livid.",
- "skyblocker.option.locations.dungeons.lividColor": "Couleur Livid",
+ "skyblocker.option.locations.dungeons.livid": "Couleur Livid",
"skyblocker.option.locations.dungeons.lividColor.enableLividColorText": "Activer la Couleur Livid",
"skyblocker.option.locations.dungeons.lividColor.enableLividColorText.@Tooltip": "Envoyer la Couler Livid dans le chat durant le boss Livid.",
"skyblocker.option.locations.dungeons.lividColor.lividColorText": "Texte de la Couleur Livid",
@@ -80,7 +80,7 @@
"skyblocker.option.general.tabHud": "HUD Tab joli (temporairement désactivé en dehors des donjons)",
"skyblocker.option.general.tabHud.tabHudEnabled": "Activer le HUD Tab joli",
"skyblocker.option.general.tabHud.tabHudScale": "Taille du HUD Tab joli",
- "skyblocker.option.richPresence.info.LOCATION": "LIEU",
+ "skyblocker.option.misc.richPresence.info.LOCATION": "LIEU",
"skyblocker.category.quickNav": "Navigation rapide",
"skyblocker.option.quickNav.enableQuickNav": "Activer la navigation rapide",
"skyblocker.updateRepository.error": "§cLa mise à jour de la repository a échoué. Supprimez les fichiers manuellement et relancez le jeu.",
@@ -89,8 +89,8 @@
"skyblocker.option.general.fishing": "Assistant de pêche",
"skyblocker.option.general.itemTooltip.avg.THREE_DAY": "Prix pour 3 jours",
"skyblocker.option.general.itemTooltip.avg.BOTH": "Les deux",
- "skyblocker.option.richPresence.info.PURSE": "PORTE-MONNAIE",
- "skyblocker.option.richPresence.info.BITS": "BITS",
+ "skyblocker.option.misc.richPresence.info.PURSE": "PORTE-MONNAIE",
+ "skyblocker.option.misc.richPresence.info.BITS": "BITS",
"skyblocker.option.general.experiments": "Aide aux expériences de la table d'expérimentation",
"skyblocker.option.general.experiments.enableChronomatronSolver": "Activer l'aide au Chronomatron",
"skyblocker.option.general.experiments.enableSuperpairsSolver": "Activer l'aide aux Superpairs",
@@ -162,8 +162,8 @@
"skyblocker.option.general.itemInfoDisplay.attributeShardInfo.@Tooltip": "Afficher le niveau de l'attribut avec le nombre d'items et les initiales du nom de l'attribut.",
"skyblocker.option.general.wikiLookup.officialWiki": "Utiliser le wiki officiel",
"skyblocker.option.general.itemProtection.slotLockStyle": "Style de l'icône de verrouillage d'emplacement",
- "skyblocker.option.general.dungeonQuality": "Qualité du donjon",
- "skyblocker.option.general.dungeonQuality.@Tooltip": "Affiche la qualité et le niveau des objets lâchés par les ennemis des donjons à leur mort.\n\n\nRappel:\nNiveau 1-3 lâchés en F1-F3\nNiveau 4-7 lâchés en F4-F7 ou M1-M4\nNiveau 8-10 lâchés en M5-M7",
+ "skyblocker.option.general.itemTooltip.dungeonQuality": "Qualité du donjon",
+ "skyblocker.option.general.itemTooltip.dungeonQuality.@Tooltip": "Affiche la qualité et le niveau des objets lâchés par les ennemis des donjons à leur mort.\n\n\nRappel:\nNiveau 1-3 lâchés en F1-F3\nNiveau 4-7 lâchés en F4-F7 ou M1-M4\nNiveau 8-10 lâchés en M5-M7",
"skyblocker.option.general.itemInfoDisplay.attributeShardInfo": "Info des fragments d'attributs",
"skyblocker.option.general.specialEffects.rareDungeonDropEffects": "Effet de drop de donjon rare",
"skyblocker.option.general.specialEffects.rareDungeonDropEffects.@Tooltip": "Ajoute un effet visuel spécial activé en obtenant un objet de donjon rare!",
@@ -194,7 +194,7 @@
"skyblocker.option.locations.dwarvenMines.crystalsHud.enabled": "Activé",
"skyblocker.option.locations.dwarvenMines.dwarvenHud.screen": "Configuration du HUD des Nains...",
"skyblocker.option.locations.dwarvenMines.crystalsHud": "Carte de Crystal Hollows",
- "skyblocker.option.general.betterPartyFinder": "Recherche de Groupe Amélioré",
+ "skyblocker.option.general.fancyPartyFinder": "Recherche de Groupe Amélioré",
"skyblocker.wikiLookup.noArticleFound": "§rImpossivle de trouver un article sur le wiki pour cet item...",
"skyblocker.option.quickNav.button.clickEvent": "Événement de clique",
"skyblocker.option.general.flameOverlay.flameHeight.@Tooltip": "100% taille par défaut\n0% désactivé",
@@ -237,9 +237,9 @@
"skyblocker.option.general.searchOverlay.enableCommands.@Tooltip": "Ouvrir la recherche du bazaar avec \"/bzs\" et l'auction house avec \"/ahs\". Une reconnection sera nécessaire pour que ce paramètre prenne effet.",
"skyblocker.option.general.searchOverlay.historyLabel": "Historique :",
"skyblocker.option.general.fancyCraftingTable": "UI de Table de Craft joli",
- "skyblocker.option.general.betterAuctionHouse": "Auction House Amélioré",
- "skyblocker.option.general.betterAuctionHouse.enabled": "Activé",
- "skyblocker.option.general.betterAuctionHouse.highlightUnderAvgPrice": "Surlignzr les BIN est dessous du prix moyen",
+ "skyblocker.option.general.fancyAuctionHouse": "Auction House Amélioré",
+ "skyblocker.option.general.fancyAuctionHouse.enabled": "Activé",
+ "skyblocker.option.general.fancyAuctionHouse.highlightUnderAvgPrice": "Surlignzr les BIN est dessous du prix moyen",
"skyblocker.option.locations.crimsonIsle.kuudra": "Kuudra",
"skyblocker.option.locations.crimsonIsle.kuudra.safeSpotWaypoints": "Waypoints des endroits sûrs",
"skyblocker.option.locations.crimsonIsle.kuudra.noArrowPoisonWarning": "Avertissement pas de flèches empoisonnées",
diff --git a/src/main/resources/assets/skyblocker/lang/id_id.json b/src/main/resources/assets/skyblocker/lang/id_id.json
index d7b885f5..0f97aa25 100644
--- a/src/main/resources/assets/skyblocker/lang/id_id.json
+++ b/src/main/resources/assets/skyblocker/lang/id_id.json
@@ -21,8 +21,8 @@
"skyblocker.option.general.itemTooltip.enableAvgBIN": "Aktifkan Rata-rata Harga BIN",
"skyblocker.option.general.itemTooltip.avg": "Tipe Rata-rata",
"skyblocker.option.general.itemTooltip.enableBazaarPrice": "Aktifkan Harga Jual Beli Bazaar",
- "skyblocker.option.richPresence.info": "Informasi Skyblock",
- "skyblocker.option.richPresence.enableRichPresence": "Diaktifkan",
+ "skyblocker.option.misc.richPresence.info": "Informasi Skyblock",
+ "skyblocker.option.misc.richPresence.enableRichPresence": "Diaktifkan",
"skyblocker.option.general.itemList": "Daftar Item",
"skyblocker.option.general.itemList.enableItemList": "Aktifkan Daftar Item",
"key.wikiLookup": "Pencarian Wiki",
diff --git a/src/main/resources/assets/skyblocker/lang/it_it.json b/src/main/resources/assets/skyblocker/lang/it_it.json
index 4f38e758..c7554b5a 100644
--- a/src/main/resources/assets/skyblocker/lang/it_it.json
+++ b/src/main/resources/assets/skyblocker/lang/it_it.json
@@ -40,16 +40,16 @@
"skyblocker.option.general.quiverWarning.enableQuiverWarningInDungeons": "Attiva avviso per faretra nei Dungeons",
"skyblocker.option.general.itemTooltip": "Descrizione Oggetto",
"skyblocker.option.general.itemTooltip.avg.BOTH": "Entrambi",
- "skyblocker.option.general.dungeonQuality": "Qualita Dungeon",
+ "skyblocker.option.general.itemTooltip.dungeonQuality": "Qualita Dungeon",
"skyblocker.option.general.wikiLookup": "Guarda sulla Wiki",
"skyblocker.option.general.chestValue": "Valore Cesta",
"skyblocker.option.general.specialEffects": "Effetti Speciali",
"skyblocker.option.general.hitbox": "Hitbox",
"skyblocker.option.general.teleportOverlay": "Overlay per Teletrasporto",
"skyblocker.option.general.searchOverlay.historyLabel": "Storia:",
- "skyblocker.option.richPresence.info.PURSE": "Portafoglio",
- "skyblocker.option.richPresence.info.BITS": "BIT",
- "skyblocker.option.richPresence.info.LOCATION": "POSIZIONE",
+ "skyblocker.option.misc.richPresence.info.PURSE": "Portafoglio",
+ "skyblocker.option.misc.richPresence.info.BITS": "BIT",
+ "skyblocker.option.misc.richPresence.info.LOCATION": "POSIZIONE",
"skyblocker.option.quickNav.button.item": "Oggetto",
"skyblocker.option.quickNav.button.item.nbt": "NBT",
"skyblocker.option.locations.crimsonIsle.kuudra": "Kuudra",
@@ -92,7 +92,7 @@
"skyblocker.option.general.itemTooltip.enableAccessoriesHelper.@Tooltip[2]": "Questo accessorio è un miglioramento rispetto a quello della stessa famiglia che già possiedi. Mostra anche di che livello è l'accessorio all'interno della sua famiglia.",
"skyblocker.option.general.itemTooltip.enableAccessoriesHelper.@Tooltip[0]": "Quando passi il mouse sopra un accessorio vieni informato se ce lo hai gia, o meno, e se è meglio o peggio di quello che hai già. Lista dei possibili status:",
"skyblocker.option.general.itemTooltip.enableMuseumInfo.@Tooltip": "SI questo oggetto è donabile al museo, viene mostrata la categoria del museo a cui appartiene. Mostra anche se hai già donato o meno quel'oggetto.\n\nFai attenzione ad aver abilitato l'API per il Museo per far si di avere informazioni accurate!",
- "skyblocker.option.richPresence.enableRichPresence": "Attivo",
+ "skyblocker.option.misc.richPresence.enableRichPresence": "Attivo",
"skyblocker.option.quickNav.button.render": "Rendering",
"skyblocker.category.locations": "Luoghi",
"skyblocker.option.locations.barn": "Barn",
@@ -115,8 +115,8 @@
"skyblocker.option.general.flameOverlay.flameHeight": "Altezza della Fiamma",
"skyblocker.option.general.flameOverlay.flameOpacity": "Opacità della FIamma",
"skyblocker.itemTooltip.noData": "§cNessuna Informazione",
- "skyblocker.option.richPresence.info": "Informazioni Skyblock",
- "skyblocker.option.richPresence.customMessage": "Messaggio Personalizzato",
+ "skyblocker.option.misc.richPresence.info": "Informazioni Skyblock",
+ "skyblocker.option.misc.richPresence.customMessage": "Messaggio Personalizzato",
"skyblocker.category.quickNav": "Navigazione Veloce",
"skyblocker.option.quickNav.button": "Bottone %d",
"skyblocker.option.quickNav.button.item.itemName": "ID Oggetto",
@@ -138,7 +138,7 @@
"skyblocker.option.locations.dungeons.dungeonChestProfit.lossColor": "Colore per Perdita",
"skyblocker.option.locations.dungeons.mapScaling": "Dimensioni della Mappa",
"skyblocker.option.locations.dungeons.mimicMessage": "Messaggio per il Mimic",
- "skyblocker.option.locations.dungeons.lividColor": "Colore Livid",
+ "skyblocker.option.locations.dungeons.livid": "Colore Livid",
"skyblocker.option.locations.dwarvenMines.solveFetchur": "Risolvi Fetchur",
"skyblocker.option.locations.dwarvenMines.dwarvenHud": "HUD per le Dwarven Mines",
"skyblocker.option.locations.dwarvenMines.crystalsHud.mapScaling": "Dimensioni Mappa",
@@ -176,7 +176,7 @@
"skyblocker.option.locations.dungeons.dungeonChestProfit.enableProfitCalculator.@Tooltip": "Mostra il profitto di un baule del dungeon nel titolo dello schermo del baule.\nVerde se c'è profitto.\nRosso se non c'è profitto.\nGrigio se non guadagni o perdi nulla.\nBlu se i calcoli sono stati basati su dati incompleti.",
"skyblocker.option.messages.chatRules.screen.ruleScreen.sounds": "Riproduci Suono:",
"skyblocker.option.slayer.endermanSlayer": "Slayer di Enderman",
- "skyblocker.option.general.dungeonQuality.@Tooltip": "Mostra la qualità e il livello dei drop del dungeon dai mob.\n\n\nPromemoria:\nLivello 1-3 droppato da F1-F3\nLivello 4-7 droppato da F4-F7 o M1-M4\n Livello 8-10 droppati solo da M5-M7",
+ "skyblocker.option.general.itemTooltip.dungeonQuality.@Tooltip": "Mostra la qualità e il livello dei drop del dungeon dai mob.\n\n\nPromemoria:\nLivello 1-3 droppato da F1-F3\nLivello 4-7 droppato da F4-F7 o M1-M4\n Livello 8-10 droppati solo da M5-M7",
"skyblocker.option.locations.dungeons.dungeonScore.dungeonScoreMessage.@Tooltip": "Messaggio che verrà inviato in chat quando si raggiunge %d punteggio nei dungeon. La stringa “[punteggio]” sarà sostituita con il punteggio del dungeon (%d).",
"skyblocker.option.general.itemTooltip.enableAccessoriesHelper.@Tooltip[4]": "Possiedi già un accessorio nella stessa famiglia che è migliore di questo. Dice anche di che livello è l’accessorio che hai in quella famiglia.",
"skyblocker.option.general.enableNewYearCakesHelper.@Tooltip": "Evidenzia in verde le torte di capodanno mancanti e in rosso le torte che hai già. \n\nRichiede che tu apra almeno una volta la tua borsa delle torte per funzionare.",
diff --git a/src/main/resources/assets/skyblocker/lang/ja_jp.json b/src/main/resources/assets/skyblocker/lang/ja_jp.json
index 61f1d542..0b1cd9f3 100644
--- a/src/main/resources/assets/skyblocker/lang/ja_jp.json
+++ b/src/main/resources/assets/skyblocker/lang/ja_jp.json
@@ -19,12 +19,12 @@
"skyblocker.option.general.hitbox.oldFarmlandHitbox": "バージョン1.8での作物のヒットボックスを使う",
"skyblocker.option.general.hitbox.oldLeverHitbox": "バージョン1.8でのレバーのヒットボックスを使う",
"skyblocker.itemTooltip.nullMessage": "§cツールチップ上のアイテムの値段は最大60秒ごとに更新されます。されていない場合はlatest.logを確認してください",
- "skyblocker.category.richPresence": "discordに自分のゲームアクティビティを表示する",
- "skyblocker.option.richPresence.info": "skyblockの情報",
- "skyblocker.option.richPresence.info.@Tooltip": "この値はあなたがサイクリングしている場合は重要ではありません",
- "skyblocker.option.richPresence.cycleMode": "円状のskyblockの情報",
- "skyblocker.option.richPresence.enableRichPresence": "有効",
- "skyblocker.option.richPresence.customMessage": "カスタムメッセージ",
+ "skyblocker.option.misc.richPresence": "discordに自分のゲームアクティビティを表示する",
+ "skyblocker.option.misc.richPresence.info": "skyblockの情報",
+ "skyblocker.option.misc.richPresence.info.@Tooltip": "この値はあなたがサイクリングしている場合は重要ではありません",
+ "skyblocker.option.misc.richPresence.cycleMode": "円状のskyblockの情報",
+ "skyblocker.option.misc.richPresence.enableRichPresence": "有効",
+ "skyblocker.option.misc.richPresence.customMessage": "カスタムメッセージ",
"skyblocker.option.general.itemList": "アイテムリスト",
"skyblocker.option.general.itemList.enableItemList": "アイテムリストを有効にする",
"skyblocker.category.locations": "場所",
diff --git a/src/main/resources/assets/skyblocker/lang/ko_kr.json b/src/main/resources/assets/skyblocker/lang/ko_kr.json
index e5df9678..da5bf7e7 100644
--- a/src/main/resources/assets/skyblocker/lang/ko_kr.json
+++ b/src/main/resources/assets/skyblocker/lang/ko_kr.json
@@ -23,15 +23,15 @@
"skyblocker.option.general.hitbox.oldLeverHitbox": "1.8 레버 히트박스 활성화",
"skyblocker.itemTooltip.nullMessage": "§c아이템 가격 툴팁이 최대 60초 이내에 갱신됩니다. 갱신되지 않을 시 latest.log 를 확인하세요.",
"skyblocker.itemTooltip.noData": "§c데이터 없음",
- "skyblocker.category.richPresence": "디스코드 Rich Presence",
- "skyblocker.option.richPresence.info": "스카이블록 정보",
- "skyblocker.option.richPresence.info.PURSE": "PURSE",
- "skyblocker.option.richPresence.info.BITS": "BITS",
- "skyblocker.option.richPresence.info.LOCATION": "위치",
- "skyblocker.option.richPresence.info.@Tooltip": "이 값은 순환중일 시 중요하지 않습니다",
- "skyblocker.option.richPresence.cycleMode": "스카이블록 정보 순환",
- "skyblocker.option.richPresence.enableRichPresence": "활성화됨",
- "skyblocker.option.richPresence.customMessage": "사용자 지정 메시지",
+ "skyblocker.option.misc.richPresence": "디스코드 Rich Presence",
+ "skyblocker.option.misc.richPresence.info": "스카이블록 정보",
+ "skyblocker.option.misc.richPresence.info.PURSE": "PURSE",
+ "skyblocker.option.misc.richPresence.info.BITS": "BITS",
+ "skyblocker.option.misc.richPresence.info.LOCATION": "위치",
+ "skyblocker.option.misc.richPresence.info.@Tooltip": "이 값은 순환중일 시 중요하지 않습니다",
+ "skyblocker.option.misc.richPresence.cycleMode": "스카이블록 정보 순환",
+ "skyblocker.option.misc.richPresence.enableRichPresence": "활성화됨",
+ "skyblocker.option.misc.richPresence.customMessage": "사용자 지정 메시지",
"skyblocker.category.quickNav": "즐겨찾기",
"skyblocker.option.quickNav.enableQuickNav": "즐겨찾기 활성화",
"skyblocker.option.general.itemList": "아이템 목록",
diff --git a/src/main/resources/assets/skyblocker/lang/nb_no.json b/src/main/resources/assets/skyblocker/lang/nb_no.json
index d9a931bb..6accbc74 100644
--- a/src/main/resources/assets/skyblocker/lang/nb_no.json
+++ b/src/main/resources/assets/skyblocker/lang/nb_no.json
@@ -17,15 +17,15 @@
"skyblocker.option.general.hitbox.oldFarmlandHitbox": "Aktiver 1.8 treffboks for avlinger",
"skyblocker.option.general.hitbox.oldLeverHitbox": "Aktiver 1.8 spak Treffboks",
"skyblocker.itemTooltip.noData": "§cIngen data",
- "skyblocker.category.richPresence": "Discord-rik tilstedeværelse",
- "skyblocker.option.richPresence.info": "Skyblock-informasjon",
- "skyblocker.option.richPresence.info.PURSE": "VESKE",
- "skyblocker.option.richPresence.info.BITS": "BITS",
- "skyblocker.option.richPresence.info.LOCATION": "PLASSERING",
- "skyblocker.option.richPresence.info.@Tooltip": "Denne verdien har ikke noe å si hvis du cycling",
- "skyblocker.option.richPresence.cycleMode": "Cycle Skyblock Informasjon",
- "skyblocker.option.richPresence.enableRichPresence": "Aktivert",
- "skyblocker.option.richPresence.customMessage": "Egendefinert melding",
+ "skyblocker.option.misc.richPresence": "Discord-rik tilstedeværelse",
+ "skyblocker.option.misc.richPresence.info": "Skyblock-informasjon",
+ "skyblocker.option.misc.richPresence.info.PURSE": "VESKE",
+ "skyblocker.option.misc.richPresence.info.BITS": "BITS",
+ "skyblocker.option.misc.richPresence.info.LOCATION": "PLASSERING",
+ "skyblocker.option.misc.richPresence.info.@Tooltip": "Denne verdien har ikke noe å si hvis du cycling",
+ "skyblocker.option.misc.richPresence.cycleMode": "Cycle Skyblock Informasjon",
+ "skyblocker.option.misc.richPresence.enableRichPresence": "Aktivert",
+ "skyblocker.option.misc.richPresence.customMessage": "Egendefinert melding",
"skyblocker.category.quickNav": "Rask navigering",
"skyblocker.option.quickNav.enableQuickNav": "Aktiver hurtignavigering",
"key.categories.skyblocker": "SkyBlocker",
diff --git a/src/main/resources/assets/skyblocker/lang/pt_br.json b/src/main/resources/assets/skyblocker/lang/pt_br.json
index c9bff123..8289fb03 100644
--- a/src/main/resources/assets/skyblocker/lang/pt_br.json
+++ b/src/main/resources/assets/skyblocker/lang/pt_br.json
@@ -23,12 +23,12 @@
"skyblocker.option.general.teleportOverlay.enableSinrecallTransmission": "Ativar Overlay de Transmissão de Sinrecall",
"skyblocker.option.general.teleportOverlay.enableWitherImpact": "Ativar Overlay de Impacto de Wither",
"skyblocker.itemTooltip.noData": "§cSem Dados",
- "skyblocker.option.richPresence.info": "Informação do Skyblock",
- "skyblocker.option.richPresence.info.PURSE": "BOLSA",
- "skyblocker.option.richPresence.info.@Tooltip": "Esse valor não importa se você está passando por um ciclo",
- "skyblocker.option.richPresence.cycleMode": "Informação de Ciclo do Skyblock",
- "skyblocker.option.richPresence.enableRichPresence": "Ativado",
- "skyblocker.option.richPresence.customMessage": "Mensagem Personalizada",
+ "skyblocker.option.misc.richPresence.info": "Informação do Skyblock",
+ "skyblocker.option.misc.richPresence.info.PURSE": "BOLSA",
+ "skyblocker.option.misc.richPresence.info.@Tooltip": "Esse valor não importa se você está passando por um ciclo",
+ "skyblocker.option.misc.richPresence.cycleMode": "Informação de Ciclo do Skyblock",
+ "skyblocker.option.misc.richPresence.enableRichPresence": "Ativado",
+ "skyblocker.option.misc.richPresence.customMessage": "Mensagem Personalizada",
"skyblocker.option.quickNav.enableQuickNav": "Ativar Navegação Rápida",
"key.hotbarSlotLock": "Trancar Slot (Hotbar)",
"skyblocker.title": "Configurações do Skyblocker",
@@ -45,7 +45,7 @@
"skyblocker.option.general.teleportOverlay.enableTeleportOverlays": "Ativar Overlays de Teleporte",
"skyblocker.option.general.teleportOverlay.enableEtherTransmission": "Ativar Overlay de Transmissão Éter",
"skyblocker.itemTooltip.nullMessage": "§cA Informação do preço do item no tooltip irá se renovar no máximo 60 segundos. Caso contrário, cheque \"latest.log\"",
- "skyblocker.option.richPresence.info.LOCATION": "LOCALIZAÇÃO",
+ "skyblocker.option.misc.richPresence.info.LOCATION": "LOCALIZAÇÃO",
"skyblocker.category.quickNav": "Navegação Rápida",
"key.categories.skyblocker": "Skyblocker",
"skyblocker.option.general.etherwarpOverlay": "Overlay de Etherwarp",
@@ -66,8 +66,8 @@
"skyblocker.option.general.itemTooltip.avg.@Tooltip": "Você pode escolher quantos dias de preço médio para ser",
"skyblocker.option.general.itemInfoDisplay": "Exibição de Informação do Item",
"skyblocker.option.general.itemInfoDisplay.attributeShardInfo": "Informação de Fragmento de Atributo",
- "skyblocker.category.richPresence": "Discord Rich Presence",
- "skyblocker.option.richPresence.info.BITS": "BITS",
+ "skyblocker.option.misc.richPresence": "Discord Rich Presence",
+ "skyblocker.option.misc.richPresence.info.BITS": "BITS",
"skyblocker.category.messages": "Mensagens",
"skyblocker.option.messages.hideImplosion": "Esconder Mensagem de Implosão",
"skyblocker.option.messages.hideMoltenWave": "Esconder Mensagem do Molten Wave",
@@ -172,7 +172,7 @@
"skyblocker.option.locations.dungeons.croesusHelper.@Tooltip": "Acinzentar os baús que já foram abertos.",
"skyblocker.option.locations.dungeons.enableMap": "Ativar mapa",
"skyblocker.option.locations.dungeons.mapScaling": "Tamanho do mapa",
- "skyblocker.option.locations.dungeons.lividColor": "Cor do Livid",
+ "skyblocker.option.locations.dungeons.livid": "Cor do Livid",
"skyblocker.option.locations.dungeons.lividColor.enableLividColorText": "Ativar cor para Livid",
"skyblocker.option.locations.dungeons.terminals": "Guia dos terminais",
"skyblocker.option.locations.dungeons.terminals.solveColor": "Guia de seleção colorido",
@@ -289,7 +289,7 @@
"skyblocker.option.general.itemProtection.slotLockStyle.@Tooltip": "Escolhe entre ícone de slot bloqueado bonito ou classico.",
"key.itemProtection": "Proteger Item",
"skyblocker.option.general.chestValue.color": "Cor do Valor do Baú",
- "skyblocker.option.general.dungeonQuality": "Qualidade da Dungeon",
+ "skyblocker.option.general.itemTooltip.dungeonQuality": "Qualidade da Dungeon",
"skyblocker.option.general.tabHud.enableHudBackground": "Ativar Fundo de HUD",
"skyblocker.option.general.tabHud.enableHudBackground.@Tooltip": "Ativa o fundo de uma HUD que não é a tab.",
"skyblocker.option.general.waypoints": "Waypoints",
diff --git a/src/main/resources/assets/skyblocker/lang/ru_ru.json b/src/main/resources/assets/skyblocker/lang/ru_ru.json
index b880c452..abee3e85 100644
--- a/src/main/resources/assets/skyblocker/lang/ru_ru.json
+++ b/src/main/resources/assets/skyblocker/lang/ru_ru.json
@@ -33,12 +33,12 @@
"skyblocker.option.general.itemTooltip.avg.@Tooltip": "Можно выбрать, за сколько дней будет браться средняя цена",
"skyblocker.option.general.itemTooltip.enableLowestBIN": "Показать минимальную цену на BIN",
"skyblocker.option.general.itemTooltip.enableBazaarPrice": "Показать цены на Bazaar-е",
- "skyblocker.category.richPresence": "Активность в статусе Discord",
- "skyblocker.option.richPresence.info": "Отображаемая информация",
- "skyblocker.option.richPresence.info.@Tooltip": "Не имеет значения при цикличном отображении",
- "skyblocker.option.richPresence.cycleMode": "Отображать все опции циклично",
- "skyblocker.option.richPresence.enableRichPresence": "Включить",
- "skyblocker.option.richPresence.customMessage": "Своё сообщение",
+ "skyblocker.option.misc.richPresence": "Активность в статусе Discord",
+ "skyblocker.option.misc.richPresence.info": "Отображаемая информация",
+ "skyblocker.option.misc.richPresence.info.@Tooltip": "Не имеет значения при цикличном отображении",
+ "skyblocker.option.misc.richPresence.cycleMode": "Отображать все опции циклично",
+ "skyblocker.option.misc.richPresence.enableRichPresence": "Включить",
+ "skyblocker.option.misc.richPresence.customMessage": "Своё сообщение",
"skyblocker.option.general.itemList": "Список предметов",
"skyblocker.option.general.itemList.enableItemList": "Включить Список Предметов",
"skyblocker.option.messages.hideCombo": "Скрывать сообщения о комбо",
@@ -60,8 +60,8 @@
"skyblocker.option.general.hitbox.oldLeverHitbox": "Использовать хитбокс рычагов из 1.8",
"skyblocker.option.general.itemTooltip.avg.ONE_DAY": "Цена за 1 день",
"skyblocker.itemTooltip.noData": "§cНет данных",
- "skyblocker.option.richPresence.info.PURSE": "PURSE",
- "skyblocker.option.richPresence.info.LOCATION": "LOCATION",
+ "skyblocker.option.misc.richPresence.info.PURSE": "PURSE",
+ "skyblocker.option.misc.richPresence.info.LOCATION": "LOCATION",
"skyblocker.category.quickNav": "Быстрый Доступ",
"skyblocker.option.quickNav.enableQuickNav": "Включить кнопки в инвентаре",
"skyblocker.option.general.tabHud": "Красивое TAB меню(временно отключено вне данжа)",
@@ -74,7 +74,7 @@
"skyblocker.option.locations.dwarvenMines.dwarvenHud.style.@Tooltip[1]": "\nКрасивый: Показывает название, процент и шкалу выполнения, а также иконку.",
"skyblocker.option.locations.dungeons.mapScaling": "Размер Карты",
"skyblocker.option.locations.dungeons.lividColor.enableLividColorText": "Включить Цвет Босса Livid",
- "skyblocker.option.locations.dungeons.lividColor": "Цвет Босса Livid",
+ "skyblocker.option.locations.dungeons.livid": "Цвет Босса Livid",
"skyblocker.option.locations.dungeons.lividColor.enableLividColorText.@Tooltip": "Отправляет в чат информацию о том, какого цвета босс Livid.",
"skyblocker.option.locations.dungeons.lividColor.lividColorText": "Текст О Цвете Livid",
"skyblocker.option.locations.dwarvenMines.dwarvenHud.style": "Стиль HUD",
@@ -89,7 +89,7 @@
"skyblocker.option.messages.chatFilterResult.FILTER": "Скрыть",
"skyblocker.option.messages.chatFilterResult.PASS": "Не скрывать",
"skyblocker.updateRepository.error": "§cОшибка в обновлении местного репозитория. Перезапустите игру, удалив файлы вручную.",
- "skyblocker.option.richPresence.info.BITS": "BITS",
+ "skyblocker.option.misc.richPresence.info.BITS": "BITS",
"skyblocker.option.locations.dungeons.croesusHelper": "Помощь в меню Croesus",
"skyblocker.option.general.experiments": "Помощь в Экспериментах",
"skyblocker.option.general.experiments.enableUltrasequencerSolver": "Помощь с Ultrasequencer",
@@ -197,7 +197,7 @@
"skyblocker.option.locations.dungeons.secretWaypoints.enableRoomMatching": "Включить нумерацию комнат",
"skyblocker.option.locations.dungeons.secretWaypoints.enableDefaultWaypoints": "Включить стандартные метки",
"skyblocker.wikiLookup.noArticleFound": "§rДля этого предмета не найдено статьи на Вики...",
- "skyblocker.option.general.betterPartyFinder": "Улучшенный поиск компании",
+ "skyblocker.option.general.fancyPartyFinder": "Улучшенный поиск компании",
"skyblocker.option.locations.spidersDen.relics.highlightFoundRelics": "Подсветка найденных реликвий",
"skyblocker.option.locations.spidersDen.relics.enableRelicsHelper": "Включить помощника по хайд-реликвиям",
"skyblocker.option.locations.dungeons.secretWaypoints.showSecretText": "Включить секретный текст",
@@ -321,8 +321,8 @@
"skyblocker.option.general.itemProtection": "Предметная защита",
"skyblocker.option.general.itemProtection.slotLockStyle": "Стиль слота с закреплённым предметом",
"skyblocker.option.locations.crimsonIsle.kuudra": "Kuudrа",
- "skyblocker.option.general.dungeonQuality": "Данж-качество",
- "skyblocker.option.general.dungeonQuality.@Tooltip": "Показывает качество и уровень дропа из данжа с мобов.\n\n\nПример:\nУр. 1-3 падает на 1-3 этажах\nУр. 4-7 падает на 4-7 этажах, или с 1-4 ур. Мастера\nУр. 8-10 падает только с 5-7 ур. Мастера",
+ "skyblocker.option.general.itemTooltip.dungeonQuality": "Данж-качество",
+ "skyblocker.option.general.itemTooltip.dungeonQuality.@Tooltip": "Показывает качество и уровень дропа из данжа с мобов.\n\n\nПример:\nУр. 1-3 падает на 1-3 этажах\nУр. 4-7 падает на 4-7 этажах, или с 1-4 ур. Мастера\nУр. 8-10 падает только с 5-7 ур. Мастера",
"skyblocker.option.locations.dungeons.dungeonChestProfit.croesusProfit": "Подсчёт окупаемости сундука Croesus",
"skyblocker.option.locations.dungeons.dungeonChestProfit.croesusProfit.@Tooltip": "Подсвечивает сундук с самой лучшей окупаемостью у Croesus НИПа.\n\n\nСамый лучший сундук будет подсвечиваться зелёным цветом.\nЕсли для этого сундука нужен ключ данжа, то он будет подсвечиваться жёлтым",
"skyblocker.option.locations.dungeons.mapScreen": "Расположение карты и результата забега...",
@@ -373,9 +373,9 @@
"skyblocker.option.general.fishing.hideOtherPlayers.@Tooltip": "Не дает отображаться удочкам других игроков",
"skyblocker.option.general.itemTooltip.enableAccessoriesHelper.@Tooltip[4]": "У вас уже есть аксессуар лучше, чем этот. Также сообщает, какого уровня имеющийся аксессуар.",
"skyblocker.option.general.itemTooltip.enableAccessoriesHelper.@Tooltip[5]": "У вас нет аксессуаров из этого семейства.",
- "skyblocker.option.general.betterAuctionHouse": "Улучшенный аукцион",
- "skyblocker.option.general.betterAuctionHouse.enabled": "Включить",
- "skyblocker.option.general.betterAuctionHouse.highlightUnderAvgPrice": "Подсвечивать BIN-аукционы по цене ниже средней",
+ "skyblocker.option.general.fancyAuctionHouse": "Улучшенный аукцион",
+ "skyblocker.option.general.fancyAuctionHouse.enabled": "Включить",
+ "skyblocker.option.general.fancyAuctionHouse.highlightUnderAvgPrice": "Подсвечивать BIN-аукционы по цене ниже средней",
"skyblocker.option.locations.garden.farmingHud.enableHud": "Включить фермерский HUD",
"skyblocker.option.locations.garden.farmingHud.config": "Настройка фермерского HUD...",
"skyblocker.option.general.fishing.enableFishingTimer": "Включить Таймер",
diff --git a/src/main/resources/assets/skyblocker/lang/tr_tr.json b/src/main/resources/assets/skyblocker/lang/tr_tr.json
index a7939f3d..dbc189ba 100644
--- a/src/main/resources/assets/skyblocker/lang/tr_tr.json
+++ b/src/main/resources/assets/skyblocker/lang/tr_tr.json
@@ -13,14 +13,14 @@
"skyblocker.option.general.hitbox.oldFarmlandHitbox": "1.8 tarım hitboxlarını etkinleştir",
"skyblocker.option.general.hitbox.oldLeverHitbox": "1.8 şalter hitboxunu etkinleştir",
"skyblocker.itemTooltip.noData": "§cVeri yok",
- "skyblocker.category.richPresence": "Discord Özel Durumu",
- "skyblocker.option.richPresence.info": "Skyblock bilgisi",
- "skyblocker.option.richPresence.info.PURSE": "Cüzdan",
- "skyblocker.option.richPresence.info.BITS": "Bit",
- "skyblocker.option.richPresence.info.LOCATION": "Konum",
- "skyblocker.option.richPresence.info.@Tooltip": "Eğer döngüyü açtıysanız bu değer geçersiz kalır",
- "skyblocker.option.richPresence.cycleMode": "Skyblock bilgilerini döngüye al",
- "skyblocker.option.richPresence.customMessage": "Özel mesaj",
+ "skyblocker.option.misc.richPresence": "Discord Özel Durumu",
+ "skyblocker.option.misc.richPresence.info": "Skyblock bilgisi",
+ "skyblocker.option.misc.richPresence.info.PURSE": "Cüzdan",
+ "skyblocker.option.misc.richPresence.info.BITS": "Bit",
+ "skyblocker.option.misc.richPresence.info.LOCATION": "Konum",
+ "skyblocker.option.misc.richPresence.info.@Tooltip": "Eğer döngüyü açtıysanız bu değer geçersiz kalır",
+ "skyblocker.option.misc.richPresence.cycleMode": "Skyblock bilgilerini döngüye al",
+ "skyblocker.option.misc.richPresence.customMessage": "Özel mesaj",
"skyblocker.option.locations.dwarvenMines.dwarvenHud": "Dwarven HUD",
"skyblocker.option.locations.dwarvenMines.solveFetchur": "Fetchur'un mesajını çöz",
"skyblocker.fishing.reelNow": "Şimdi sarıl!",
@@ -40,7 +40,7 @@
"skyblocker.option.general.hideEmptyTooltips": "Menülerdeki boş eşya açıklamalarını gizle",
"skyblocker.option.general.itemTooltip.avg.@Tooltip": "Kaç günlük ortalamanın gösterileceğini seçebilirsiniz",
"skyblocker.option.general.itemTooltip.enableLowestBIN": "En düşük BIN fiyatını göster",
- "skyblocker.option.richPresence.enableRichPresence": "Aktif",
+ "skyblocker.option.misc.richPresence.enableRichPresence": "Aktif",
"skyblocker.option.locations.dwarvenMines.solvePuzzler": "Puzzler'ın bulmacasını çöz",
"key.hotbarSlotLock": "Slot Kilidi (Araç Çubuğu)",
"key.wikiLookup": "Wiki Araması",
diff --git a/src/main/resources/assets/skyblocker/lang/zh_cn.json b/src/main/resources/assets/skyblocker/lang/zh_cn.json
index edfedc71..0b8111de 100644
--- a/src/main/resources/assets/skyblocker/lang/zh_cn.json
+++ b/src/main/resources/assets/skyblocker/lang/zh_cn.json
@@ -23,15 +23,15 @@
"skyblocker.option.general.hitbox.oldLeverHitbox": "启用1.8的拉杆碰撞箱",
"skyblocker.itemTooltip.nullMessage": "§c物品提示里的价格信息会在最多60秒内更新。如果没有,请检查latest.log",
"skyblocker.itemTooltip.noData": "§c没有数据",
- "skyblocker.category.richPresence": "Discord活动状态",
- "skyblocker.option.richPresence.info": "Skyblock信息",
- "skyblocker.option.richPresence.info.PURSE": "钱包",
- "skyblocker.option.richPresence.info.BITS": "点数",
- "skyblocker.option.richPresence.info.LOCATION": "位置",
- "skyblocker.option.richPresence.info.@Tooltip": "如果您处于循环模式,这个值将不会生效",
- "skyblocker.option.richPresence.cycleMode": "循环Skyblock信息",
- "skyblocker.option.richPresence.enableRichPresence": "已启用",
- "skyblocker.option.richPresence.customMessage": "自定义消息",
+ "skyblocker.option.misc.richPresence": "Discord活动状态",
+ "skyblocker.option.misc.richPresence.info": "Skyblock信息",
+ "skyblocker.option.misc.richPresence.info.PURSE": "钱包",
+ "skyblocker.option.misc.richPresence.info.BITS": "点数",
+ "skyblocker.option.misc.richPresence.info.LOCATION": "位置",
+ "skyblocker.option.misc.richPresence.info.@Tooltip": "如果您处于循环模式,这个值将不会生效",
+ "skyblocker.option.misc.richPresence.cycleMode": "循环Skyblock信息",
+ "skyblocker.option.misc.richPresence.enableRichPresence": "已启用",
+ "skyblocker.option.misc.richPresence.customMessage": "自定义消息",
"skyblocker.category.quickNav": "快速导航",
"skyblocker.option.quickNav.enableQuickNav": "启用快速导航",
"skyblocker.option.general.itemList": "物品列表",
@@ -78,7 +78,7 @@
"skyblocker.option.general.fishing.enableFishingHelper": "启用钓鱼助手",
"skyblocker.fishing.reelNow": "收竿!",
"skyblocker.option.locations.dungeons.lividColor.enableLividColorText": "启用真Livid的颜色提示文本",
- "skyblocker.option.locations.dungeons.lividColor": "提示真Livid的颜色",
+ "skyblocker.option.locations.dungeons.livid": "提示真Livid的颜色",
"skyblocker.option.locations.dungeons.lividColor.enableLividColorText.@Tooltip": "将真Livid的颜色发送到聊天栏。",
"skyblocker.option.locations.dungeons.lividColor.lividColorText": "真Livid颜色提示信息文本",
"skyblocker.option.locations.dungeons.lividColor.lividColorText.@Tooltip": "Livid Boss战时发送到聊天栏的信息, 字段 “[color]” 将被替换为真Livid的颜色。",
@@ -170,7 +170,7 @@
"skyblocker.wikiLookup.noArticleFound": "§r无法找到此物品的维基条目...",
"skyblocker.option.locations.dungeons.secretWaypoints.enableWitherWaypoints": "启用凋灵精粹路径点",
"skyblocker.option.locations.dungeons.secretWaypoints.enableBatWaypoints": "启用蝙蝠路径点",
- "skyblocker.option.general.betterPartyFinder": "更好的组队查找",
+ "skyblocker.option.general.fancyPartyFinder": "更好的组队查找",
"skyblocker.option.locations.dungeons.secretWaypoints.enableRoomMatching.@Tooltip": "关闭此选项可节省约20MB左右的内存,但是秘密路径点和§l部分谜题助手功能§r需要启用该选项。",
"skyblocker.option.locations.dungeons.secretWaypoints.enableItemWaypoints": "启用物品路径点",
"skyblocker.option.general.quiverWarning.enableQuiverWarningAfterDungeon": "在地牢结束后启用箭袋提示",
@@ -192,7 +192,7 @@
"skyblocker.option.general.specialEffects": "特效",
"skyblocker.option.locations.dungeons.doorHighlight.doorHighlightType.secretWaypointsNote": "\n\n\n注意:若使此功能生效,必须启用地牢秘密路径点。",
"skyblocker.option.locations.dungeons.dungeonScore.enableScoreHUD.@Tooltip": "在状态栏显示地牢的分数。",
- "skyblocker.option.general.dungeonQuality": "地牢物品品质",
+ "skyblocker.option.general.itemTooltip.dungeonQuality": "地牢物品品质",
"skyblocker.option.locations.dungeons.secretWaypoints.enableStonkWaypoints": "启用Stonk路径点",
"skyblocker.option.messages.hideToggleSkyMall": "隐藏Sky Mall切换的消息",
"skyblocker.option.locations.dwarvenMines.dwarvenHud.screen": "矮人矿井HUD配置",
@@ -528,7 +528,7 @@
"text.skyblocker.discord": "Discord",
"text.skyblocker.source": "源代码",
"text.skyblocker.confirm": "确认",
- "skyblocker.option.general.betterAuctionHouse.enabled": "启用",
+ "skyblocker.option.general.fancyAuctionHouse.enabled": "启用",
"skyblocker.fancyAuctionHouse.editBid": "点击编辑出价!",
"skyblocker.fancyAuctionHouse.alreadyTopBid": "已经是最高出价!",
"skyblocker.fancyAuctionHouse.didntWin": "没有赢得拍卖 :(",
@@ -539,8 +539,8 @@
"skyblocker.fancyAuctionHouse.yourAuction": "这是你的拍卖!",
"skyblocker.fancyAuctionHouse.youPay": "你支付:%s",
"skyblocker.fancyAuctionHouse.collectBid": "收集出价",
- "skyblocker.option.general.betterAuctionHouse": "更好的拍卖行界面",
- "skyblocker.option.general.betterAuctionHouse.highlightUnderAvgPrice": "高亮显示低于平均价格的BIN物品",
+ "skyblocker.option.general.fancyAuctionHouse": "更好的拍卖行界面",
+ "skyblocker.option.general.fancyAuctionHouse.highlightUnderAvgPrice": "高亮显示低于平均价格的BIN物品",
"skyblocker.fancyAuctionHouse.price": "价格:",
"skyblocker.fancyAuctionHouse.newBid": "新出价:",
"skyblocker.fancyAuctionHouse.buy": "买!",
diff --git a/src/main/resources/assets/skyblocker/lang/zh_tw.json b/src/main/resources/assets/skyblocker/lang/zh_tw.json
index 3a851977..b0b0a7bf 100644
--- a/src/main/resources/assets/skyblocker/lang/zh_tw.json
+++ b/src/main/resources/assets/skyblocker/lang/zh_tw.json
@@ -35,10 +35,10 @@
"skyblocker.option.locations.barn.solveHungryHiker": "飢餓的旅行者所需物品提示",
"skyblocker.option.messages.hideMoltenWave": "隱藏Molten Wave技能的提示訊息",
"skyblocker.option.messages.hideImplosion": "隱藏Implosion技能的提示訊息",
- "skyblocker.option.richPresence.info.PURSE": "錢包",
- "skyblocker.option.richPresence.info.LOCATION": "位置",
- "skyblocker.option.richPresence.info.@Tooltip": "如果您正在循環模式,這個值將不會生效",
- "skyblocker.option.richPresence.customMessage": "自訂訊息",
+ "skyblocker.option.misc.richPresence.info.PURSE": "錢包",
+ "skyblocker.option.misc.richPresence.info.LOCATION": "位置",
+ "skyblocker.option.misc.richPresence.info.@Tooltip": "如果您正在循環模式,這個值將不會生效",
+ "skyblocker.option.misc.richPresence.customMessage": "自訂訊息",
"skyblocker.option.locations.dwarvenMines.solveFetchur": "解開Fetchur的謎題",
"skyblocker.option.messages.chatFilterResult.ACTION_BAR": "移至動作欄",
"skyblocker.option.messages.chatFilterResult.PASS": "關閉",
@@ -158,7 +158,7 @@
"skyblocker.option.locations.dungeons.lividColor.enableLividColorText": "啟用真Livid的顏色提示文本",
"skyblocker.option.locations.dungeons.lividColor.enableLividColorGlow": "啟用Livid高亮",
"skyblocker.option.general.teleportOverlay.enableSinrecallTransmission": "啟用Sinrecall Transmission技能目標位置顯示",
- "skyblocker.category.richPresence": "Discord活動狀態",
+ "skyblocker.option.misc.richPresence": "Discord活動狀態",
"skyblocker.option.locations.dungeons.dungeonChestProfit.enableProfitCalculator.@Tooltip": "在寶箱畫面的標題中顯示地牢寶箱的利潤。\n如果獲利則顯示綠色。\n如果虧損則為紅色。\n灰色表示沒有獲利也沒有虧損。\n如果計算是基於不完整的數據,則顯示為藍色。",
"skyblocker.option.locations.dungeons.dungeonChestProfit.includeKismet": "包含Kismet價格",
"skyblocker.option.slayer.endermanSlayer": "終界使者杀手",
@@ -343,7 +343,7 @@
"skyblocker.option.locations.dwarvenMines.dwarvenHud.screen": "矮人礦井HUD配置…",
"skyblocker.tips.enabled": "§a啟用提示。",
"skyblocker.option.quickNav.button": "按鈕 %d",
- "skyblocker.option.general.betterPartyFinder": "更好的組隊查找",
+ "skyblocker.option.general.fancyPartyFinder": "更好的組隊查找",
"skyblocker.option.locations.dungeons.secretWaypoints.enableDefaultWaypoints": "啟用預設路徑點",
"skyblocker.fairySouls.markAllFound": "§r將目前島嶼上的全部仙女之魂標記為已發現",
"skyblocker.option.locations.dungeons.dungeonScore.enableScoreHUD": "啟用分數狀態欄",
@@ -354,7 +354,7 @@
"skyblocker.option.locations.dungeons.mimicMessage.sendMimicMessage": "啟用Mimic訊息",
"skyblocker.option.locations.dungeons.mimicMessage.sendMimicMessage.@Tooltip": "殺死Mimic後在聊天中發送一則訊息,以供其他玩家的分數計算模組使用。",
"skyblocker.option.locations.dungeons.mimicMessage.mimicMessage": "Mimic訊息",
- "skyblocker.option.locations.dungeons.lividColor": "提示真Livid的顏色",
+ "skyblocker.option.locations.dungeons.livid": "提示真Livid的顏色",
"skyblocker.option.locations.dungeons.mimicMessage.mimicMessage.@Tooltip": "殺死Mimic後將在聊天中發送的訊息。 建議保留預設值。",
"skyblocker.option.locations.dungeons.fireFreezeStaffTimer.@Tooltip": "在F3/M3的Boss戰中使用受到開火凍結影響的武器時顯示計時器。",
"skyblocker.option.locations.dwarvenMines": "矮人礦井",
@@ -372,7 +372,7 @@
"skyblocker.option.locations.dwarvenMines.crystalsHud": "水晶洞窟地圖",
"skyblocker.option.general.enableTips": "啟用貼士",
"skyblocker.option.general.teleportOverlay.enableTeleportOverlays": "啟用傳送類型技能目標位置顯示",
- "skyblocker.option.richPresence.enableRichPresence": "已啟用",
+ "skyblocker.option.misc.richPresence.enableRichPresence": "已啟用",
"skyblocker.option.locations.dwarvenMines.crystalsWaypoints.enabled.@Tooltip": "為叢林遺跡和仙女石窟等水晶洞窟中的重要區域添加路徑點(在一般設定/路徑點中所選擇的路徑點)。 ",
"skyblocker.option.general.searchOverlay.enableBazaar.@Tooltip": "在Bazaar中搜尋時顯示自訂搜尋介面。",
"skyblocker.option.general.searchOverlay": "搜尋介面",
@@ -387,7 +387,7 @@
"skyblocker.option.locations.dungeons.solveBoulder.@Tooltip": "繪製路線並高亮按鈕",
"skyblocker.option.locations.dungeons.lividColor.enableLividColorTitle": "啟用Livid顏色標題",
"skyblocker.option.locations.dwarvenMines.crystalsWaypoints.findInChat": "在聊天欄中搜尋路徑點",
- "skyblocker.option.general.dungeonQuality": "地牢物品品質",
+ "skyblocker.option.general.itemTooltip.dungeonQuality": "地牢物品品質",
"skyblocker.option.general.searchOverlay.historyLength.@Tooltip": "介面顯示的搜尋歷史的最大數量。",
"skyblocker.option.general.searchOverlay.enableCommands": "從指令打開",
"skyblocker.tips.issues": "在 https://github.com/SkyblockerMod/Skyblocker 提交錯誤報告和功能請求。",
@@ -405,8 +405,8 @@
"skyblocker.option.general.itemTooltip.enableMotesPrice.@Tooltip": "顯示Rift中的物品價格,以Mote為計量單位。",
"skyblocker.option.general.tabHud.tabHudEnabled": "啟用更好的Tab HUD",
"skyblocker.option.general.teleportOverlay": "傳送類型技能目標位置顯示",
- "skyblocker.option.richPresence.info": "Skyblock訊息",
- "skyblocker.option.richPresence.cycleMode": "循環Skyblock訊息",
+ "skyblocker.option.misc.richPresence.info": "Skyblock訊息",
+ "skyblocker.option.misc.richPresence.cycleMode": "循環Skyblock訊息",
"skyblocker.updateRepository.error": "§c更新本機資料儲存庫失敗,請手動刪除檔案並重新啟動遊戲。",
"skyblocker.dungeons.secrets.markSecretFoundUnable": "§c無法將秘密 #%d 標記為已找到。",
"skyblocker.dungeons.secrets.markSecretMissingUnable": "§c無法將秘密 #%d 標記為已忽略。",
@@ -472,7 +472,7 @@
"skyblocker.partyFinder.deList": "點擊取消列出",
"skyblocker.option.general.tabHud.enableHudBackground": "啟用HUD背景",
"skyblocker.option.general.tabHud.enableHudBackground.@Tooltip": "為非TAB的HUD啟用背景。",
- "skyblocker.option.richPresence.info.BITS": "點數",
+ "skyblocker.option.misc.richPresence.info.BITS": "點數",
"skyblocker.option.locations.crimsonIsle.kuudra.safeSpotWaypoints": "安全點路徑",
"skyblocker.option.locations.crimsonIsle.kuudra.noArrowPoisonWarning": "箭毒耗盡警告",
"skyblocker.option.locations.garden.farmingHud.enableHud": "啟用耕作HUD",
@@ -530,9 +530,9 @@
"skyblocker.fancyAuctionHouse.alreadyTopBid": "已經是最高出價!",
"skyblocker.fancyAuctionHouse.yourAuction": "這是你的拍賣!",
"text.skyblocker.confirm": "確認",
- "skyblocker.option.general.betterAuctionHouse.enabled": "啟用",
- "skyblocker.option.general.betterAuctionHouse": "更好的拍賣行介面",
- "skyblocker.option.general.betterAuctionHouse.highlightUnderAvgPrice": "高亮顯示低於平均價格的BIN物品",
+ "skyblocker.option.general.fancyAuctionHouse.enabled": "啟用",
+ "skyblocker.option.general.fancyAuctionHouse": "更好的拍賣行介面",
+ "skyblocker.option.general.fancyAuctionHouse.highlightUnderAvgPrice": "高亮顯示低於平均價格的BIN物品",
"skyblocker.fancyAuctionHouse.price": "價格:",
"skyblocker.fancyAuctionHouse.newBid": "新出價:",
"skyblocker.fancyAuctionHouse.buy": "買!",