aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/at/hannibal2/skyhanni/config
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni/config')
-rw-r--r--src/main/java/at/hannibal2/skyhanni/config/ConfigUpdaterMigrator.kt2
-rw-r--r--src/main/java/at/hannibal2/skyhanni/config/commands/Commands.kt5
-rw-r--r--src/main/java/at/hannibal2/skyhanni/config/features/inventory/InventoryConfig.java5
-rw-r--r--src/main/java/at/hannibal2/skyhanni/config/features/inventory/experimentationtable/ExperimentationTableConfig.java50
-rw-r--r--src/main/java/at/hannibal2/skyhanni/config/features/inventory/experimentationtable/ExperimentsDryStreakConfig.java31
-rw-r--r--src/main/java/at/hannibal2/skyhanni/config/features/inventory/experimentationtable/ExperimentsProfitTrackerConfig.java37
-rw-r--r--src/main/java/at/hannibal2/skyhanni/config/features/inventory/helper/HelperConfig.java26
-rw-r--r--src/main/java/at/hannibal2/skyhanni/config/storage/ProfileSpecificStorage.java24
8 files changed, 153 insertions, 27 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/config/ConfigUpdaterMigrator.kt b/src/main/java/at/hannibal2/skyhanni/config/ConfigUpdaterMigrator.kt
index 8eb47d394..b9f21ca22 100644
--- a/src/main/java/at/hannibal2/skyhanni/config/ConfigUpdaterMigrator.kt
+++ b/src/main/java/at/hannibal2/skyhanni/config/ConfigUpdaterMigrator.kt
@@ -12,7 +12,7 @@ import com.google.gson.JsonPrimitive
object ConfigUpdaterMigrator {
val logger = LorenzLogger("ConfigMigration")
- const val CONFIG_VERSION = 58
+ const val CONFIG_VERSION = 59
fun JsonElement.at(chain: List<String>, init: Boolean): JsonElement? {
if (chain.isEmpty()) return this
if (this !is JsonObject) return null
diff --git a/src/main/java/at/hannibal2/skyhanni/config/commands/Commands.kt b/src/main/java/at/hannibal2/skyhanni/config/commands/Commands.kt
index 3f2ddace6..9b85c2cf9 100644
--- a/src/main/java/at/hannibal2/skyhanni/config/commands/Commands.kt
+++ b/src/main/java/at/hannibal2/skyhanni/config/commands/Commands.kt
@@ -57,6 +57,7 @@ import at.hannibal2.skyhanni.features.garden.pests.PestFinder
import at.hannibal2.skyhanni.features.garden.pests.PestProfitTracker
import at.hannibal2.skyhanni.features.garden.visitor.GardenVisitorDropStatistics
import at.hannibal2.skyhanni.features.inventory.chocolatefactory.ChocolateFactoryStrayTracker
+import at.hannibal2.skyhanni.features.inventory.experimentationtable.ExperimentsProfitTracker
import at.hannibal2.skyhanni.features.mining.KingTalismanHelper
import at.hannibal2.skyhanni.features.mining.MineshaftPityDisplay
import at.hannibal2.skyhanni.features.mining.fossilexcavator.ExcavatorProfitTracker
@@ -277,6 +278,10 @@ object Commands {
"Resets the Pest Profit Tracker",
) { PestProfitTracker.resetCommand() }
registerCommand(
+ "shresetexperimentsprofittracker",
+ "Resets the Experiments Profit Tracker",
+ ) { ExperimentsProfitTracker.resetCommand() }
+ registerCommand(
"shresetmythologicalcreaturetracker",
"Resets the Mythological Creature Tracker",
) { MythologicalCreatureTracker.resetCommand() }
diff --git a/src/main/java/at/hannibal2/skyhanni/config/features/inventory/InventoryConfig.java b/src/main/java/at/hannibal2/skyhanni/config/features/inventory/InventoryConfig.java
index 5c3bf3170..062f29b30 100644
--- a/src/main/java/at/hannibal2/skyhanni/config/features/inventory/InventoryConfig.java
+++ b/src/main/java/at/hannibal2/skyhanni/config/features/inventory/InventoryConfig.java
@@ -4,6 +4,7 @@ import at.hannibal2.skyhanni.config.FeatureToggle;
import at.hannibal2.skyhanni.config.HasLegacyId;
import at.hannibal2.skyhanni.config.features.inventory.chocolatefactory.ChocolateFactoryConfig;
import at.hannibal2.skyhanni.config.features.inventory.customwardrobe.CustomWardrobeConfig;
+import at.hannibal2.skyhanni.config.features.inventory.experimentationtable.ExperimentationTableConfig;
import at.hannibal2.skyhanni.config.features.inventory.helper.HelperConfig;
import at.hannibal2.skyhanni.config.features.itemability.ItemAbilityConfig;
import at.hannibal2.skyhanni.config.features.misc.EstimatedItemValueConfig;
@@ -39,6 +40,10 @@ public class InventoryConfig {
public BazaarConfig bazaar = new BazaarConfig();
@Expose
+ @Category(name = "Experimentation Table", desc = "QOL features for the Experimentation Table.")
+ public ExperimentationTableConfig experimentationTable = new ExperimentationTableConfig();
+
+ @Expose
@Category(name = "Enchant Parsing", desc = "Settings for SkyHanni's Enchant Parsing")
public EnchantParsingConfig enchantParsing = new EnchantParsingConfig();
diff --git a/src/main/java/at/hannibal2/skyhanni/config/features/inventory/experimentationtable/ExperimentationTableConfig.java b/src/main/java/at/hannibal2/skyhanni/config/features/inventory/experimentationtable/ExperimentationTableConfig.java
new file mode 100644
index 000000000..dfdad2482
--- /dev/null
+++ b/src/main/java/at/hannibal2/skyhanni/config/features/inventory/experimentationtable/ExperimentationTableConfig.java
@@ -0,0 +1,50 @@
+package at.hannibal2.skyhanni.config.features.inventory.experimentationtable;
+
+import at.hannibal2.skyhanni.config.FeatureToggle;
+import at.hannibal2.skyhanni.config.core.config.Position;
+import com.google.gson.annotations.Expose;
+import io.github.notenoughupdates.moulconfig.annotations.Accordion;
+import io.github.notenoughupdates.moulconfig.annotations.ConfigEditorBoolean;
+import io.github.notenoughupdates.moulconfig.annotations.ConfigLink;
+import io.github.notenoughupdates.moulconfig.annotations.ConfigOption;
+
+public class ExperimentationTableConfig {
+
+ @Expose
+ @ConfigOption(name = "Profit Tracker", desc = "")
+ @Accordion
+ public ExperimentsProfitTrackerConfig experimentsProfitTracker = new ExperimentsProfitTrackerConfig();
+
+ @Expose
+ @ConfigOption(name = "Dry-Streak Display", desc = "")
+ @Accordion
+ public ExperimentsDryStreakConfig dryStreak = new ExperimentsDryStreakConfig();
+
+ @Expose
+ @ConfigOption(name = "Superpair Data", desc = "Shows a display with useful information while doing the Superpair experiment.")
+ @ConfigEditorBoolean
+ @FeatureToggle
+ public boolean superpairDisplay = false;
+
+ @Expose
+ @ConfigLink(owner = ExperimentationTableConfig.class, field = "superpairDisplay")
+ public Position superpairDisplayPosition = new Position(-372, 161, false, true);
+
+ @Expose
+ @ConfigOption(name = "Superpairs Clicks Alert", desc = "Display an alert when you reach the maximum clicks gained from Chronomatron or Ultrasequencer.")
+ @ConfigEditorBoolean
+ @FeatureToggle
+ public boolean superpairsClicksAlert = false;
+
+ @Expose
+ @ConfigOption(name = "ULTRA-RARE Book Alert", desc = "Send a chat message, title and sound when you find an ULTRA-RARE book.")
+ @ConfigEditorBoolean
+ @FeatureToggle
+ public boolean ultraRareBookAlert = false;
+
+ @Expose
+ @ConfigOption(name = "Guardian Reminder", desc = "Sends a warning when opening the Experimentation Table without a §9§lGuardian Pet §7equipped.")
+ @ConfigEditorBoolean
+ @FeatureToggle
+ public boolean guardianReminder = false;
+}
diff --git a/src/main/java/at/hannibal2/skyhanni/config/features/inventory/experimentationtable/ExperimentsDryStreakConfig.java b/src/main/java/at/hannibal2/skyhanni/config/features/inventory/experimentationtable/ExperimentsDryStreakConfig.java
new file mode 100644
index 000000000..dfba626a7
--- /dev/null
+++ b/src/main/java/at/hannibal2/skyhanni/config/features/inventory/experimentationtable/ExperimentsDryStreakConfig.java
@@ -0,0 +1,31 @@
+package at.hannibal2.skyhanni.config.features.inventory.experimentationtable;
+
+import at.hannibal2.skyhanni.config.FeatureToggle;
+import at.hannibal2.skyhanni.config.core.config.Position;
+import com.google.gson.annotations.Expose;
+import io.github.notenoughupdates.moulconfig.annotations.ConfigEditorBoolean;
+import io.github.notenoughupdates.moulconfig.annotations.ConfigLink;
+import io.github.notenoughupdates.moulconfig.annotations.ConfigOption;
+
+public class ExperimentsDryStreakConfig {
+
+ @Expose
+ @ConfigOption(name = "Enabled", desc = "Display attempts and or XP since your last ULTRA-RARE.")
+ @ConfigEditorBoolean
+ @FeatureToggle
+ public boolean enabled = false;
+
+ @Expose
+ @ConfigOption(name = "Attempts", desc = "Display Attempts since.")
+ @ConfigEditorBoolean
+ public boolean attemptsSince = true;
+
+ @Expose
+ @ConfigOption(name = "XP", desc = "Display XP since.")
+ @ConfigEditorBoolean
+ public boolean xpSince = true;
+
+ @Expose
+ @ConfigLink(owner = ExperimentsDryStreakConfig.class, field = "enabled")
+ public Position position = new Position(200, -187, false, true);
+}
diff --git a/src/main/java/at/hannibal2/skyhanni/config/features/inventory/experimentationtable/ExperimentsProfitTrackerConfig.java b/src/main/java/at/hannibal2/skyhanni/config/features/inventory/experimentationtable/ExperimentsProfitTrackerConfig.java
new file mode 100644
index 000000000..62ee4f540
--- /dev/null
+++ b/src/main/java/at/hannibal2/skyhanni/config/features/inventory/experimentationtable/ExperimentsProfitTrackerConfig.java
@@ -0,0 +1,37 @@
+package at.hannibal2.skyhanni.config.features.inventory.experimentationtable;
+
+import at.hannibal2.skyhanni.config.FeatureToggle;
+import at.hannibal2.skyhanni.config.core.config.Position;
+import at.hannibal2.skyhanni.features.inventory.experimentationtable.ExperimentMessages;
+import com.google.gson.annotations.Expose;
+import io.github.notenoughupdates.moulconfig.annotations.ConfigEditorBoolean;
+import io.github.notenoughupdates.moulconfig.annotations.ConfigEditorDraggableList;
+import io.github.notenoughupdates.moulconfig.annotations.ConfigEditorSlider;
+import io.github.notenoughupdates.moulconfig.annotations.ConfigLink;
+import io.github.notenoughupdates.moulconfig.annotations.ConfigOption;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class ExperimentsProfitTrackerConfig {
+
+ @Expose
+ @ConfigOption(name = "Enabled", desc = "Tracker for drops/XP you get from experiments.")
+ @ConfigEditorBoolean
+ @FeatureToggle
+ public boolean enabled = false;
+
+ @Expose
+ @ConfigOption(name = "Hide Messages", desc = "Change the messages to be hidden after completing Add-on/Main experiments.")
+ @ConfigEditorDraggableList
+ public List<ExperimentMessages> hideMessages = new ArrayList<>();
+
+ @Expose
+ @ConfigOption(name = "Time displayed", desc = "Time displayed after completing an experiment.")
+ @ConfigEditorSlider(minValue = 5, maxValue = 60, minStep = 1)
+ public int timeDisplayed = 30;
+
+ @Expose
+ @ConfigLink(owner = ExperimentsProfitTrackerConfig.class, field = "enabled")
+ public Position position = new Position(20, 20, false, true);
+}
diff --git a/src/main/java/at/hannibal2/skyhanni/config/features/inventory/helper/HelperConfig.java b/src/main/java/at/hannibal2/skyhanni/config/features/inventory/helper/HelperConfig.java
index 5f54e707d..717dd7659 100644
--- a/src/main/java/at/hannibal2/skyhanni/config/features/inventory/helper/HelperConfig.java
+++ b/src/main/java/at/hannibal2/skyhanni/config/features/inventory/helper/HelperConfig.java
@@ -56,30 +56,4 @@ public class HelperConfig {
@ConfigOption(name = "Reforge Helper", desc = "")
@Accordion
public ReforgeHelperConfig reforge = new ReforgeHelperConfig();
-
- @Expose
- @ConfigOption(name = "Enchanting", desc = "")
- @Accordion
- public EnchantingConfig enchanting = new EnchantingConfig();
-
- public static class EnchantingConfig {
- @Expose
- @ConfigOption(name = "Superpairs Clicks Alert", desc = "Display an alert when you reach the maximum clicks gained from Chronomatron or Ultrasequencer.")
- @ConfigEditorBoolean
- @FeatureToggle
- public boolean superpairsClicksAlert = false;
-
- @Expose
- @ConfigOption(name = "ULTRA-RARE Book Alert", desc = "Send a chat message, title and sound when you find an ULTRA-RARE book.")
- @ConfigEditorBoolean
- @FeatureToggle
- public boolean ultraRareBookAlert = false;
-
- @Expose
- @ConfigOption(name = "Guardian Reminder", desc = "Sends a warning when opening the Experimentation Table without a §9§lGuardian Pet §7equipped.")
- @ConfigEditorBoolean
- @FeatureToggle
- public boolean guardianReminder = false;
- }
-
}
diff --git a/src/main/java/at/hannibal2/skyhanni/config/storage/ProfileSpecificStorage.java b/src/main/java/at/hannibal2/skyhanni/config/storage/ProfileSpecificStorage.java
index 83e7ea47c..754eea3bb 100644
--- a/src/main/java/at/hannibal2/skyhanni/config/storage/ProfileSpecificStorage.java
+++ b/src/main/java/at/hannibal2/skyhanni/config/storage/ProfileSpecificStorage.java
@@ -31,6 +31,7 @@ import at.hannibal2.skyhanni.features.garden.pests.PestProfitTracker;
import at.hannibal2.skyhanni.features.garden.pests.VinylType;
import at.hannibal2.skyhanni.features.garden.visitor.VisitorReward;
import at.hannibal2.skyhanni.features.inventory.chocolatefactory.ChocolateFactoryStrayTracker;
+import at.hannibal2.skyhanni.features.inventory.experimentationtable.ExperimentsProfitTracker;
import at.hannibal2.skyhanni.features.inventory.wardrobe.WardrobeAPI;
import at.hannibal2.skyhanni.features.mining.MineshaftPityDisplay;
import at.hannibal2.skyhanni.features.mining.fossilexcavator.ExcavatorProfitTracker;
@@ -66,6 +67,29 @@ public class ProfileSpecificStorage {
public String currentPet = "";
@Expose
+ public ExperimentationStorage experimentation = new ExperimentationStorage();
+
+ public static class ExperimentationStorage {
+
+ @Expose
+ public LorenzVec tablePos = new LorenzVec();
+
+ @Expose
+ public ExperimentsDryStreakStorage dryStreak = new ExperimentsDryStreakStorage();
+
+ public static class ExperimentsDryStreakStorage {
+ @Expose
+ public int attemptsSince = 0;
+
+ @Expose
+ public int xpSince = 0;
+ }
+
+ @Expose
+ public ExperimentsProfitTracker.Data experimentsProfitTracker = new ExperimentsProfitTracker.Data();
+ }
+
+ @Expose
public ChocolateFactoryStorage chocolateFactory = new ChocolateFactoryStorage();
public static class ChocolateFactoryStorage {