diff options
4 files changed, 42 insertions, 11 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/features/damageindicator/DamageIndicatorManager.kt b/src/main/java/at/hannibal2/skyhanni/features/damageindicator/DamageIndicatorManager.kt index 0ab45e022..a8237e4b1 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/damageindicator/DamageIndicatorManager.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/damageindicator/DamageIndicatorManager.kt @@ -2,9 +2,7 @@ package at.hannibal2.skyhanni.features.damageindicator import at.hannibal2.skyhanni.SkyHanniMod import at.hannibal2.skyhanni.data.ScoreboardData -import at.hannibal2.skyhanni.events.BossHealthChangeEvent -import at.hannibal2.skyhanni.events.DamageIndicatorFinalBossEvent -import at.hannibal2.skyhanni.events.LorenzChatEvent +import at.hannibal2.skyhanni.events.* import at.hannibal2.skyhanni.features.dungeon.DungeonData import at.hannibal2.skyhanni.features.slayer.blaze.SwordMode import at.hannibal2.skyhanni.test.LorenzTest @@ -80,7 +78,7 @@ class DamageIndicatorManager { @SubscribeEvent fun onWorldRender(event: RenderWorldLastEvent) { - if (!SkyHanniMod.feature.damageIndicator.enabled) return + if (!isEnabled()) return GlStateManager.disableDepth() GlStateManager.disableCull() @@ -248,6 +246,7 @@ class DamageIndicatorManager { entityData.namePrefix = "" entityData.nameSuffix = "" + entityData.color = null val customHealthText = if (health == 0L) { entityData.dead = true "§cDead" @@ -346,6 +345,7 @@ class DamageIndicatorManager { for (swordMode in SwordMode.values()) { if (entity.hasNameTagWith(3, swordMode.name)) { entityData.namePrefix = swordMode.formattedName + " " + entityData.color = swordMode.color return "" } } @@ -630,4 +630,31 @@ class DamageIndicatorManager { } } } + + @SubscribeEvent + fun onRenderMobColored(event: RenderMobColoredEvent) { + if (!isEnabled()) return + val entity = event.entity + + data.values + .filter { it.entity == entity } + .forEach { data -> + data.color?.let { + event.color = it.toColor().withAlpha(80) + } + } + } + + @SubscribeEvent + fun onResetEntityHurtTime(event: ResetEntityHurtEvent) { + if (!isEnabled()) return + val entity = event.entity + if (data.values.any { it.entity == entity && it.color != null }) { + event.shouldReset = true + } + } + + fun isEnabled(): Boolean { + return LorenzUtils.inSkyblock && SkyHanniMod.feature.damageIndicator.enabled + } }
\ No newline at end of file diff --git a/src/main/java/at/hannibal2/skyhanni/features/damageindicator/EntityData.kt b/src/main/java/at/hannibal2/skyhanni/features/damageindicator/EntityData.kt index 7271daf33..4212b4521 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/damageindicator/EntityData.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/damageindicator/EntityData.kt @@ -1,5 +1,6 @@ package at.hannibal2.skyhanni.features.damageindicator +import at.hannibal2.skyhanni.utils.LorenzColor import at.hannibal2.skyhanni.utils.LorenzVec import net.minecraft.entity.EntityLivingBase @@ -17,6 +18,7 @@ class EntityData( // var healthLineHidden: Boolean = false, var namePrefix: String = "", var nameSuffix: String = "", + var color: LorenzColor? = null, var dead: Boolean = false, var deathLocation: LorenzVec? = null, )
\ No newline at end of file diff --git a/src/main/java/at/hannibal2/skyhanni/features/slayer/blaze/BlazeSlayerWeaponHelper.kt b/src/main/java/at/hannibal2/skyhanni/features/slayer/blaze/BlazeSlayerWeaponHelper.kt index 475df5ce9..4e9659ee6 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/slayer/blaze/BlazeSlayerWeaponHelper.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/slayer/blaze/BlazeSlayerWeaponHelper.kt @@ -53,9 +53,9 @@ class BlazeSlayerWeaponHelper { var inactiveAbility = "" for (mode in sword.modes) { if (mode.active) { - activeAbility = mode.color + "§l" + mode + activeAbility = mode.chatColor + "§l" + mode } else { - inactiveAbility = " §7/ " + mode.color + mode.toString().lowercase() + inactiveAbility = " §7/ " + mode.chatColor + mode.toString().lowercase() } } if (activeAbility == "") return "" diff --git a/src/main/java/at/hannibal2/skyhanni/features/slayer/blaze/SwordMode.kt b/src/main/java/at/hannibal2/skyhanni/features/slayer/blaze/SwordMode.kt index deeb24244..b2dfc9e28 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/slayer/blaze/SwordMode.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/slayer/blaze/SwordMode.kt @@ -1,9 +1,11 @@ package at.hannibal2.skyhanni.features.slayer.blaze -enum class SwordMode(val formattedName: String, val color: String, var active: Boolean = false) { - AURIC("§e§lAURIC", "§e"), - ASHEN("§8§lASHEN", "§8"), - SPIRIT("§f§lSPIRIT", "§f"), - CRYSTAL("§b§lCRYSTAL", "§b"), +import at.hannibal2.skyhanni.utils.LorenzColor + +enum class SwordMode(val formattedName: String, val color: LorenzColor, val chatColor: String = color.getChatColor(), var active: Boolean = false) { + AURIC("§e§lAURIC", LorenzColor.YELLOW), + ASHEN("§8§lASHEN", LorenzColor.DARK_GRAY), + SPIRIT("§f§lSPIRIT", LorenzColor.WHITE), + CRYSTAL("§b§lCRYSTAL", LorenzColor.AQUA), ; }
\ No newline at end of file |