diff options
author | hannibal2 <24389977+hannibal00212@users.noreply.github.com> | 2023-10-05 00:13:38 +0200 |
---|---|---|
committer | hannibal2 <24389977+hannibal00212@users.noreply.github.com> | 2023-10-05 00:13:38 +0200 |
commit | 0cfc19d890cac15b49433d170a16ae6d56dcfb16 (patch) | |
tree | 028f717bbe8a7a40e9784d7944e7a14624a1f61f /src/main/java/at/hannibal2/skyhanni/features | |
parent | ab992664490f6ffd3ad9b7f7aba529a6b6e928a9 (diff) | |
download | skyhanni-0cfc19d890cac15b49433d170a16ae6d56dcfb16.tar.gz skyhanni-0cfc19d890cac15b49433d170a16ae6d56dcfb16.tar.bz2 skyhanni-0cfc19d890cac15b49433d170a16ae6d56dcfb16.zip |
Added support for burning desert, using the slayer api more, only show slayer features while inside the correct SkyBlock area, add slayer info to debug command
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni/features')
5 files changed, 11 insertions, 51 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/features/slayer/SlayerItemProfitTracker.kt b/src/main/java/at/hannibal2/skyhanni/features/slayer/SlayerItemProfitTracker.kt index 4f1f92ca0..a4d18aaa9 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/slayer/SlayerItemProfitTracker.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/slayer/SlayerItemProfitTracker.kt @@ -76,7 +76,7 @@ object SlayerItemProfitTracker { fun onPurseChange(event: PurseChangeEvent) { if (!isEnabled()) return val coins = event.coins - if (event.reason == PurseChangeCause.GAIN_MOB_KILL && SlayerAPI.isInSlayerArea) { + if (event.reason == PurseChangeCause.GAIN_MOB_KILL && SlayerAPI.isInCorrectArea) { logger.log("Coins gained for killing mobs: ${coins.addSeparators()}") addMobKillCoins(coins.toInt()) } @@ -141,7 +141,7 @@ object SlayerItemProfitTracker { @SubscribeEvent fun onSackChange(event: SackChangeEvent) { if (!isEnabled()) return - if (!SlayerAPI.isInSlayerArea) return + if (!SlayerAPI.isInCorrectArea) return if (!SlayerAPI.hasActiveSlayerQuest()) return for (sackChange in event.sackChanges) { @@ -156,7 +156,7 @@ object SlayerItemProfitTracker { @SubscribeEvent(priority = EventPriority.LOW, receiveCanceled = true) fun onChatPacket(event: PacketEvent.ReceiveEvent) { if (!isEnabled()) return - if (!SlayerAPI.isInSlayerArea) return + if (!SlayerAPI.isInCorrectArea) return if (!SlayerAPI.hasActiveSlayerQuest()) return val packet = event.packet @@ -357,7 +357,7 @@ object SlayerItemProfitTracker { @SubscribeEvent fun onRenderOverlay(event: GuiRenderEvent) { if (!isEnabled()) return - if (!SlayerAPI.isInSlayerArea) return + if (!SlayerAPI.isInCorrectArea) return val currentlyOpen = Minecraft.getMinecraft().currentScreen is GuiInventory if (inventoryOpen != currentlyOpen) { diff --git a/src/main/java/at/hannibal2/skyhanni/features/slayer/SlayerItemsOnGround.kt b/src/main/java/at/hannibal2/skyhanni/features/slayer/SlayerItemsOnGround.kt index de2e43627..23108044a 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/slayer/SlayerItemsOnGround.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/slayer/SlayerItemsOnGround.kt @@ -29,7 +29,7 @@ class SlayerItemsOnGround { fun onRenderWorld(event: RenderWorldLastEvent) { if (!LorenzUtils.inSkyBlock) return if (!config.enabled) return - if (!SlayerAPI.isInSlayerArea) return + if (!SlayerAPI.isInCorrectArea) return if (!SlayerAPI.hasActiveSlayerQuest()) return for (entityItem in EntityUtils.getEntities<EntityItem>()) { diff --git a/src/main/java/at/hannibal2/skyhanni/features/slayer/SlayerQuestWarning.kt b/src/main/java/at/hannibal2/skyhanni/features/slayer/SlayerQuestWarning.kt index 9fd8c5887..60fde86a5 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/slayer/SlayerQuestWarning.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/slayer/SlayerQuestWarning.kt @@ -24,7 +24,6 @@ class SlayerQuestWarning { private var currentReason = "" private var dirtySidebar = false private var hasAutoSlayer = false - private var activeSlayer: SlayerType? = null //TODO add check if player has clicked on an item, before mobs around you gets damage @@ -53,7 +52,6 @@ class SlayerQuestWarning { } if (message == "§aYour Slayer Quest has been cancelled!") { - activeSlayer = null needSlayerQuest = false } @@ -102,8 +100,6 @@ class SlayerQuestWarning { } } - activeSlayer = SlayerType.getByDisplayName(slayerTypeName) - if (loaded) { dirtySidebar = false if (slayerQuest && !needSlayerQuest) { @@ -154,18 +150,18 @@ class SlayerQuestWarning { } private fun isSlayerMob(entity: EntityLivingBase): Boolean { - val area = LorenzUtils.skyBlockArea - val slayerType = SlayerType.getByArea(area) ?: return false + val slayerType = SlayerAPI.getSlayerTypeForCurrentArea() ?: return false + + val activeSlayer = SlayerAPI.getActiveSlayer() if (activeSlayer != null) { - val activeSlayer = activeSlayer!! if (slayerType != activeSlayer) { val activeSlayerName = activeSlayer.displayName val slayerName = slayerType.displayName SlayerAPI.latestWrongAreaWarning = System.currentTimeMillis() warn( "Wrong Slayer!", - "Wrong slayer selected! You have $activeSlayerName selected and are in the $slayerName area!" + "Wrong slayer selected! You have $activeSlayerName selected and you are in an $slayerName area!" ) } } diff --git a/src/main/java/at/hannibal2/skyhanni/features/slayer/SlayerRngMeterDisplay.kt b/src/main/java/at/hannibal2/skyhanni/features/slayer/SlayerRngMeterDisplay.kt index 9118184ec..c55468be3 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/slayer/SlayerRngMeterDisplay.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/slayer/SlayerRngMeterDisplay.kt @@ -53,7 +53,7 @@ class SlayerRngMeterDisplay { if (!isEnabled()) return - if (config.hideChat && SlayerAPI.isInSlayerArea) { + if (config.hideChat && SlayerAPI.isInCorrectArea) { changedItemPattern.matchMatcher(event.message) { event.blockedReason = "slayer_rng_meter" } @@ -167,7 +167,7 @@ class SlayerRngMeterDisplay { @SubscribeEvent fun onRenderOverlay(event: GuiRenderEvent.GameOverlayRenderEvent) { if (!isEnabled()) return - if (!SlayerAPI.isInSlayerArea) return + if (!SlayerAPI.isInCorrectArea) return if (!SlayerAPI.hasActiveSlayerQuest()) return config.pos.renderString(display, posLabel = "Rng Meter Display") diff --git a/src/main/java/at/hannibal2/skyhanni/features/slayer/SlayerType.kt b/src/main/java/at/hannibal2/skyhanni/features/slayer/SlayerType.kt index 8319bfb3a..4d5d9fa34 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/slayer/SlayerType.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/slayer/SlayerType.kt @@ -17,41 +17,5 @@ enum class SlayerType(val displayName: String, val clazz: Class<*>) { ; companion object { - fun getByArea(skyBlockArea: String): SlayerType? { - return when (skyBlockArea) { - "Graveyard", - "Coal Mine", - -> REVENANT - - "Spider Mound", - "Arachne's Burrow", - "Arachne's Sanctuary", - -> TARANTULA - - "Ruins", - "Howling Cave", - -> SVEN - - "The End", - "Void Sepulture", - "Zealot Bruiser Hideout", - -> VOID - - "Stronghold", - "The Wasteland", - "Smoldering Tomb", - -> INFERNO - - "Stillgore Château", - "Oubliette", - -> VAMPIRE - - else -> return null - } - } - - fun getByDisplayName(text: String): SlayerType? { - return entries.firstOrNull { text.startsWith(it.displayName) } - } } }
\ No newline at end of file |