You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

136 lines
3.8 KiB
Kotlin

package net.idylls.pathos
import java.awt.Color
import net.runelite.client.config.Alpha
import net.runelite.client.config.Config
import net.runelite.client.config.ConfigGroup
import net.runelite.client.config.ConfigItem
import net.runelite.client.config.ConfigSection
@ConfigGroup("pathos")
public interface PathosConfig : Config {
companion object {
@ConfigSection(
name = "Destination",
description = "Destination Path Configuration",
position = 0,
)
const val destinationPath = "destinationPath"
@ConfigSection(
name = "Hovered Path",
description = "Hovered Tile Path Configuration",
position = 1,
)
const val hoveredPath = "hoveredPath"
@ConfigSection(
name = "Overlapping",
description = "Overlapping Settings",
position = 2,
)
const val overlapping = "overlapping"
@ConfigSection(
name = "Additional",
description = "Additional Settings",
position = 3,
)
const val additional = "additional"
}
@ConfigItem(
keyName = "highlightDestinationPath",
name = "Highlight destination path",
description = "Highlight the tiles along the path to the player's destination",
section = destinationPath,
position = 0,
)
fun highlightDestinationPath(): Boolean = true
@Alpha
@ConfigItem(
keyName = "highlightDestinationBorder",
name = "Destination path tiles border color",
description = "Configures the border color of tiles along the path to the player's destination",
section = destinationPath,
position = 1,
)
fun highlightDestinationBorder(): Color = Color(255, 255, 255, 128)
@ConfigItem(
keyName = "highlightDestinationBorderWidth",
name = "Destination path tiles border width",
description = "Configures the border width of tiles along the path to the player's destination",
section = destinationPath,
position = 2,
)
fun highlightDestinationBorderWidth(): Double = 1.0
@ConfigItem(
keyName = "highlightHoveredPath",
name = "Highlight hovered path",
description = "Highlight the tiles along the path to the hovered destination",
section = hoveredPath,
position = 0,
)
fun highlightHoveredPath(): Boolean = true
@Alpha
@ConfigItem(
keyName = "highlightHoveredBorder",
name = "Hovered path tiles border color",
description = "Configures the border color of tiles along the path to the hovered destination",
section = hoveredPath,
position = 1,
)
fun highlightHoveredBorder(): Color = Color(255, 255, 255, 128)
@ConfigItem(
keyName = "highlightHoveredBorderWidth",
name = "Hovered path tiles border width",
description = "Configures the border width of tiles along the path to the hovered destination",
section = hoveredPath,
position = 2,
)
fun highlightHoveredBorderWidth(): Double = 1.0
@ConfigItem(
keyName = "highlightOverlapping",
name = "Highlight overlapping tiles separately",
description = "When enabled, tiles that are in both the hovered path and current path will be highlighted separately",
section = overlapping,
position = 0,
)
fun highlightOverlapping(): Boolean = true
@Alpha
@ConfigItem(
keyName = "highlightOverlappingBorder",
name = "Overlapping tiles border color",
description = "Configures the border color of overlapping tiles",
section = overlapping,
position = 1,
)
fun highlightOverlappingBorder(): Color = Color(255, 255, 255, 128)
@ConfigItem(
keyName = "highlightOverlappingBorderWidth",
name = "Overlapping path tiles border width",
description = "Configures the border width of overlapping tiles",
section = overlapping,
position = 2,
)
fun highlightOverlappingBorderWidth(): Double = 1.0
@ConfigItem(
keyName = "tickDistance",
name = "Draw tick distance",
description = "Render the time it will take in ticks to reach each tile",
section = additional,
position = 0,
)
fun drawTickDistance(): Boolean = true
}