feat: Add bazaar/ah search hotkey
This commit is contained in:
@@ -90,6 +90,9 @@ object FeatureManager : DataHolder<FeatureManager.Config>(serializer(), "feature
|
||||
fun subscribeEvents() {
|
||||
SubscriptionList.allLists.forEach {
|
||||
it.provideSubscriptions {
|
||||
it.owner.javaClass.classes.forEach {
|
||||
runCatching { it.getDeclaredField("INSTANCE").get(null) }
|
||||
}
|
||||
subscribeSingleEvent(it)
|
||||
}
|
||||
}
|
||||
|
||||
39
src/main/kotlin/features/inventory/ItemHotkeys.kt
Normal file
39
src/main/kotlin/features/inventory/ItemHotkeys.kt
Normal file
@@ -0,0 +1,39 @@
|
||||
package moe.nea.firmament.features.inventory
|
||||
|
||||
import moe.nea.firmament.annotations.Subscribe
|
||||
import moe.nea.firmament.events.HandledScreenKeyPressedEvent
|
||||
import moe.nea.firmament.gui.config.ManagedConfig
|
||||
import moe.nea.firmament.repo.HypixelStaticData
|
||||
import moe.nea.firmament.repo.ItemCache
|
||||
import moe.nea.firmament.repo.ItemCache.asItemStack
|
||||
import moe.nea.firmament.repo.ItemCache.isBroken
|
||||
import moe.nea.firmament.repo.RepoManager
|
||||
import moe.nea.firmament.util.MC
|
||||
import moe.nea.firmament.util.focusedItemStack
|
||||
import moe.nea.firmament.util.skyBlockId
|
||||
import moe.nea.firmament.util.skyblock.SBItemUtil.getSearchName
|
||||
|
||||
object ItemHotkeys {
|
||||
object TConfig : ManagedConfig("item-hotkeys", Category.INVENTORY) {
|
||||
val openGlobalTradeInterface by keyBindingWithDefaultUnbound("global-trade-interface")
|
||||
}
|
||||
|
||||
@Subscribe
|
||||
fun onHandledInventoryPress(event: HandledScreenKeyPressedEvent) {
|
||||
if (!event.matches(TConfig.openGlobalTradeInterface)) {
|
||||
return
|
||||
}
|
||||
var item = event.screen.focusedItemStack ?: return
|
||||
val skyblockId = item.skyBlockId ?: return
|
||||
item = RepoManager.getNEUItem(skyblockId)?.asItemStack()?.takeIf { !it.isBroken } ?: item
|
||||
if (HypixelStaticData.hasBazaarStock(skyblockId)) {
|
||||
MC.sendCommand("bz ${item.getSearchName()}")
|
||||
} else if (HypixelStaticData.hasAuctionHouseOffers(skyblockId)) {
|
||||
MC.sendCommand("ahs ${item.getSearchName()}")
|
||||
} else {
|
||||
return
|
||||
}
|
||||
event.cancel()
|
||||
}
|
||||
|
||||
}
|
||||
@@ -34,9 +34,6 @@ import moe.nea.firmament.util.unformattedString
|
||||
import moe.nea.firmament.util.useMatch
|
||||
|
||||
object HotmPresets {
|
||||
object Config : ManagedConfig("hotm-presets", Category.MINING) {
|
||||
}
|
||||
|
||||
val SHARE_PREFIX = "FIRMHOTM/"
|
||||
|
||||
@Serializable
|
||||
|
||||
Reference in New Issue
Block a user