From a5af0b8e09d46d445c610d5eaf90b81739652a47 Mon Sep 17 00:00:00 2001 From: nobaboy <84668101+nobaboy@users.noreply.github.com> Date: Sat, 1 Jun 2024 12:55:40 +0300 Subject: Feature: Glacite Mineshafts QOL (#1500) Co-authored-by: hannibal2 <24389977+hannibal00212@users.noreply.github.com> --- .../features/mining/CorpseLocatorConfig.java | 20 +++++++++++++++++ .../features/mining/GlaciteMineshaftConfig.java | 25 ++++++++++++++++++++++ .../features/mining/MineshaftWaypointsConfig.java | 24 +++++++++++++++++++++ .../config/features/mining/MiningConfig.java | 4 ++++ 4 files changed, 73 insertions(+) create mode 100644 src/main/java/at/hannibal2/skyhanni/config/features/mining/CorpseLocatorConfig.java create mode 100644 src/main/java/at/hannibal2/skyhanni/config/features/mining/GlaciteMineshaftConfig.java create mode 100644 src/main/java/at/hannibal2/skyhanni/config/features/mining/MineshaftWaypointsConfig.java (limited to 'src/main/java/at/hannibal2/skyhanni/config/features') diff --git a/src/main/java/at/hannibal2/skyhanni/config/features/mining/CorpseLocatorConfig.java b/src/main/java/at/hannibal2/skyhanni/config/features/mining/CorpseLocatorConfig.java new file mode 100644 index 000000000..b116bc09e --- /dev/null +++ b/src/main/java/at/hannibal2/skyhanni/config/features/mining/CorpseLocatorConfig.java @@ -0,0 +1,20 @@ +package at.hannibal2.skyhanni.config.features.mining; + +import at.hannibal2.skyhanni.config.FeatureToggle; +import com.google.gson.annotations.Expose; +import io.github.notenoughupdates.moulconfig.annotations.ConfigEditorBoolean; +import io.github.notenoughupdates.moulconfig.annotations.ConfigOption; + +public class CorpseLocatorConfig { + + @Expose + @ConfigOption(name = "Enabled", desc = "Locates Corpses that are within line of sight then mark it with a waypoint.") + @ConfigEditorBoolean + @FeatureToggle + public boolean enabled = false; + + @Expose + @ConfigOption(name = "Auto Send Location", desc = "Automatically send the location and type of the corpse in party chat.") + @ConfigEditorBoolean + public boolean autoSendLocation = false; +} diff --git a/src/main/java/at/hannibal2/skyhanni/config/features/mining/GlaciteMineshaftConfig.java b/src/main/java/at/hannibal2/skyhanni/config/features/mining/GlaciteMineshaftConfig.java new file mode 100644 index 000000000..5b50ffcc8 --- /dev/null +++ b/src/main/java/at/hannibal2/skyhanni/config/features/mining/GlaciteMineshaftConfig.java @@ -0,0 +1,25 @@ +package at.hannibal2.skyhanni.config.features.mining; + +import com.google.gson.annotations.Expose; +import io.github.notenoughupdates.moulconfig.annotations.Accordion; +import io.github.notenoughupdates.moulconfig.annotations.ConfigEditorKeybind; +import io.github.notenoughupdates.moulconfig.annotations.ConfigOption; +import org.lwjgl.input.Keyboard; + +public class GlaciteMineshaftConfig { + @Expose + @ConfigOption(name = "Mineshaft Waypoints", desc = "General waypoints inside the Mineshaft.") + @Accordion + public MineshaftWaypointsConfig mineshaftWaypoints = new MineshaftWaypointsConfig(); + + @Expose + @ConfigOption(name = "Corpse Locator", desc = "") + @Accordion + public CorpseLocatorConfig corpseLocator = new CorpseLocatorConfig(); + + @Expose + @ConfigOption(name = "Share Waypoint Location", desc = "Shares the location of the nearest waypoint upon key press.\n" + + "§eYou can share the location even if it has already been shared!") + @ConfigEditorKeybind(defaultKey = Keyboard.KEY_NONE) + public int shareWaypointLocation = Keyboard.KEY_NONE; +} diff --git a/src/main/java/at/hannibal2/skyhanni/config/features/mining/MineshaftWaypointsConfig.java b/src/main/java/at/hannibal2/skyhanni/config/features/mining/MineshaftWaypointsConfig.java new file mode 100644 index 000000000..a8c7b4d55 --- /dev/null +++ b/src/main/java/at/hannibal2/skyhanni/config/features/mining/MineshaftWaypointsConfig.java @@ -0,0 +1,24 @@ +package at.hannibal2.skyhanni.config.features.mining; + +import at.hannibal2.skyhanni.config.FeatureToggle; +import com.google.gson.annotations.Expose; +import io.github.notenoughupdates.moulconfig.annotations.ConfigEditorBoolean; +import io.github.notenoughupdates.moulconfig.annotations.ConfigOption; + +public class MineshaftWaypointsConfig { + @Expose + @ConfigOption(name = "Enabled", desc = "Enable features related to the Glacite Mineshaft.") + @ConfigEditorBoolean + @FeatureToggle + public boolean enabled = false; + + @Expose + @ConfigOption(name = "Entrance Location", desc = "Marks the location of the entrance with a waypoint.") + @ConfigEditorBoolean + public boolean entranceLocation = false; + + @Expose + @ConfigOption(name = "Ladder Location", desc = "Marks the location of the ladders at the bottom of the entrance with a waypoint.") + @ConfigEditorBoolean + public boolean ladderLocation = false; +} diff --git a/src/main/java/at/hannibal2/skyhanni/config/features/mining/MiningConfig.java b/src/main/java/at/hannibal2/skyhanni/config/features/mining/MiningConfig.java index 05ad3fb27..f4b64bf4f 100644 --- a/src/main/java/at/hannibal2/skyhanni/config/features/mining/MiningConfig.java +++ b/src/main/java/at/hannibal2/skyhanni/config/features/mining/MiningConfig.java @@ -46,6 +46,10 @@ public class MiningConfig { @Category(name = "Fossil Excavator", desc = "Settings for the Fossil Excavator Features") public FossilExcavatorConfig fossilExcavator = new FossilExcavatorConfig(); + @Expose + @Category(name = "Glacite Mineshaft", desc = "Settings for the Glacite Mineshaft") + public GlaciteMineshaftConfig glaciteMineshaft = new GlaciteMineshaftConfig(); + @Expose @ConfigOption(name = "Notifications", desc = "") @Accordion -- cgit