aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorKevin <92656833+kevinthegreat1@users.noreply.github.com>2024-05-20 16:46:18 -0400
committerGitHub <noreply@github.com>2024-05-20 16:46:18 -0400
commit53668124dfcb53beba92b54062ae25315d5624b3 (patch)
tree3fe24a7071d74f04f7609ffaf2d4598119e75fb3 /src
parent6886f2d89416bf56d0255f6aac3036141ce41caf (diff)
parentc155b6532531fd2de49ced44b12730571d740432 (diff)
downloadSkyblocker-53668124dfcb53beba92b54062ae25315d5624b3.tar.gz
Skyblocker-53668124dfcb53beba92b54062ae25315d5624b3.tar.bz2
Skyblocker-53668124dfcb53beba92b54062ae25315d5624b3.zip
Merge pull request #643 from VeritasDL/BranchMa
Quick Nav Refactor and Clean Up, 2 Extra Tabs, Config Version 3, Config Data Fixer Refactor, Debug Dump Hovered Item Tool
Diffstat (limited to 'src')
-rw-r--r--src/main/java/de/hysky/skyblocker/SkyblockerMod.java2
-rw-r--r--src/main/java/de/hysky/skyblocker/config/SkyblockerConfigManager.java2
-rw-r--r--src/main/java/de/hysky/skyblocker/config/categories/QuickNavigationCategory.java643
-rw-r--r--src/main/java/de/hysky/skyblocker/config/configs/QuickNavigationConfig.java68
-rw-r--r--src/main/java/de/hysky/skyblocker/config/datafixer/ConfigDataFix.java16
-rw-r--r--src/main/java/de/hysky/skyblocker/config/datafixer/ConfigDataFixer.java8
-rw-r--r--src/main/java/de/hysky/skyblocker/config/datafixer/ConfigFix1.java24
-rw-r--r--src/main/java/de/hysky/skyblocker/config/datafixer/ConfigFix2QuickNav.java38
-rw-r--r--src/main/java/de/hysky/skyblocker/debug/Debug.java27
-rw-r--r--src/main/java/de/hysky/skyblocker/mixins/HandledScreenMixin.java44
-rw-r--r--src/main/java/de/hysky/skyblocker/mixins/accessors/HandledScreenAccessor.java4
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/quicknav/QuickNav.java35
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/quicknav/QuickNavButton.java61
-rw-r--r--src/main/java/de/hysky/skyblocker/utils/ItemUtils.java5
-rw-r--r--src/main/resources/assets/skyblocker/lang/en_us.json5
-rw-r--r--src/test/java/de/hysky/skyblocker/config/datafixer/ConfigDataFixerTest.java10
-rw-r--r--src/test/resources/assets/skyblocker/config/skyblocker-v3.json573
17 files changed, 854 insertions, 711 deletions
diff --git a/src/main/java/de/hysky/skyblocker/SkyblockerMod.java b/src/main/java/de/hysky/skyblocker/SkyblockerMod.java
index 77b1ec2a..0dc1b409 100644
--- a/src/main/java/de/hysky/skyblocker/SkyblockerMod.java
+++ b/src/main/java/de/hysky/skyblocker/SkyblockerMod.java
@@ -76,6 +76,7 @@ public class SkyblockerMod implements ClientModInitializer {
public static final String VERSION = SKYBLOCKER_MOD.getMetadata().getVersion().getFriendlyString();
public static final Path CONFIG_DIR = FabricLoader.getInstance().getConfigDir().resolve(NAMESPACE);
public static final Gson GSON = new GsonBuilder().setPrettyPrinting().create();
+ public static final Gson GSON_COMPACT = new GsonBuilder().create();
private static SkyblockerMod INSTANCE;
public final ContainerSolverManager containerSolverManager = new ContainerSolverManager();
public final StatusBarTracker statusBarTracker = new StatusBarTracker();
@@ -119,7 +120,6 @@ public class SkyblockerMod implements ClientModInitializer {
EnderNodes.init();
OrderedWaypoints.init();
BackpackPreview.init();
- QuickNav.init();
ItemCooldowns.init();
TabHud.init();
DwarvenHud.init();
diff --git a/src/main/java/de/hysky/skyblocker/config/SkyblockerConfigManager.java b/src/main/java/de/hysky/skyblocker/config/SkyblockerConfigManager.java
index 2876b48f..dd406b8a 100644
--- a/src/main/java/de/hysky/skyblocker/config/SkyblockerConfigManager.java
+++ b/src/main/java/de/hysky/skyblocker/config/SkyblockerConfigManager.java
@@ -26,7 +26,7 @@ import java.lang.StackWalker.Option;
import java.nio.file.Path;
public class SkyblockerConfigManager {
- public static final int CONFIG_VERSION = 2;
+ public static final int CONFIG_VERSION = 3;
private static final Path CONFIG_FILE = FabricLoader.getInstance().getConfigDir().resolve("skyblocker.json");
private static final ConfigClassHandler<SkyblockerConfig> HANDLER = ConfigClassHandler.createBuilder(SkyblockerConfig.class)
.serializer(config -> GsonConfigSerializerBuilder.create(config)
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 64c67417..98e5511c 100644
--- a/src/main/java/de/hysky/skyblocker/config/categories/QuickNavigationCategory.java
+++ b/src/main/java/de/hysky/skyblocker/config/categories/QuickNavigationCategory.java
@@ -2,16 +2,18 @@ package de.hysky.skyblocker.config.categories;
import de.hysky.skyblocker.config.ConfigUtils;
import de.hysky.skyblocker.config.SkyblockerConfig;
+import de.hysky.skyblocker.config.configs.QuickNavigationConfig;
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.IntegerFieldControllerBuilder;
+import dev.isxander.yacl3.api.controller.ItemControllerBuilder;
import dev.isxander.yacl3.api.controller.StringControllerBuilder;
+import net.minecraft.item.Item;
import net.minecraft.text.Text;
public class QuickNavigationCategory {
-
public static ConfigCategory create(SkyblockerConfig defaults, SkyblockerConfig config) {
return ConfigCategory.createBuilder()
.name(Text.translatable("skyblocker.config.quickNav"))
@@ -25,594 +27,71 @@ public class QuickNavigationCategory {
.controller(ConfigUtils::createBooleanController)
.build())
- //Button 1
- .group(OptionGroup.createBuilder()
- .name(Text.translatable("skyblocker.config.quickNav.button", 1))
- .collapsed(true)
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.config.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.config.quickNav.button.item.itemName"))
- .binding(defaults.quickNav.button1.item.id,
- () -> config.quickNav.button1.item.id,
- newValue -> config.quickNav.button1.item.id = newValue)
- .controller(StringControllerBuilder::create)
- .build())
- .option(Option.<Integer>createBuilder()
- .name(Text.translatable("skyblocker.config.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, 99))
- .build())
- .option(Option.<String>createBuilder()
- .name(Text.translatable("skyblocker.config.quickNav.button.item.components"))
- .description(OptionDescription.of(Text.translatable("skyblocker.config.quickNav.button.item.components.@Tooltip")))
- .binding(defaults.quickNav.button1.item.components,
- () -> config.quickNav.button1.item.components,
- newValue -> config.quickNav.button1.item.components = newValue)
- .controller(StringControllerBuilder::create)
- .build())
- .option(Option.<String>createBuilder()
- .name(Text.translatable("skyblocker.config.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.config.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.config.quickNav.button", 2))
- .collapsed(true)
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.config.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.config.quickNav.button.item.itemName"))
- .binding(defaults.quickNav.button2.item.id,
- () -> config.quickNav.button2.item.id,
- newValue -> config.quickNav.button2.item.id = newValue)
- .controller(StringControllerBuilder::create)
- .build())
- .option(Option.<Integer>createBuilder()
- .name(Text.translatable("skyblocker.config.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, 99))
- .build())
- .option(Option.<String>createBuilder()
- .name(Text.translatable("skyblocker.config.quickNav.button.item.components"))
- .description(OptionDescription.of(Text.translatable("skyblocker.config.quickNav.button.item.components.@Tooltip")))
- .binding(defaults.quickNav.button2.item.components,
- () -> config.quickNav.button2.item.components,
- newValue -> config.quickNav.button2.item.components = newValue)
- .controller(StringControllerBuilder::create)
- .build())
- .option(Option.<String>createBuilder()
- .name(Text.translatable("skyblocker.config.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.config.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.config.quickNav.button", 3))
- .collapsed(true)
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.config.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.config.quickNav.button.item.itemName"))
- .binding(defaults.quickNav.button3.item.id,
- () -> config.quickNav.button3.item.id,
- newValue -> config.quickNav.button3.item.id = newValue)
- .controller(StringControllerBuilder::create)
- .build())
- .option(Option.<Integer>createBuilder()
- .name(Text.translatable("skyblocker.config.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, 99))
- .build())
- .option(Option.<String>createBuilder()
- .name(Text.translatable("skyblocker.config.quickNav.button.item.components"))
- .description(OptionDescription.of(Text.translatable("skyblocker.config.quickNav.button.item.components.@Tooltip")))
- .binding(defaults.quickNav.button3.item.components,
- () -> config.quickNav.button3.item.components,
- newValue -> config.quickNav.button3.item.components = newValue)
- .controller(StringControllerBuilder::create)
- .build())
- .option(Option.<String>createBuilder()
- .name(Text.translatable("skyblocker.config.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.config.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.config.quickNav.button", 4))
- .collapsed(true)
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.config.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.config.quickNav.button.item.itemName"))
- .binding(defaults.quickNav.button4.item.id,
- () -> config.quickNav.button4.item.id,
- newValue -> config.quickNav.button4.item.id = newValue)
- .controller(StringControllerBuilder::create)
- .build())
- .option(Option.<Integer>createBuilder()
- .name(Text.translatable("skyblocker.config.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, 99))
- .build())
- .option(Option.<String>createBuilder()
- .name(Text.translatable("skyblocker.config.quickNav.button.item.components"))
- .description(OptionDescription.of(Text.translatable("skyblocker.config.quickNav.button.item.components.@Tooltip")))
- .binding(defaults.quickNav.button4.item.components,
- () -> config.quickNav.button4.item.components,
- newValue -> config.quickNav.button4.item.components = newValue)
- .controller(StringControllerBuilder::create)
- .build())
- .option(Option.<String>createBuilder()
- .name(Text.translatable("skyblocker.config.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.config.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.config.quickNav.button", 5))
- .collapsed(true)
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.config.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.config.quickNav.button.item.itemName"))
- .binding(defaults.quickNav.button5.item.id,
- () -> config.quickNav.button5.item.id,
- newValue -> config.quickNav.button5.item.id = newValue)
- .controller(StringControllerBuilder::create)
- .build())
- .option(Option.<Integer>createBuilder()
- .name(Text.translatable("skyblocker.config.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, 99))
- .build())
- .option(Option.<String>createBuilder()
- .name(Text.translatable("skyblocker.config.quickNav.button.item.components"))
- .description(OptionDescription.of(Text.translatable("skyblocker.config.quickNav.button.item.components.@Tooltip")))
- .binding(defaults.quickNav.button5.item.components,
- () -> config.quickNav.button5.item.components,
- newValue -> config.quickNav.button5.item.components = newValue)
- .controller(StringControllerBuilder::create)
- .build())
- .option(Option.<String>createBuilder()
- .name(Text.translatable("skyblocker.config.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.config.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.config.quickNav.button", 6))
- .collapsed(true)
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.config.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.config.quickNav.button.item.itemName"))
- .binding(defaults.quickNav.button6.item.id,
- () -> config.quickNav.button6.item.id,
- newValue -> config.quickNav.button6.item.id = newValue)
- .controller(StringControllerBuilder::create)
- .build())
- .option(Option.<Integer>createBuilder()
- .name(Text.translatable("skyblocker.config.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, 99))
- .build())
- .option(Option.<String>createBuilder()
- .name(Text.translatable("skyblocker.config.quickNav.button.item.components"))
- .description(OptionDescription.of(Text.translatable("skyblocker.config.quickNav.button.item.components.@Tooltip")))
- .binding(defaults.quickNav.button6.item.components,
- () -> config.quickNav.button6.item.components,
- newValue -> config.quickNav.button6.item.components = newValue)
- .controller(StringControllerBuilder::create)
- .build())
- .option(Option.<String>createBuilder()
- .name(Text.translatable("skyblocker.config.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.config.quickNav.button.clickEvent"))
- .binding(defaults.quickNav.button6.clickEvent,
- () -> config.quickNav.button6.clickEvent,
- newValue -> config.quickNav.button6.clickEvent = newValue)
- .controller(StringControllerBuilder::create)
- .build())
- .build())
+ //Buttons
+ .group(quickNavButton(defaults.quickNav.button1, config.quickNav.button1, 1))
+ .group(quickNavButton(defaults.quickNav.button2, config.quickNav.button2, 2))
+ .group(quickNavButton(defaults.quickNav.button3, config.quickNav.button3, 3))
+ .group(quickNavButton(defaults.quickNav.button4, config.quickNav.button4, 4))
+ .group(quickNavButton(defaults.quickNav.button5, config.quickNav.button5, 5))
+ .group(quickNavButton(defaults.quickNav.button6, config.quickNav.button6, 6))
+ .group(quickNavButton(defaults.quickNav.button7, config.quickNav.button7, 7))
+ .group(quickNavButton(defaults.quickNav.button8, config.quickNav.button8, 8))
+ .group(quickNavButton(defaults.quickNav.button9, config.quickNav.button9, 9))
+ .group(quickNavButton(defaults.quickNav.button10, config.quickNav.button10, 10))
+ .group(quickNavButton(defaults.quickNav.button11, config.quickNav.button11, 11))
+ .group(quickNavButton(defaults.quickNav.button12, config.quickNav.button12, 12))
+ .group(quickNavButton(defaults.quickNav.button13, config.quickNav.button13, 13))
+ .group(quickNavButton(defaults.quickNav.button14, config.quickNav.button14, 14))
+ .build();
+ }
- //Button 7
- .group(OptionGroup.createBuilder()
- .name(Text.translatable("skyblocker.config.quickNav.button", 7))
- .collapsed(true)
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.config.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.config.quickNav.button.item.itemName"))
- .binding(defaults.quickNav.button7.item.id,
- () -> config.quickNav.button7.item.id,
- newValue -> config.quickNav.button7.item.id = newValue)
- .controller(StringControllerBuilder::create)
- .build())
- .option(Option.<Integer>createBuilder()
- .name(Text.translatable("skyblocker.config.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, 99))
- .build())
- .option(Option.<String>createBuilder()
- .name(Text.translatable("skyblocker.config.quickNav.button.item.components"))
- .description(OptionDescription.of(Text.translatable("skyblocker.config.quickNav.button.item.components.@Tooltip")))
- .binding(defaults.quickNav.button7.item.components,
- () -> config.quickNav.button7.item.components,
- newValue -> config.quickNav.button7.item.components = newValue)
- .controller(StringControllerBuilder::create)
- .build())
- .option(Option.<String>createBuilder()
- .name(Text.translatable("skyblocker.config.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.config.quickNav.button.clickEvent"))
- .binding(defaults.quickNav.button7.clickEvent,
- () -> config.quickNav.button7.clickEvent,
- newValue -> config.quickNav.button7.clickEvent = newValue)
- .controller(StringControllerBuilder::create)
- .build())
+ private static OptionGroup quickNavButton(QuickNavigationConfig.QuickNavItem defaultButton, QuickNavigationConfig.QuickNavItem button, int index) {
+ return OptionGroup.createBuilder()
+ .name(Text.translatable("skyblocker.config.quickNav.button", index))
+ .collapsed(true)
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.config.quickNav.button.render"))
+ .binding(defaultButton.render,
+ () -> button.render,
+ newValue -> button.render = newValue)
+ .controller(ConfigUtils::createBooleanController)
.build())
-
- //Button 8
- .group(OptionGroup.createBuilder()
- .name(Text.translatable("skyblocker.config.quickNav.button", 8))
- .collapsed(true)
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.config.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.config.quickNav.button.item.itemName"))
- .binding(defaults.quickNav.button8.item.id,
- () -> config.quickNav.button8.item.id,
- newValue -> config.quickNav.button8.item.id = newValue)
- .controller(StringControllerBuilder::create)
- .build())
- .option(Option.<Integer>createBuilder()
- .name(Text.translatable("skyblocker.config.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, 99))
- .build())
- .option(Option.<String>createBuilder()
- .name(Text.translatable("skyblocker.config.quickNav.button.item.components"))
- .description(OptionDescription.of(Text.translatable("skyblocker.config.quickNav.button.item.components.@Tooltip")))
- .binding(defaults.quickNav.button8.item.components,
- () -> config.quickNav.button8.item.components,
- newValue -> config.quickNav.button8.item.components = newValue)
- .controller(StringControllerBuilder::create)
- .build())
- .option(Option.<String>createBuilder()
- .name(Text.translatable("skyblocker.config.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.config.quickNav.button.clickEvent"))
- .binding(defaults.quickNav.button8.clickEvent,
- () -> config.quickNav.button8.clickEvent,
- newValue -> config.quickNav.button8.clickEvent = newValue)
- .controller(StringControllerBuilder::create)
- .build())
+ .option(Option.<Item>createBuilder()
+ .name(Text.translatable("skyblocker.config.quickNav.button.item.itemName"))
+ .binding(defaultButton.itemData.item,
+ () -> button.itemData.item,
+ newValue -> button.itemData.item = newValue)
+ .controller(ItemControllerBuilder::create)
.build())
-
- //Button 9
- .group(OptionGroup.createBuilder()
- .name(Text.translatable("skyblocker.config.quickNav.button", 9))
- .collapsed(true)
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.config.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.config.quickNav.button.item.itemName"))
- .binding(defaults.quickNav.button9.item.id,
- () -> config.quickNav.button9.item.id,
- newValue -> config.quickNav.button9.item.id = newValue)
- .controller(StringControllerBuilder::create)
- .build())
- .option(Option.<Integer>createBuilder()