feat: Junk Highlighter
This commit is contained in:
29
src/main/kotlin/features/inventory/JunkHighlighter.kt
Normal file
29
src/main/kotlin/features/inventory/JunkHighlighter.kt
Normal file
@@ -0,0 +1,29 @@
|
||||
package moe.nea.firmament.features.inventory
|
||||
|
||||
import org.lwjgl.glfw.GLFW
|
||||
import moe.nea.firmament.annotations.Subscribe
|
||||
import moe.nea.firmament.events.SlotRenderEvents
|
||||
import moe.nea.firmament.features.FirmamentFeature
|
||||
import moe.nea.firmament.gui.config.ManagedConfig
|
||||
import moe.nea.firmament.util.skyblock.SBItemUtil.getSearchName
|
||||
import moe.nea.firmament.util.useMatch
|
||||
|
||||
object JunkHighlighter : FirmamentFeature {
|
||||
override val identifier: String
|
||||
get() = "junk-highlighter"
|
||||
|
||||
object TConfig : ManagedConfig(identifier, Category.INVENTORY) {
|
||||
val junkRegex by string("regex") { "" }
|
||||
val highlightBind by keyBinding("highlight") { GLFW.GLFW_KEY_LEFT_CONTROL }
|
||||
}
|
||||
|
||||
@Subscribe
|
||||
fun onDrawSlot(event: SlotRenderEvents.After) {
|
||||
if(!TConfig.highlightBind.isPressed() || TConfig.junkRegex.isEmpty()) return
|
||||
val junkRegex = TConfig.junkRegex.toPattern()
|
||||
val slot = event.slot
|
||||
junkRegex.useMatch(slot.stack.getSearchName()) {
|
||||
event.context.fill(slot.x, slot.y, slot.x + 16, slot.y + 16, 0xffff0000.toInt())
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -423,6 +423,12 @@
|
||||
"firmament.config.waypoints.skip-to-nearest.description": "Allow skipping waypoints in an ordered list. If disabled you will need to walk to the next point, before being allowed to the next one after.",
|
||||
"firmament.config.waypoints.temp-waypoint-duration": "Temporary Waypoint Duration",
|
||||
"firmament.config.waypoints.temp-waypoint-duration.description": "Display waypoints sent by other players using /firm sendcoords in the world.",
|
||||
"firmament.config.junk-highlighter": "Junk Highlighter",
|
||||
"firmament.config.junk-highlighter.description": "Highlight items using regex to search for items in your inventory",
|
||||
"firmament.config.junk-highlighter.regex": "Search Regex",
|
||||
"firmament.config.junk-highlighter.regex.description": "The RegEx (Regular Expression) to use when searching",
|
||||
"firmament.config.junk-highlighter.highlight": "Highlight Keybind",
|
||||
"firmament.config.junk-highlighter.highlight.description": "Highlight found items when this keybind is held",
|
||||
"firmament.debug.skyblockid": "SkyBlock ID: %s",
|
||||
"firmament.debug.skyblockid.copy": "Click to copy SkyBlock ID",
|
||||
"firmament.dev.resourcerebuild.done": "Gradle resource rebuild done in %s",
|
||||
|
||||
Reference in New Issue
Block a user