aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/at/hannibal2/skyhanni/features/combat
diff options
context:
space:
mode:
authorhannibal2 <24389977+hannibal00212@users.noreply.github.com>2023-11-26 19:45:11 +0100
committerhannibal2 <24389977+hannibal00212@users.noreply.github.com>2023-11-26 19:45:11 +0100
commitd4d46c46404cf1424e9262f98e544e0336f2003f (patch)
tree7b72dab6f57b0c23e45594a93eafcf60ce7b4b94 /src/main/java/at/hannibal2/skyhanni/features/combat
parent5a710d5101cd24371f3476c837b1a24f83454803 (diff)
downloadskyhanni-d4d46c46404cf1424e9262f98e544e0336f2003f.tar.gz
skyhanni-d4d46c46404cf1424e9262f98e544e0336f2003f.tar.bz2
skyhanni-d4d46c46404cf1424e9262f98e544e0336f2003f.zip
Added PestFinder
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni/features/combat')
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/combat/damageindicator/DamageIndicatorManager.kt14
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/combat/damageindicator/EntityData.kt3
2 files changed, 15 insertions, 2 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/features/combat/damageindicator/DamageIndicatorManager.kt b/src/main/java/at/hannibal2/skyhanni/features/combat/damageindicator/DamageIndicatorManager.kt
index d268431f8..da682d17a 100644
--- a/src/main/java/at/hannibal2/skyhanni/features/combat/damageindicator/DamageIndicatorManager.kt
+++ b/src/main/java/at/hannibal2/skyhanni/features/combat/damageindicator/DamageIndicatorManager.kt
@@ -4,8 +4,10 @@ import at.hannibal2.skyhanni.SkyHanniMod
import at.hannibal2.skyhanni.config.ConfigUpdaterMigrator
import at.hannibal2.skyhanni.data.ScoreboardData
import at.hannibal2.skyhanni.events.BossHealthChangeEvent
+import at.hannibal2.skyhanni.events.DamageIndicatorDeathEvent
import at.hannibal2.skyhanni.events.DamageIndicatorDetectedEvent
import at.hannibal2.skyhanni.events.DamageIndicatorFinalBossEvent
+import at.hannibal2.skyhanni.events.EntityHealthUpdateEvent
import at.hannibal2.skyhanni.events.LorenzChatEvent
import at.hannibal2.skyhanni.events.LorenzRenderWorldEvent
import at.hannibal2.skyhanni.events.LorenzTickEvent
@@ -158,7 +160,6 @@ class DamageIndicatorManager {
// data.ignoreBlocks =
// data.bossType == BossType.END_ENDSTONE_PROTECTOR && Minecraft.getMinecraft().thePlayer.isSneaking
-
if (!data.ignoreBlocks && !data.entity.canBeSeen(70.0)) continue
if (!data.isConfigEnabled()) continue
@@ -854,6 +855,17 @@ class DamageIndicatorManager {
}
@SubscribeEvent
+ fun onEntityHealthUpdate(event: EntityHealthUpdateEvent) {
+ val data = data[event.entity.uniqueID] ?: return
+ if (event.health <= 1) {
+ if (!data.firstDeath) {
+ data.firstDeath = true
+ DamageIndicatorDeathEvent(event.entity, data).postAndCatch()
+ }
+ }
+ }
+
+ @SubscribeEvent
fun onConfigFix(event: ConfigUpdaterMigrator.ConfigFixEvent) {
event.move(2, "damageIndicator", "combat.damageIndicator")
event.move(3, "slayer.endermanPhaseDisplay", "slayer.endermen.phaseDisplay")
diff --git a/src/main/java/at/hannibal2/skyhanni/features/combat/damageindicator/EntityData.kt b/src/main/java/at/hannibal2/skyhanni/features/combat/damageindicator/EntityData.kt
index 970bdd0dd..50e5b4547 100644
--- a/src/main/java/at/hannibal2/skyhanni/features/combat/damageindicator/EntityData.kt
+++ b/src/main/java/at/hannibal2/skyhanni/features/combat/damageindicator/EntityData.kt
@@ -21,10 +21,11 @@ class EntityData(
var nameSuffix: String = "",
var nameAbove: String = "",
var dead: Boolean = false,
+ var firstDeath: Boolean = false, // TODO this defines if hp is very low, replace dead with this later
var deathLocation: LorenzVec? = null,
) {
val timeToKill by lazy {
val duration = System.currentTimeMillis() - foundTime
"§e" + TimeUtils.formatDuration(duration, TimeUnit.SECOND, showMilliSeconds = true)
}
-} \ No newline at end of file
+}