aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/config/ConfigUtils.java14
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/config/categories/DiscordRPCCategory.java2
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/config/categories/DungeonsCategory.java8
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/config/categories/DwarvenMinesCategory.java2
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/config/categories/GeneralCategory.java16
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/config/categories/MessageFilterCategory.java20
6 files changed, 29 insertions, 33 deletions
diff --git a/src/main/java/me/xmrvizzy/skyblocker/config/ConfigUtils.java b/src/main/java/me/xmrvizzy/skyblocker/config/ConfigUtils.java
index f5605342..4a615ecc 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/config/ConfigUtils.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/config/ConfigUtils.java
@@ -1,15 +1,11 @@
package me.xmrvizzy.skyblocker.config;
import dev.isxander.yacl3.api.Option;
-import dev.isxander.yacl3.api.controller.CyclingListControllerBuilder;
-import net.minecraft.text.Text;
+import dev.isxander.yacl3.api.controller.EnumControllerBuilder;
public class ConfigUtils {
-
- @SuppressWarnings("unchecked")
- public static <E extends Enum<?>> CyclingListControllerBuilder<E> createCyclingListController4Enum(Option<E> opt) {
- E[] constants = (E[]) opt.binding().defaultValue().getClass().getEnumConstants();
-
- return CyclingListControllerBuilder.create(opt).values(constants).formatValue(formatter -> Text.of(formatter.toString()));
- }
+ @SuppressWarnings("unchecked")
+ public static <E extends Enum<E>> EnumControllerBuilder<E> createEnumCyclingListController(Option<E> opt) {
+ return EnumControllerBuilder.create(opt).enumClass((Class<E>) opt.binding().defaultValue().getClass());
+ }
}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/config/categories/DiscordRPCCategory.java b/src/main/java/me/xmrvizzy/skyblocker/config/categories/DiscordRPCCategory.java
index 4357c29c..2fe1f775 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/config/categories/DiscordRPCCategory.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/config/categories/DiscordRPCCategory.java
@@ -29,7 +29,7 @@ public class DiscordRPCCategory {
.binding(defaults.richPresence.info,
() -> config.richPresence.info,
newValue -> config.richPresence.info = newValue)
- .controller(ConfigUtils::createCyclingListController4Enum)
+ .controller(ConfigUtils::createEnumCyclingListController)
.build())
.option(Option.<Boolean>createBuilder()
.name(Text.translatable("text.autoconfig.skyblocker.option.richPresence.cycleMode"))
diff --git a/src/main/java/me/xmrvizzy/skyblocker/config/categories/DungeonsCategory.java b/src/main/java/me/xmrvizzy/skyblocker/config/categories/DungeonsCategory.java
index 0f6b1208..92a7ddec 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/config/categories/DungeonsCategory.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/config/categories/DungeonsCategory.java
@@ -156,21 +156,21 @@ public class DungeonsCategory {
.binding(defaults.locations.dungeons.dungeonChestProfit.neutralColor,
() -> config.locations.dungeons.dungeonChestProfit.neutralColor,
newValue -> config.locations.dungeons.dungeonChestProfit.neutralColor = newValue)
- .controller(ConfigUtils::createCyclingListController4Enum)
+ .controller(ConfigUtils::createEnumCyclingListController)
.build())
.option(Option.<FormattingOption>createBuilder()
.name(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.dungeonChestProfit.profitColor"))
.binding(defaults.locations.dungeons.dungeonChestProfit.profitColor,
() -> config.locations.dungeons.dungeonChestProfit.profitColor,
newValue -> config.locations.dungeons.dungeonChestProfit.profitColor = newValue)
- .controller(ConfigUtils::createCyclingListController4Enum)
+ .controller(ConfigUtils::createEnumCyclingListController)
.build())
.option(Option.<FormattingOption>createBuilder()
.name(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.dungeonChestProfit.lossColor"))
.binding(defaults.locations.dungeons.dungeonChestProfit.lossColor,
() -> config.locations.dungeons.dungeonChestProfit.lossColor,
newValue -> config.locations.dungeons.dungeonChestProfit.lossColor = newValue)
- .controller(ConfigUtils::createCyclingListController4Enum)
+ .controller(ConfigUtils::createEnumCyclingListController)
.build())
.option(Option.<FormattingOption>createBuilder()
.name(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.dungeonChestProfit.incompleteColor"))
@@ -178,7 +178,7 @@ public class DungeonsCategory {
.binding(defaults.locations.dungeons.dungeonChestProfit.incompleteColor,
() -> config.locations.dungeons.dungeonChestProfit.incompleteColor,
newValue -> config.locations.dungeons.dungeonChestProfit.incompleteColor = newValue)
- .controller(ConfigUtils::createCyclingListController4Enum)
+ .controller(ConfigUtils::createEnumCyclingListController)
.build())
.build())
diff --git a/src/main/java/me/xmrvizzy/skyblocker/config/categories/DwarvenMinesCategory.java b/src/main/java/me/xmrvizzy/skyblocker/config/categories/DwarvenMinesCategory.java
index c6b8b8bc..42d623ac 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/config/categories/DwarvenMinesCategory.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/config/categories/DwarvenMinesCategory.java
@@ -61,7 +61,7 @@ public class DwarvenMinesCategory {
.binding(defaults.locations.dwarvenMines.dwarvenHud.style,
() -> config.locations.dwarvenMines.dwarvenHud.style,
newValue -> config.locations.dwarvenMines.dwarvenHud.style = newValue)
- .controller(ConfigUtils::createCyclingListController4Enum)
+ .controller(ConfigUtils::createEnumCyclingListController)
.build())
.option(ButtonOption.createBuilder()
.name(Text.translatable("text.autoconfig.skyblocker.option.locations.dwarvenMines.dwarvenHud.screen"))
diff --git a/src/main/java/me/xmrvizzy/skyblocker/config/categories/GeneralCategory.java b/src/main/java/me/xmrvizzy/skyblocker/config/categories/GeneralCategory.java
index 842f0894..95b01dfd 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/config/categories/GeneralCategory.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/config/categories/GeneralCategory.java
@@ -92,7 +92,7 @@ public class GeneralCategory {
.binding(defaults.general.tabHud.nameSorting,
() -> config.general.tabHud.nameSorting,
newValue -> config.general.tabHud.nameSorting = newValue)
- .controller(ConfigUtils::createCyclingListController4Enum)
+ .controller(ConfigUtils::createEnumCyclingListController)
.build())
.build())
@@ -112,28 +112,28 @@ public class GeneralCategory {
.binding(defaults.general.bars.barPositions.healthBarPosition,
() -> config.general.bars.barPositions.healthBarPosition,
newValue -> config.general.bars.barPositions.healthBarPosition = newValue)
- .controller(ConfigUtils::createCyclingListController4Enum)
+ .controller(ConfigUtils::createEnumCyclingListController)
.build())
.option(Option.<SkyblockerConfig.BarPosition>createBuilder()
.name(Text.translatable("text.autoconfig.skyblocker.option.general.bars.barpositions.manaBarPosition"))
.binding(defaults.general.bars.barPositions.manaBarPosition,
() -> config.general.bars.barPositions.manaBarPosition,
newValue -> config.general.bars.barPositions.manaBarPosition = newValue)
- .controller(ConfigUtils::createCyclingListController4Enum)
+ .controller(ConfigUtils::createEnumCyclingListController)
.build())
.option(Option.<SkyblockerConfig.BarPosition>createBuilder()
.name(Text.translatable("text.autoconfig.skyblocker.option.general.bars.barpositions.defenceBarPosition"))
.binding(defaults.general.bars.barPositions.defenceBarPosition,
() -> config.general.bars.barPositions.defenceBarPosition,
newValue -> config.general.bars.barPositions.defenceBarPosition = newValue)
- .controller(ConfigUtils::createCyclingListController4Enum)
+ .controller(ConfigUtils::createEnumCyclingListController)
.build())
.option(Option.<SkyblockerConfig.BarPosition>createBuilder()
.name(Text.translatable("text.autoconfig.skyblocker.option.general.bars.barpositions.experienceBarPosition"))
.binding(defaults.general.bars.barPositions.experienceBarPosition,
() -> config.general.bars.barPositions.experienceBarPosition,
newValue -> config.general.bars.barPositions.experienceBarPosition = newValue)
- .controller(ConfigUtils::createCyclingListController4Enum)
+ .controller(ConfigUtils::createEnumCyclingListController)
.build())
.build())
@@ -312,7 +312,7 @@ public class GeneralCategory {
.binding(defaults.general.itemTooltip.avg,
() -> config.general.itemTooltip.avg,
newValue -> config.general.itemTooltip.avg = newValue)
- .controller(ConfigUtils::createCyclingListController4Enum)
+ .controller(ConfigUtils::createEnumCyclingListController)
.build())
.option(Option.<Boolean>createBuilder()
.name(Text.translatable("text.autoconfig.skyblocker.option.general.itemTooltip.enableLowestBIN"))
@@ -416,14 +416,14 @@ public class GeneralCategory {
.binding(defaults.general.titleContainer.direction,
() -> config.general.titleContainer.direction,
newValue -> config.general.titleContainer.direction = newValue)
- .controller(ConfigUtils::createCyclingListController4Enum)
+ .controller(ConfigUtils::createEnumCyclingListController)
.build())
.option(Option.<SkyblockerConfig.Alignment>createBuilder()
.name(Text.translatable("text.autoconfig.skyblocker.option.general.titleContainer.alignment"))
.binding(defaults.general.titleContainer.alignment,
() -> config.general.titleContainer.alignment,
newValue -> config.general.titleContainer.alignment = newValue)
- .controller(ConfigUtils::createCyclingListController4Enum)
+ .controller(ConfigUtils::createEnumCyclingListController)
.build())
.option(ButtonOption.createBuilder()
.name(Text.translatable("text.autoconfig.skyblocker.option.general.titleContainer.config"))
diff --git a/src/main/java/me/xmrvizzy/skyblocker/config/categories/MessageFilterCategory.java b/src/main/java/me/xmrvizzy/skyblocker/config/categories/MessageFilterCategory.java
index 5fc5a808..5adec834 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/config/categories/MessageFilterCategory.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/config/categories/MessageFilterCategory.java
@@ -21,63 +21,63 @@ public class MessageFilterCategory {
.binding(defaults.messages.hideAbility,
() -> config.messages.hideAbility,
newValue -> config.messages.hideAbility = newValue)
- .controller(ConfigUtils::createCyclingListController4Enum)
+ .controller(ConfigUtils::createEnumCyclingListController)
.build())
.option(Option.<ChatFilterResult>createBuilder()
.name(Text.translatable("text.autoconfig.skyblocker.option.messages.hideHeal"))
.binding(defaults.messages.hideHeal,
() -> config.messages.hideHeal,
newValue -> config.messages.hideHeal = newValue)
- .controller(ConfigUtils::createCyclingListController4Enum)
+ .controller(ConfigUtils::createEnumCyclingListController)
.build())
.option(Option.<ChatFilterResult>createBuilder()
.name(Text.translatable("text.autoconfig.skyblocker.option.messages.hideAOTE"))
.binding(defaults.messages.hideAOTE,
() -> config.messages.hideAOTE,
newValue -> config.messages.hideAOTE = newValue)
- .controller(ConfigUtils::createCyclingListController4Enum)
+ .controller(ConfigUtils::createEnumCyclingListController)
.build())
.option(Option.<ChatFilterResult>createBuilder()
.name(Text.translatable("text.autoconfig.skyblocker.option.messages.hideImplosion"))
.binding(defaults.messages.hideImplosion,
() -> config.messages.hideImplosion,
newValue -> config.messages.hideImplosion = newValue)
- .controller(ConfigUtils::createCyclingListController4Enum)
+ .controller(ConfigUtils::createEnumCyclingListController)
.build())
.option(Option.<ChatFilterResult>createBuilder()
.name(Text.translatable("text.autoconfig.skyblocker.option.messages.hideMoltenWave"))
.binding(defaults.messages.hideMoltenWave,
() -> config.messages.hideMoltenWave,
newValue -> config.messages.hideMoltenWave = newValue)
- .controller(ConfigUtils::createCyclingListController4Enum)
+ .controller(ConfigUtils::createEnumCyclingListController)
.build())
.option(Option.<ChatFilterResult>createBuilder()
.name(Text.translatable("text.autoconfig.skyblocker.option.messages.hideAds"))
.binding(defaults.messages.hideAds,
() -> config.messages.hideAds,
newValue -> config.messages.hideAds = newValue)
- .controller(ConfigUtils::createCyclingListController4Enum)
+ .controller(ConfigUtils::createEnumCyclingListController)
.build())
.option(Option.<ChatFilterResult>createBuilder()
.name(Text.translatable("text.autoconfig.skyblocker.option.messages.hideTeleportPad"))
.binding(defaults.messages.hideTeleportPad,
() -> config.messages.hideTeleportPad,
newValue -> config.messages.hideTeleportPad = newValue)
- .controller(ConfigUtils::createCyclingListController4Enum)
+ .controller(ConfigUtils::createEnumCyclingListController)
.build())
.option(Option.<ChatFilterResult>createBuilder()
.name(Text.translatable("text.autoconfig.skyblocker.option.messages.hideCombo"))
.binding(defaults.messages.hideCombo,
() -> config.messages.hideCombo,
newValue -> config.messages.hideCombo = newValue)
- .controller(ConfigUtils::createCyclingListController4Enum)
+ .controller(ConfigUtils::createEnumCyclingListController)
.build())
.option(Option.<ChatFilterResult>createBuilder()
.name(Text.translatable("text.autoconfig.skyblocker.option.messages.hideAutopet"))
.binding(defaults.messages.hideAutopet,
() -> config.messages.hideAutopet,
newValue -> config.messages.hideAutopet = newValue)
- .controller(ConfigUtils::createCyclingListController4Enum)
+ .controller(ConfigUtils::createEnumCyclingListController)
.build())
.option(Option.<ChatFilterResult>createBuilder()
.name(Text.translatable("text.autoconfig.skyblocker.option.messages.hideShowOff"))
@@ -85,7 +85,7 @@ public class MessageFilterCategory {
.binding(defaults.messages.hideShowOff,
() -> config.messages.hideShowOff,
newValue -> config.messages.hideShowOff = newValue)
- .controller(ConfigUtils::createCyclingListController4Enum)
+ .controller(ConfigUtils::createEnumCyclingListController)
.build())
.option(Option.<Boolean>createBuilder()
.name(Text.translatable("text.autoconfig.skyblocker.option.messages.hideMana"))