aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/at/hannibal2/skyhanni/config
diff options
context:
space:
mode:
authorhannibal2 <24389977+hannibal002@users.noreply.github.com>2024-09-13 20:23:57 +0200
committerGitHub <noreply@github.com>2024-09-13 20:23:57 +0200
commit5e01624dcc315a2bf7665fc808b1113fa4c9e0d8 (patch)
tree6a97c6970fecd2d517eac80c1aa391eee42addd2 /src/main/java/at/hannibal2/skyhanni/config
parent691d2551cf722b76c1894c814d1f6c2e98fe17d6 (diff)
downloadskyhanni-5e01624dcc315a2bf7665fc808b1113fa4c9e0d8.tar.gz
skyhanni-5e01624dcc315a2bf7665fc808b1113fa4c9e0d8.tar.bz2
skyhanni-5e01624dcc315a2bf7665fc808b1113fa4c9e0d8.zip
Feature: Graphs Pathfinding (#2468)
Co-authored-by: hannibal2 <24389977+hannibal00212@users.noreply.github.com>
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni/config')
-rw-r--r--src/main/java/at/hannibal2/skyhanni/config/commands/Commands.kt4
-rw-r--r--src/main/java/at/hannibal2/skyhanni/config/features/dev/GraphConfig.java5
-rw-r--r--src/main/java/at/hannibal2/skyhanni/config/features/event/hoppity/HoppityEggsConfig.java6
-rw-r--r--src/main/java/at/hannibal2/skyhanni/config/features/misc/AreaNavigationConfig.java32
-rw-r--r--src/main/java/at/hannibal2/skyhanni/config/features/misc/AreaPathfinderConfig.java41
-rw-r--r--src/main/java/at/hannibal2/skyhanni/config/features/misc/MiscConfig.java4
6 files changed, 91 insertions, 1 deletions
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 7a17c1462..d0f58f082 100644
--- a/src/main/java/at/hannibal2/skyhanni/config/commands/Commands.kt
+++ b/src/main/java/at/hannibal2/skyhanni/config/commands/Commands.kt
@@ -33,6 +33,7 @@ import at.hannibal2.skyhanni.features.event.diana.InquisitorWaypointShare
import at.hannibal2.skyhanni.features.event.diana.MythologicalCreatureTracker
import at.hannibal2.skyhanni.features.event.hoppity.HoppityCollectionStats
import at.hannibal2.skyhanni.features.event.hoppity.HoppityEggLocations
+import at.hannibal2.skyhanni.features.event.hoppity.HoppityEggLocator
import at.hannibal2.skyhanni.features.event.hoppity.HoppityEventSummary
import at.hannibal2.skyhanni.features.event.jerry.frozentreasure.FrozenTreasureTracker
import at.hannibal2.skyhanni.features.fishing.tracker.FishingProfitTracker
@@ -58,8 +59,8 @@ import at.hannibal2.skyhanni.features.garden.visitor.GardenVisitorDropStatistics
import at.hannibal2.skyhanni.features.inventory.chocolatefactory.ChocolateFactoryStrayTracker
import at.hannibal2.skyhanni.features.mining.KingTalismanHelper
import at.hannibal2.skyhanni.features.mining.MineshaftPityDisplay
-import at.hannibal2.skyhanni.features.mining.glacitemineshaft.CorpseTracker
import at.hannibal2.skyhanni.features.mining.fossilexcavator.ExcavatorProfitTracker
+import at.hannibal2.skyhanni.features.mining.glacitemineshaft.CorpseTracker
import at.hannibal2.skyhanni.features.mining.powdertracker.PowderTracker
import at.hannibal2.skyhanni.features.minion.MinionFeatures
import at.hannibal2.skyhanni.features.misc.CollectionTracker
@@ -495,6 +496,7 @@ object Commands {
private fun developersCodingHelp() {
registerCommand("shrepopatterns", "See where regexes are loaded from") { RepoPatternGui.open() }
registerCommand("shtest", "Unused test command.") { SkyHanniDebugsAndTests.testCommand(it) }
+ registerCommand("shtestrabbitpaths", "Tests pathfinding to rabbit eggs. Use a number 0-14.") { HoppityEggLocator.testPathfind(it) }
registerCommand(
"shtestitem",
"test item internal name resolving",
diff --git a/src/main/java/at/hannibal2/skyhanni/config/features/dev/GraphConfig.java b/src/main/java/at/hannibal2/skyhanni/config/features/dev/GraphConfig.java
index 9a2806f64..9eed8233c 100644
--- a/src/main/java/at/hannibal2/skyhanni/config/features/dev/GraphConfig.java
+++ b/src/main/java/at/hannibal2/skyhanni/config/features/dev/GraphConfig.java
@@ -103,4 +103,9 @@ public class GraphConfig {
@ConfigOption(name = "Shows Stats", desc = "Show funny extra statistics on save. May lag the game a bit.")
@ConfigEditorBoolean
public boolean showsStats = true;
+
+ @Expose
+ @ConfigOption(name = "Use as Island Area", desc = "When saving, use the current edited graph as temporary island area for the current island.")
+ @ConfigEditorBoolean
+ public boolean useAsIslandArea = false;
}
diff --git a/src/main/java/at/hannibal2/skyhanni/config/features/event/hoppity/HoppityEggsConfig.java b/src/main/java/at/hannibal2/skyhanni/config/features/event/hoppity/HoppityEggsConfig.java
index c270dae8b..b438d83f5 100644
--- a/src/main/java/at/hannibal2/skyhanni/config/features/event/hoppity/HoppityEggsConfig.java
+++ b/src/main/java/at/hannibal2/skyhanni/config/features/event/hoppity/HoppityEggsConfig.java
@@ -51,6 +51,12 @@ public class HoppityEggsConfig {
public boolean showLine = false;
@Expose
+ @ConfigOption(name = "Show Path Finder", desc = "Show a pathfind to the next hoppity egg.")
+ @ConfigEditorBoolean
+ @FeatureToggle
+ public boolean showPathFinder = false;
+
+ @Expose
@ConfigOption(name = "Show All Waypoints", desc = "Show all possible egg waypoints for the current lobby. §e" +
"Only works when you don't have an Egglocator in your inventory.")
@ConfigEditorBoolean
diff --git a/src/main/java/at/hannibal2/skyhanni/config/features/misc/AreaNavigationConfig.java b/src/main/java/at/hannibal2/skyhanni/config/features/misc/AreaNavigationConfig.java
new file mode 100644
index 000000000..38a399ed4
--- /dev/null
+++ b/src/main/java/at/hannibal2/skyhanni/config/features/misc/AreaNavigationConfig.java
@@ -0,0 +1,32 @@
+package at.hannibal2.skyhanni.config.features.misc;
+
+import at.hannibal2.skyhanni.config.FeatureToggle;
+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.ConfigOption;
+
+public class AreaNavigationConfig {
+
+ @Expose
+ @ConfigOption(name = "Area Path Finder", desc = "")
+ @Accordion
+ public AreaPathfinderConfig pathfinder = new AreaPathfinderConfig();
+
+ @Expose
+ @ConfigOption(name = "In World", desc = "Shows the area names in world")
+ @ConfigEditorBoolean
+ @FeatureToggle
+ public boolean inWorld = false;
+
+ @Expose
+ @ConfigOption(name = "Small Areas", desc = "Include small areas.")
+ @ConfigEditorBoolean
+ public boolean includeSmallAreas = false;
+
+ @Expose
+ @ConfigOption(name = "Title on Enter", desc = "Sends a titles on screen when entering an area.")
+ @ConfigEditorBoolean
+ @FeatureToggle
+ public boolean enterTitle = false;
+}
diff --git a/src/main/java/at/hannibal2/skyhanni/config/features/misc/AreaPathfinderConfig.java b/src/main/java/at/hannibal2/skyhanni/config/features/misc/AreaPathfinderConfig.java
new file mode 100644
index 000000000..af9b1de64
--- /dev/null
+++ b/src/main/java/at/hannibal2/skyhanni/config/features/misc/AreaPathfinderConfig.java
@@ -0,0 +1,41 @@
+package at.hannibal2.skyhanni.config.features.misc;
+
+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.ConfigEditorColour;
+import io.github.notenoughupdates.moulconfig.annotations.ConfigLink;
+import io.github.notenoughupdates.moulconfig.annotations.ConfigOption;
+import io.github.notenoughupdates.moulconfig.observer.Property;
+
+public class AreaPathfinderConfig {
+
+ @Expose
+ @ConfigOption(name = "Enabled", desc = "While in your invenotry, show all areas of the island. Click on an area to display the path to this area.")
+ @ConfigEditorBoolean
+ @FeatureToggle
+ public boolean enabled = false;
+
+ @Expose
+ @ConfigOption(name = "Show Always", desc = "Show the list always, not only while inside the inventory.")
+ @ConfigEditorBoolean
+ public boolean showAlways = false;
+
+ @Expose
+ @ConfigOption(name = "Current Area", desc = "Show the name of the current area at the top of the list")
+ @ConfigEditorBoolean
+ public Property<Boolean> includeCurrentArea = Property.of(false);
+
+ @Expose
+ @ConfigOption(
+ name = "Path Color",
+ desc = "Change the color of the path."
+ )
+ @ConfigEditorColour
+ public Property<String> color = Property.of("0:245:85:255:85");
+
+ @Expose
+ @ConfigLink(owner = AreaPathfinderConfig.class, field = "enabled")
+ public Position position = new Position(20, 20);
+}
diff --git a/src/main/java/at/hannibal2/skyhanni/config/features/misc/MiscConfig.java b/src/main/java/at/hannibal2/skyhanni/config/features/misc/MiscConfig.java
index f3b9ab16e..03b0bf779 100644
--- a/src/main/java/at/hannibal2/skyhanni/config/features/misc/MiscConfig.java
+++ b/src/main/java/at/hannibal2/skyhanni/config/features/misc/MiscConfig.java
@@ -42,6 +42,10 @@ public class MiscConfig {
@Category(name = "Stranded", desc = "Features for the Stranded game mode.")
public StrandedConfig stranded = new StrandedConfig();
+ @Expose
+ @Category(name = "Area Navigation", desc = "Helps navigate to different areas on the current island.")
+ public AreaNavigationConfig areaNavigation = new AreaNavigationConfig();
+
@ConfigOption(name = "Hide Armor", desc = "")
@Accordion
@Expose