From d0cbc11018c8126575117aaeb2b861957386fa9a Mon Sep 17 00:00:00 2001 From: Appability Date: Thu, 13 Oct 2022 18:58:00 -0700 Subject: steal a bunch of code from sbc! +melodyhelper, kuudra ready, wither shield overlay --- .../com/ambientaddons/features/misc/KuudraReady.kt | 37 ++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 src/main/kotlin/com/ambientaddons/features/misc/KuudraReady.kt (limited to 'src/main/kotlin/com/ambientaddons/features/misc/KuudraReady.kt') diff --git a/src/main/kotlin/com/ambientaddons/features/misc/KuudraReady.kt b/src/main/kotlin/com/ambientaddons/features/misc/KuudraReady.kt new file mode 100644 index 0000000..469d6fe --- /dev/null +++ b/src/main/kotlin/com/ambientaddons/features/misc/KuudraReady.kt @@ -0,0 +1,37 @@ +package com.ambientaddons.features.misc + +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.SkyBlock +import com.ambientaddons.utils.dungeon.DungeonPlayers +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 || SkyBlock.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 -- cgit