diff options
| author | hannibal2 <24389977+hannibal00212@users.noreply.github.com> | 2022-09-07 05:09:48 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-09-07 05:09:48 +0200 |
| commit | cfeac0b6a71c592b61c53fad192eb22bb24b0f54 (patch) | |
| tree | 2d4cbf11b8f5b93b6d907404399ffcd8ae08e763 /src/main/java/at/hannibal2/skyhanni/features/end | |
| parent | 5b76d78b62420bfa5c9cca3cb3ebc50a12e812b7 (diff) | |
| download | skyhanni-cfeac0b6a71c592b61c53fad192eb22bb24b0f54.tar.gz skyhanni-cfeac0b6a71c592b61c53fad192eb22bb24b0f54.tar.bz2 skyhanni-cfeac0b6a71c592b61c53fad192eb22bb24b0f54.zip | |
0.7 (#2)
* code cleanup
* Option to hide the Skyblock Level from the chat messages,
Option to change the way the Skyblock Level gets displayed in the chat
* change version to 0.6.1
* add highlight the voidling extremist in pink color
* add highlight corrupted mobs in purple color
* fixed highlight corrupted mobs in purple color in the private island
* another minor fix for highlight corrupted mobs in purple color
* created EntityHealthUpdateEvent and fixing CorruptedMobHighlight
* using EntityHealthUpdateEvent everywhere
* added marking a player with yellow color
* highlight slayer miniboss in blue color
* /copyentities now shows health correctly for every entity
* infer fix
* fixing bazaar message filter
* changelog
* hides the death messages of other players, except for players who are close to the player.
* hiding tip messages
* highlight deathmites in dungeon in red color
* code cleanup
* code cleanup
* hide tnt laying around in dungeon
* fix infer
* remove debug
* Added hide Blessings laying around in dungeon.
Added hide Revive Stones laying around in dungeon.
* Hide Premium Flesh laying around in dungeon.
* edited LorenzTest
* Added dungeon copilot and separate filter for hiding dungeon key and door messages.
* Added hide Journal Entry pages laying around in dungeon.
* Added hide Skeleton Skulls laying around in dungeon.
* credits
* Added highlight Skeleton Skulls when combining into a skeleton in orange color (not useful combined with feature Hide Skeleton Skull)
* Added highlight Skeleton Skulls when combining into a skeleton in orange color (not useful combined with feature Hide Skeleton Skull)
* fix wording
* clarification
* small fixes
* Highlight the enderman slayer Yang Glyph (Beacon) in red color (supports beacon in hand and beacon flying)
* better/more readability for CopyNearbyEntitiesCommand
* make version 0.7
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni/features/end')
| -rw-r--r-- | src/main/java/at/hannibal2/skyhanni/features/end/VoidlingExtremistColor.kt | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/features/end/VoidlingExtremistColor.kt b/src/main/java/at/hannibal2/skyhanni/features/end/VoidlingExtremistColor.kt new file mode 100644 index 000000000..f2dcaed89 --- /dev/null +++ b/src/main/java/at/hannibal2/skyhanni/features/end/VoidlingExtremistColor.kt @@ -0,0 +1,65 @@ +package at.hannibal2.skyhanni.features.end + +import at.hannibal2.skyhanni.SkyHanniMod +import at.hannibal2.skyhanni.events.RenderMobColoredEvent +import at.hannibal2.skyhanni.events.ResetEntityHurtEvent +import at.hannibal2.skyhanni.events.withAlpha +import at.hannibal2.skyhanni.utils.LorenzColor +import at.hannibal2.skyhanni.utils.LorenzUtils +import at.hannibal2.skyhanni.utils.LorenzUtils.baseMaxHealth +import net.minecraft.client.Minecraft +import net.minecraft.entity.monster.EntityEnderman +import net.minecraftforge.event.world.WorldEvent +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent +import net.minecraftforge.fml.common.gameevent.TickEvent + +class VoidlingExtremistColor { + + private var tick = 0 + private val extremists = mutableListOf<EntityEnderman>() + + @SubscribeEvent + fun onTick(event: TickEvent.ClientTickEvent) { + if (!isEnabled()) return + + if (tick++ % 20 == 0) { + find() + } + } + + @SubscribeEvent + fun onRenderMobColored(event: RenderMobColoredEvent) { + if (!isEnabled()) return + val entity = event.entity + + if (entity in extremists) { + event.color = LorenzColor.LIGHT_PURPLE.toColor().withAlpha(127) + } + } + + @SubscribeEvent + fun onResetEntityHurtTime(event: ResetEntityHurtEvent) { + if (!isEnabled()) return + val entity = event.entity + + if (entity in extremists) { + event.shouldReset = true + } + } + + @SubscribeEvent + fun onWorldChange(event: WorldEvent.Load) { + extremists.clear() + } + + private fun find() { + Minecraft.getMinecraft().theWorld.loadedEntityList.filterIsInstance<EntityEnderman>() + .filter { it !in extremists && it.baseMaxHealth % 8_000_000 == 0.0 }.forEach { extremists.add(it) } + } + + private fun isEnabled(): Boolean { + + return LorenzUtils.inSkyblock && LorenzUtils.skyBlockIsland == "The End" && + SkyHanniMod.feature.misc.voidlingExtremistColor + } +}
\ No newline at end of file |
