aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/at/hannibal2/skyhanni/features
diff options
context:
space:
mode:
authorhannibal2 <24389977+hannibal00212@users.noreply.github.com>2023-10-05 00:13:38 +0200
committerhannibal2 <24389977+hannibal00212@users.noreply.github.com>2023-10-05 00:13:38 +0200
commit0cfc19d890cac15b49433d170a16ae6d56dcfb16 (patch)
tree028f717bbe8a7a40e9784d7944e7a14624a1f61f /src/main/java/at/hannibal2/skyhanni/features
parentab992664490f6ffd3ad9b7f7aba529a6b6e928a9 (diff)
downloadskyhanni-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')
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/slayer/SlayerItemProfitTracker.kt8
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/slayer/SlayerItemsOnGround.kt2
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/slayer/SlayerQuestWarning.kt12
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/slayer/SlayerRngMeterDisplay.kt4
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/slayer/SlayerType.kt36
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