diff options
author | Appability <appable@icloud.com> | 2022-10-30 20:42:56 -0700 |
---|---|---|
committer | Appability <appable@icloud.com> | 2022-11-01 10:37:47 -0700 |
commit | 38e6266d2e608f376833dc9bc0c1074bed24535b (patch) | |
tree | ecf6e02eca2263b0bf4f5b8791143153dd826470 /src/main/kotlin/com/ambientaddons/features/kuudra | |
parent | a0c2f3baf572c747321812241ad941f79218c875 (diff) | |
download | AmbientAddons-38e6266d2e608f376833dc9bc0c1074bed24535b.tar.gz AmbientAddons-38e6266d2e608f376833dc9bc0c1074bed24535b.tar.bz2 AmbientAddons-38e6266d2e608f376833dc9bc0c1074bed24535b.zip |
kuudra HP display features
Diffstat (limited to 'src/main/kotlin/com/ambientaddons/features/kuudra')
-rw-r--r-- | src/main/kotlin/com/ambientaddons/features/kuudra/KuudraHp.kt | 25 | ||||
-rw-r--r-- | src/main/kotlin/com/ambientaddons/features/kuudra/KuudraReady.kt | 36 |
2 files changed, 61 insertions, 0 deletions
diff --git a/src/main/kotlin/com/ambientaddons/features/kuudra/KuudraHp.kt b/src/main/kotlin/com/ambientaddons/features/kuudra/KuudraHp.kt new file mode 100644 index 0000000..79f6428 --- /dev/null +++ b/src/main/kotlin/com/ambientaddons/features/kuudra/KuudraHp.kt @@ -0,0 +1,25 @@ +package com.ambientaddons.features.kuudra + +import AmbientAddons.Companion.config +import com.ambientaddons.events.BossStatusEvent +import com.ambientaddons.gui.GuiElement +import com.ambientaddons.utils.Area +import com.ambientaddons.utils.Extensions.stripControlCodes +import com.ambientaddons.utils.SBLocation +import net.minecraft.entity.boss.BossStatus +import net.minecraftforge.client.event.ClientChatReceivedEvent +import net.minecraftforge.client.event.RenderGameOverlayEvent +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent + +object KuudraHp { + + fun onBossBarSet(event: BossStatusEvent) { + if (!config.kuudraHp || SBLocation.area != Area.Kuudra) return + val bossData = event.displayData + if (bossData.displayName.unformattedText.stripControlCodes().contains("Kuudra")) { + BossStatus.healthScale = bossData.health / bossData.maxHealth + BossStatus.statusBarTime = 100 + BossStatus.bossName = "${bossData.displayName.formattedText} §r§8 - §r§d ${S}" + } + } +}
\ No newline at end of file diff --git a/src/main/kotlin/com/ambientaddons/features/kuudra/KuudraReady.kt b/src/main/kotlin/com/ambientaddons/features/kuudra/KuudraReady.kt new file mode 100644 index 0000000..8133182 --- /dev/null +++ b/src/main/kotlin/com/ambientaddons/features/kuudra/KuudraReady.kt @@ -0,0 +1,36 @@ +package com.ambientaddons.features.kuudra + +import AmbientAddons.Companion.config +import AmbientAddons.Companion.mc +import com.ambientaddons.utils.Area +import com.ambientaddons.utils.Extensions.chest +import com.ambientaddons.utils.Extensions.items +import com.ambientaddons.utils.Extensions.lore +import com.ambientaddons.utils.Extensions.stripControlCodes +import com.ambientaddons.utils.SBLocation +import net.minecraftforge.client.event.GuiScreenEvent +import net.minecraftforge.event.world.WorldEvent +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent + +object KuudraReady { + private var hasClickedReady = false + + @SubscribeEvent + fun onWorldUnload(event: WorldEvent.Unload) { + hasClickedReady = false + } + + @SubscribeEvent + fun onGuiDraw(event: GuiScreenEvent.DrawScreenEvent) { + if (!config.kuudraReady || SBLocation.area != Area.Kuudra) return + val chest = event.gui?.chest ?: return + val chestName = chest.lowerChestInventory.name + if (chestName == "Ready Up" && !hasClickedReady) { + val clickIndex = chest.lowerChestInventory.items.takeIf { it.last() != null }?.indexOfFirst { + it?.lore?.getOrNull(0)?.stripControlCodes()?.startsWith("Click to mark yourself") == true + } ?: return + hasClickedReady = true + mc.playerController.windowClick(chest.windowId, clickIndex, 2, 3, mc.thePlayer) + } + } +}
\ No newline at end of file |