diff options
Diffstat (limited to 'src/main/java/at/hannibal2')
-rw-r--r-- | src/main/java/at/hannibal2/skyhanni/config/features/combat/MobsConfig.java | 6 | ||||
-rw-r--r-- | src/main/java/at/hannibal2/skyhanni/features/combat/mobs/MobHighlight.kt | 18 |
2 files changed, 22 insertions, 2 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/config/features/combat/MobsConfig.java b/src/main/java/at/hannibal2/skyhanni/config/features/combat/MobsConfig.java index 88e115702..abda26077 100644 --- a/src/main/java/at/hannibal2/skyhanni/config/features/combat/MobsConfig.java +++ b/src/main/java/at/hannibal2/skyhanni/config/features/combat/MobsConfig.java @@ -31,6 +31,12 @@ public class MobsConfig { public boolean zealotBruiserHighlighter = false; @Expose + @ConfigOption(name = "Zealot with Chest", desc = "Highlight Zealots holding a Chest in a different color.") + @ConfigEditorBoolean + @FeatureToggle + public boolean chestZealotHighlighter = false; + + @Expose @ConfigOption( name = "Special Zealots", desc = "Highlight Special Zealots (the ones that drop Summoning Eyes) in the End." diff --git a/src/main/java/at/hannibal2/skyhanni/features/combat/mobs/MobHighlight.kt b/src/main/java/at/hannibal2/skyhanni/features/combat/mobs/MobHighlight.kt index f10d4ef2c..9303fc45e 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/combat/mobs/MobHighlight.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/combat/mobs/MobHighlight.kt @@ -5,6 +5,7 @@ import at.hannibal2.skyhanni.events.EntityHealthUpdateEvent import at.hannibal2.skyhanni.events.EntityMaxHealthUpdateEvent import at.hannibal2.skyhanni.mixins.hooks.RenderLivingEntityHelper import at.hannibal2.skyhanni.utils.ColorUtils.withAlpha +import at.hannibal2.skyhanni.utils.EntityUtils.getBlockInHand import at.hannibal2.skyhanni.utils.EntityUtils.hasNameTagWith import at.hannibal2.skyhanni.utils.LorenzColor import at.hannibal2.skyhanni.utils.LorenzUtils @@ -15,6 +16,7 @@ import net.minecraft.entity.EntityLivingBase import net.minecraft.entity.monster.EntityCaveSpider import net.minecraft.entity.monster.EntityEnderman import net.minecraft.entity.monster.EntitySpider +import net.minecraft.init.Blocks import net.minecraftforge.fml.common.eventhandler.SubscribeEvent class MobHighlight { @@ -59,9 +61,10 @@ class MobHighlight { } if (entity is EntityEnderman) { + val isZealot = maxHealth == 13_000 || maxHealth == 13_000 * 4 // runic + val isBruiser = maxHealth == 65_000 || maxHealth == 65_000 * 4 // runic + if (config.zealotBruiserHighlighter) { - val isZealot = maxHealth == 13_000 || maxHealth == 13_000 * 4 // runic - val isBruiser = maxHealth == 65_000 || maxHealth == 65_000 * 4 // runic if (isZealot || isBruiser) { RenderLivingEntityHelper.setEntityColorWithNoHurtTime( entity, @@ -71,6 +74,17 @@ class MobHighlight { } } + if (config.chestZealotHighlighter) { + val isHoldingChest = (entity as? EntityEnderman)?.getBlockInHand()?.block == Blocks.ender_chest + if ((isZealot || isBruiser) && isHoldingChest) { + RenderLivingEntityHelper.setEntityColorWithNoHurtTime( + entity, + LorenzColor.GREEN.toColor().withAlpha(127) + ) + { config.chestZealotHighlighter } + } + } + // Special Zealots are not impacted by derpy if (config.specialZealotHighlighter && maxHealth.ignoreDerpy() == 2_000) { RenderLivingEntityHelper.setEntityColorWithNoHurtTime( |