aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/at/hannibal2/skyhanni/features
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni/features')
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/fishing/SeaCreatureManager.kt27
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/fishing/SeaCreatureMessageShortener.kt22
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/fishing/SharkFishCounter.kt2
3 files changed, 29 insertions, 22 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/features/fishing/SeaCreatureManager.kt b/src/main/java/at/hannibal2/skyhanni/features/fishing/SeaCreatureManager.kt
index 73a358e69..ede9cd568 100644
--- a/src/main/java/at/hannibal2/skyhanni/features/fishing/SeaCreatureManager.kt
+++ b/src/main/java/at/hannibal2/skyhanni/features/fishing/SeaCreatureManager.kt
@@ -1,11 +1,33 @@
package at.hannibal2.skyhanni.features.fishing
+import at.hannibal2.skyhanni.SkyHanniMod
+import at.hannibal2.skyhanni.events.LorenzChatEvent
import at.hannibal2.skyhanni.events.RepositoryReloadEvent
+import at.hannibal2.skyhanni.events.SeaCreatureFishEvent
import at.hannibal2.skyhanni.utils.LorenzUtils
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent
class SeaCreatureManager {
+ private var doubleHook = false
+
+ @SubscribeEvent
+ fun onChatMessage(event: LorenzChatEvent) {
+ if (!LorenzUtils.inSkyBlock) return
+ if (doubleHookMessages.contains(event.message)) {
+ if (SkyHanniMod.feature.fishing.compactDoubleHook) {
+ event.blockedReason = "double_hook"
+ }
+ doubleHook = true
+ } else {
+ val seaCreature = getSeaCreature(event.message)
+ if (seaCreature != null) {
+ SeaCreatureFishEvent(seaCreature, event, doubleHook).postAndCatch()
+ }
+ doubleHook = false
+ }
+ }
+
@SubscribeEvent
fun onRepoReload(event: RepositoryReloadEvent) {
seaCreatureMap.clear()
@@ -44,6 +66,11 @@ class SeaCreatureManager {
private val seaCreatureMap = mutableMapOf<String, SeaCreature>()
var allFishingMobNames = emptyList<String>()
+ private val doubleHookMessages = setOf(
+ "§eIt's a §r§aDouble Hook§r§e! Woot woot!",
+ "§eIt's a §r§aDouble Hook§r§e!"
+ )
+
fun getSeaCreature(message: String): SeaCreature? {
return seaCreatureMap.getOrDefault(message, null)
}
diff --git a/src/main/java/at/hannibal2/skyhanni/features/fishing/SeaCreatureMessageShortener.kt b/src/main/java/at/hannibal2/skyhanni/features/fishing/SeaCreatureMessageShortener.kt
index 848601751..5880d357c 100644
--- a/src/main/java/at/hannibal2/skyhanni/features/fishing/SeaCreatureMessageShortener.kt
+++ b/src/main/java/at/hannibal2/skyhanni/features/fishing/SeaCreatureMessageShortener.kt
@@ -8,20 +8,8 @@ import net.minecraftforge.fml.common.eventhandler.EventPriority
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent
class SeaCreatureMessageShortener {
- private var nextIsDoubleHook: Boolean = false
-
private val config get() = SkyHanniMod.feature.fishing
- @SubscribeEvent(priority = EventPriority.LOW)
- fun onChatMessage(event: LorenzChatEvent) {
- if (!LorenzUtils.inSkyBlock) return
- if (!config.shortenFishingMessage && !config.compactDoubleHook) return
- if (doubleHookMessages.contains(event.message)) {
- event.blockedReason = "double_hook"
- nextIsDoubleHook = true
- }
- }
-
@SubscribeEvent
fun onSeaCreatureFish(event: SeaCreatureFishEvent) {
if (!LorenzUtils.inSkyBlock) return
@@ -33,8 +21,7 @@ class SeaCreatureMessageShortener {
"§9You caught a $seaCreature§9!"
} else event.chatEvent.message
- if (config.compactDoubleHook && nextIsDoubleHook) {
- nextIsDoubleHook = false
+ if (config.compactDoubleHook && event.doubleHook) {
message = "§e§lDOUBLE HOOK! $message"
}
LorenzUtils.chat(message)
@@ -43,11 +30,4 @@ class SeaCreatureMessageShortener {
LorenzUtils.debug("no fishing exp set for " + seaCreature.displayName)
}
}
-
- companion object {
- private val doubleHookMessages = setOf(
- "§eIt's a §r§aDouble Hook§r§e! Woot woot!",
- "§eIt's a §r§aDouble Hook§r§e!"
- )
- }
} \ No newline at end of file
diff --git a/src/main/java/at/hannibal2/skyhanni/features/fishing/SharkFishCounter.kt b/src/main/java/at/hannibal2/skyhanni/features/fishing/SharkFishCounter.kt
index 57395fdc3..c550f11ce 100644
--- a/src/main/java/at/hannibal2/skyhanni/features/fishing/SharkFishCounter.kt
+++ b/src/main/java/at/hannibal2/skyhanni/features/fishing/SharkFishCounter.kt
@@ -24,7 +24,7 @@ class SharkFishCounter {
val displayName = event.seaCreature.displayName
if (displayName.contains("Shark")) {
- counter++
+ counter += if (event.doubleHook) 2 else 1
display = "§7Sharks caught: §e${counter.addSeparators()}"
}
}