Files
k4rli-plugins/src/main/java/ee/futur/easygotr/EasyGOTRConfig.java
2025-11-22 15:31:18 +02:00

418 lines
11 KiB
Java

package ee.futur.easygotr;
import net.runelite.client.config.*;
@ConfigGroup("EasyGOTR")
public interface EasyGOTRConfig extends Config {
@ConfigItem(
keyName = "Toggle",
name = "Toggle",
description = "",
position = 0
)
default Keybind toggle() {
return Keybind.NOT_SET;
}
@ConfigSection(
name = "Easy GOTR Configuration",
description = "Configure your settings for the Easy GOTR plugin",
position = 1,
closedByDefault = true
)
String easyGOTRConfig = "easyGOTRConfig";
@ConfigItem(
keyName = "prioritizeBloodDeath",
name = "Always use blood/death altars",
description = "Will ignore point balance for these altars and always use them if available.",
position = 2,
section = easyGOTRConfig
)
default boolean prioritizeBloodDeath() {
return true;
}
@ConfigItem(
keyName = "dropRunes",
name = "Drop Runes",
description = "Drop Runes instead of depositing (kek uim)",
position = 3,
section = easyGOTRConfig
)
default boolean dropRunes() {
return false;
}
@ConfigItem(
keyName = "dropRunesFilter",
name = "Drop Runes Filter",
description = "If Drop Runes is not enabled and this has runes entered, the type of rune entered here will still get dropped, others will get deposited (ex: air, Mind, Body). Add runes with full name, air rune, mind rune , cosmic rune, etc... and split with comma ','",
position = 5,
section = easyGOTRConfig
)
default String dropRunesFilter() {
return "";
}
@ConfigItem(
keyName = "collectUnchargedCells",
name = "Collect Uncharged Cells",
description = "When disabled, the plugin will no longer recommend picking up uncharged cells.",
position = 6,
section = easyGOTRConfig
)
default boolean collectUnchargedCells() {
return true;
}
@ConfigItem(
keyName = "keepImbueRunes",
name = "Keep Imbue Runes",
description = "Ignore water and fire runes when deciding to deposit runes (useful for Magic Imbue).",
position = 7,
section = easyGOTRConfig
)
default boolean keepImbueRunes() {
return false;
}
@ConfigItem(
keyName = "usePouches",
name = "Use Essence Pouches?",
description = "Requires NPC Contact runes in Rune Pouch or Redwood lit Lantern",
position = 8,
section = easyGOTRConfig
)
default boolean usePouches() {
return false;
}
@ConfigItem(
keyName = "startFrags",
name = "Starting Fragments (0 to wait for first portal)",
description = "How many fragments you should get before leaving the starting zone",
position = 10,
section = easyGOTRConfig
)
default int startingFrags() {
return 0;
}
@ConfigSection(
name = "Altar Ignore Configuration",
description = "",
position = 60,
closedByDefault = true
)
String ignoreSection = "ignoreSection";
@ConfigItem(
keyName = "ignoreAir",
name = "Ignore Air Altar",
description = "",
position = 61,
section = ignoreSection
)
default boolean ignoreAir() {
return false;
}
@ConfigItem(
keyName = "ignoreMind",
name = "Ignore Mind Altar",
description = "",
position = 62,
section = ignoreSection
)
default boolean ignoreMind() {
return false;
}
@ConfigItem(
keyName = "ignoreWater",
name = "Ignore Water Altar",
description = "",
position = 63,
section = ignoreSection
)
default boolean ignoreWater() {
return false;
}
@ConfigItem(
keyName = "ignoreEarth",
name = "Ignore Earth Altar",
description = "",
position = 64,
section = ignoreSection
)
default boolean ignoreEarth() {
return false;
}
@ConfigItem(
keyName = "ignoreFire",
name = "Ignore Fire Altar",
description = "",
position = 65,
section = ignoreSection
)
default boolean ignoreFire() {
return false;
}
@ConfigItem(
keyName = "ignoreBody",
name = "Ignore Body Altar",
description = "",
position = 66,
section = ignoreSection
)
default boolean ignoreBody() {
return false;
}
@ConfigItem(
keyName = "ignoreCosmic",
name = "Ignore Cosmic Altar",
description = "",
position = 67,
section = ignoreSection
)
default boolean ignoreCosmic() {
return false;
}
@ConfigItem(
keyName = "ignoreChaos",
name = "Ignore Chaos Altar",
description = "",
position = 68,
section = ignoreSection
)
default boolean ignoreChaos() {
return false;
}
@ConfigItem(
keyName = "ignoreNature",
name = "Ignore Nature Altar",
description = "",
position = 69,
section = ignoreSection
)
default boolean ignoreNature() {
return false;
}
@ConfigItem(
keyName = "ignoreLaw",
name = "Ignore Law Altar",
description = "",
position = 70,
section = ignoreSection
)
default boolean ignoreLaw() {
return false;
}
@ConfigItem(
keyName = "ignoreDeath",
name = "Ignore Death Altar",
description = "",
position = 71,
section = ignoreSection
)
default boolean ignoreDeath() {
return false;
}
@ConfigItem(
keyName = "ignoreBlood",
name = "Ignore Blood Altar",
description = "",
position = 72,
section = ignoreSection
)
default boolean ignoreBlood() {
return false;
}
@ConfigSection(
name = "Game Tick Configuration",
description = "Configure how to handles game tick delays, 1 game tick equates to roughly 600ms",
position = 100,
closedByDefault = true
)
String delayTickConfig = "delayTickConfig";
@Range(
max = 10
)
@ConfigItem(
keyName = "tickDelayMin",
name = "Game Tick Min",
description = "",
position = 101,
section = delayTickConfig
)
default int tickDelayMin() {
return 1;
}
@Range(
max = 10
)
@ConfigItem(
keyName = "tickDelayMax",
name = "Game Tick Max",
description = "",
position = 102,
section = delayTickConfig
)
default int tickDelayMax() {
return 3;
}
@ConfigItem(
keyName = "tickDelayEnabled",
name = "Tick delay",
description = "enables some tick delays",
position = 103,
section = delayTickConfig
)
default boolean tickDelay() {
return false;
}
@ConfigSection(
name = "Debug Highlights",
description = "Enable debug highlighting for specific game elements. Useful for debugging plugin behavior.",
position = 200,
closedByDefault = true
)
String debugSection = "debugSection";
@ConfigItem(
keyName = "debugHighlightBarriers",
name = "Highlight Barriers",
description = "Highlight barrier objects",
position = 201,
section = debugSection
)
default boolean debugHighlightBarriers() {
return false;
}
@ConfigItem(
keyName = "debugHighlightPortals",
name = "Highlight Portals",
description = "Highlight portal objects (huge guardian portal, altar portals)",
position = 202,
section = debugSection
)
default boolean debugHighlightPortals() {
return false;
}
@ConfigItem(
keyName = "debugHighlightAltars",
name = "Highlight Altars/Guardians",
description = "Highlight guardian portals (altar entrances)",
position = 203,
section = debugSection
)
default boolean debugHighlightAltars() {
return false;
}
@ConfigItem(
keyName = "debugHighlightWorkbench",
name = "Highlight Workbench",
description = "Highlight the workbench for crafting essence",
position = 204,
section = debugSection
)
default boolean debugHighlightWorkbench() {
return false;
}
@ConfigItem(
keyName = "debugHighlightGreatGuardian",
name = "Highlight Great Guardian",
description = "Highlight the Great Guardian NPC",
position = 205,
section = debugSection
)
default boolean debugHighlightGreatGuardian() {
return false;
}
@ConfigItem(
keyName = "debugHighlightRemains",
name = "Highlight Guardian Remains",
description = "Highlight guardian remains (regular, large, huge) for mining",
position = 206,
section = debugSection
)
default boolean debugHighlightRemains() {
return false;
}
@ConfigItem(
keyName = "debugHighlightRubble",
name = "Highlight Rubble/Climb Points",
description = "Highlight climbable rubble to access east mine",
position = 207,
section = debugSection
)
default boolean debugHighlightRubble() {
return false;
}
@ConfigItem(
keyName = "debugHighlightDepositPool",
name = "Highlight Deposit Pool",
description = "Highlight the deposit pool for runes",
position = 208,
section = debugSection
)
default boolean debugHighlightDepositPool() {
return false;
}
@ConfigItem(
keyName = "debugHighlightUnchargedCells",
name = "Highlight Uncharged Cells",
description = "Highlight uncharged cell containers",
position = 209,
section = debugSection
)
default boolean debugHighlightUnchargedCells() {
return false;
}
@ConfigItem(
keyName = "debugHighlightCellTiles",
name = "Highlight Cell Tiles",
description = "Highlight cell tiles for barrier placement",
position = 210,
section = debugSection
)
default boolean debugHighlightCellTiles() {
return false;
}
@ConfigItem(
keyName = "debugHighlightBindingNecklace",
name = "Highlight Binding Necklace",
description = "Highlight binding necklace in inventory when broken",
position = 211,
section = debugSection
)
default boolean debugHighlightBindingNecklace() {
return false;
}
}