aboutsummaryrefslogtreecommitdiff
path: root/src/main/kotlin/com/ambientaddons/features/kuudra
diff options
context:
space:
mode:
authorAppability <appable@icloud.com>2022-10-30 20:42:56 -0700
committerAppability <appable@icloud.com>2022-11-01 10:37:47 -0700
commit38e6266d2e608f376833dc9bc0c1074bed24535b (patch)
treeecf6e02eca2263b0bf4f5b8791143153dd826470 /src/main/kotlin/com/ambientaddons/features/kuudra
parenta0c2f3baf572c747321812241ad941f79218c875 (diff)
downloadAmbientAddons-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.kt25
-rw-r--r--src/main/kotlin/com/ambientaddons/features/kuudra/KuudraReady.kt36
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