From d4d46c46404cf1424e9262f98e544e0336f2003f Mon Sep 17 00:00:00 2001 From: hannibal2 <24389977+hannibal00212@users.noreply.github.com> Date: Sun, 26 Nov 2023 19:45:11 +0100 Subject: Added PestFinder --- .../combat/damageindicator/DamageIndicatorManager.kt | 14 +++++++++++++- .../skyhanni/features/combat/damageindicator/EntityData.kt | 3 ++- 2 files changed, 15 insertions(+), 2 deletions(-) (limited to 'src/main/java/at/hannibal2/skyhanni/features/combat') 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 @@ -853,6 +854,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") 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 +} -- cgit