aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/de/hysky/skyblocker/config
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/de/hysky/skyblocker/config')
-rw-r--r--src/main/java/de/hysky/skyblocker/config/SkyblockerConfig.java34
-rw-r--r--src/main/java/de/hysky/skyblocker/config/SkyblockerConfigManager.java1
-rw-r--r--src/main/java/de/hysky/skyblocker/config/categories/CrimsonIsleCategory.java85
3 files changed, 120 insertions, 0 deletions
diff --git a/src/main/java/de/hysky/skyblocker/config/SkyblockerConfig.java b/src/main/java/de/hysky/skyblocker/config/SkyblockerConfig.java
index 4acb8064..51c34343 100644
--- a/src/main/java/de/hysky/skyblocker/config/SkyblockerConfig.java
+++ b/src/main/java/de/hysky/skyblocker/config/SkyblockerConfig.java
@@ -608,6 +608,9 @@ public class SkyblockerConfig {
public Barn barn = new Barn();
@SerialEntry
+ public CrimsonIsle crimsonIsle = new CrimsonIsle();
+
+ @SerialEntry
public Dungeons dungeons = new Dungeons();
@SerialEntry
@@ -956,6 +959,37 @@ public class SkyblockerConfig {
public boolean solveTreasureHunter = true;
}
+ public static class CrimsonIsle {
+ @SerialEntry
+ public Kuudra kuudra = new Kuudra();
+ }
+
+ public static class Kuudra {
+ @SerialEntry
+ public boolean supplyWaypoints = true;
+
+ @SerialEntry
+ public boolean fuelWaypoints = true;
+
+ @SerialEntry
+ public Waypoint.Type suppliesAndFuelWaypointType = Waypoint.Type.WAYPOINT;
+
+ @SerialEntry
+ public boolean ballistaBuildWaypoints = true;
+
+ @SerialEntry
+ public boolean safeSpotWaypoints = true;
+
+ @SerialEntry
+ public boolean pearlWaypoints = true;
+
+ @SerialEntry
+ public boolean noArrowPoisonWarning = true;
+
+ @SerialEntry
+ public int arrowPoisonThreshold = 16;
+ }
+
public static class Rift {
@SerialEntry
public boolean mirrorverseWaypoints = true;
diff --git a/src/main/java/de/hysky/skyblocker/config/SkyblockerConfigManager.java b/src/main/java/de/hysky/skyblocker/config/SkyblockerConfigManager.java
index 3a2601ad..70578822 100644
--- a/src/main/java/de/hysky/skyblocker/config/SkyblockerConfigManager.java
+++ b/src/main/java/de/hysky/skyblocker/config/SkyblockerConfigManager.java
@@ -73,6 +73,7 @@ public class SkyblockerConfigManager {
.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))
diff --git a/src/main/java/de/hysky/skyblocker/config/categories/CrimsonIsleCategory.java b/src/main/java/de/hysky/skyblocker/config/categories/CrimsonIsleCategory.java
new file mode 100644
index 00000000..3c2dc3b6
--- /dev/null
+++ b/src/main/java/de/hysky/skyblocker/config/categories/CrimsonIsleCategory.java
@@ -0,0 +1,85 @@
+package de.hysky.skyblocker.config.categories;
+
+import de.hysky.skyblocker.config.ConfigUtils;
+import de.hysky.skyblocker.config.SkyblockerConfig;
+import de.hysky.skyblocker.utils.waypoint.Waypoint;
+import dev.isxander.yacl3.api.ConfigCategory;
+import dev.isxander.yacl3.api.Option;
+import dev.isxander.yacl3.api.OptionDescription;
+import dev.isxander.yacl3.api.OptionGroup;
+import dev.isxander.yacl3.api.controller.IntegerFieldControllerBuilder;
+import net.minecraft.text.Text;
+
+public class CrimsonIsleCategory {
+
+ public static ConfigCategory create(SkyblockerConfig defaults, SkyblockerConfig config) {
+ return ConfigCategory.createBuilder()
+ .name(Text.translatable("text.autoconfig.skyblocker.category.crimsonIsle"))
+
+ //Kuudra
+ .group(OptionGroup.createBuilder()
+ .name(Text.translatable("text.autoconfig.skyblocker.option.locations.crimsonIsle.kuudra"))
+ .collapsed(false)
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("text.autoconfig.skyblocker.option.locations.crimsonIsle.kuudra.supplyWaypoints"))
+ .binding(defaults.locations.crimsonIsle.kuudra.supplyWaypoints,
+ () -> config.locations.crimsonIsle.kuudra.supplyWaypoints,
+ newValue -> config.locations.crimsonIsle.kuudra.supplyWaypoints = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("text.autoconfig.skyblocker.option.locations.crimsonIsle.kuudra.fuelWaypoints"))
+ .binding(defaults.locations.crimsonIsle.kuudra.fuelWaypoints,
+ () -> config.locations.crimsonIsle.kuudra.fuelWaypoints,
+ newValue -> config.locations.crimsonIsle.kuudra.fuelWaypoints = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Waypoint.Type>createBuilder()
+ .name(Text.translatable("text.autoconfig.skyblocker.option.locations.crimsonIsle.kuudra.suppliesAndFuelWaypointType"))
+ .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.general.waypoints.waypointType.@Tooltip")))
+ .binding(defaults.locations.crimsonIsle.kuudra.suppliesAndFuelWaypointType,
+ () -> config.locations.crimsonIsle.kuudra.suppliesAndFuelWaypointType,
+ newValue -> config.locations.crimsonIsle.kuudra.suppliesAndFuelWaypointType = newValue)
+ .controller(ConfigUtils::createEnumCyclingListController)
+ .build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("text.autoconfig.skyblocker.option.locations.crimsonIsle.kuudra.ballistaBuildWaypoints"))
+ .binding(defaults.locations.crimsonIsle.kuudra.ballistaBuildWaypoints,
+ () -> config.locations.crimsonIsle.kuudra.ballistaBuildWaypoints,
+ newValue -> config.locations.crimsonIsle.kuudra.ballistaBuildWaypoints = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("text.autoconfig.skyblocker.option.locations.crimsonIsle.kuudra.safeSpotWaypoints"))
+ .binding(defaults.locations.crimsonIsle.kuudra.safeSpotWaypoints,
+ () -> config.locations.crimsonIsle.kuudra.safeSpotWaypoints,
+ newValue -> config.locations.crimsonIsle.kuudra.safeSpotWaypoints = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("text.autoconfig.skyblocker.option.locations.crimsonIsle.kuudra.pearlWaypoints"))
+ .binding(defaults.locations.crimsonIsle.kuudra.pearlWaypoints,
+ () -> config.locations.crimsonIsle.kuudra.pearlWaypoints,
+ newValue -> config.locations.crimsonIsle.kuudra.pearlWaypoints = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("text.autoconfig.skyblocker.option.locations.crimsonIsle.kuudra.noArrowPoisonWarning"))
+ .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.locations.crimsonIsle.kuudra.noArrowPoisonWarning.@Tooltip")))
+ .binding(defaults.locations.crimsonIsle.kuudra.noArrowPoisonWarning,
+ () -> config.locations.crimsonIsle.kuudra.noArrowPoisonWarning,
+ newValue -> config.locations.crimsonIsle.kuudra.noArrowPoisonWarning = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Integer>createBuilder()
+ .name(Text.translatable("text.autoconfig.skyblocker.option.locations.crimsonIsle.kuudra.arrowPoisonThreshold"))
+ .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.locations.crimsonIsle.kuudra.arrowPoisonThreshold.@Tooltip")))
+ .binding(defaults.locations.crimsonIsle.kuudra.arrowPoisonThreshold,
+ () -> config.locations.crimsonIsle.kuudra.arrowPoisonThreshold,
+ newValue -> config.locations.crimsonIsle.kuudra.arrowPoisonThreshold = newValue)
+ .controller(IntegerFieldControllerBuilder::create)
+ .build())
+ .build())
+ .build();
+ }
+}