From c599ee0d78ed8bc17488636f2d9b9b1d5b6dd4a8 Mon Sep 17 00:00:00 2001 From: Appability Date: Wed, 12 Oct 2022 20:48:51 -0700 Subject: uh a lot of things --- .../features/dungeon/ShortbowClicker.kt | 32 ++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 src/main/kotlin/com/ambientaddons/features/dungeon/ShortbowClicker.kt (limited to 'src/main/kotlin/com/ambientaddons/features/dungeon/ShortbowClicker.kt') diff --git a/src/main/kotlin/com/ambientaddons/features/dungeon/ShortbowClicker.kt b/src/main/kotlin/com/ambientaddons/features/dungeon/ShortbowClicker.kt new file mode 100644 index 0000000..9ff5d48 --- /dev/null +++ b/src/main/kotlin/com/ambientaddons/features/dungeon/ShortbowClicker.kt @@ -0,0 +1,32 @@ +package com.ambientaddons.features.dungeon + +import AmbientAddons.Companion.config +import AmbientAddons.Companion.mc +import com.ambientaddons.utils.Extensions.skyblockID +import com.ambientaddons.utils.SkyBlock +import net.minecraftforge.client.event.RenderWorldLastEvent +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent +import kotlin.math.roundToLong + +// credit Floppa +object ShortbowClicker { + private var lastClickTime = System.currentTimeMillis() + private val shortbows = listOf("TERMINATOR", "JUJU_SHORTBOW", "ITEM_SPIRIT_BOW") + + @SubscribeEvent + fun onRender(event: RenderWorldLastEvent) { + if (!SkyBlock.inSkyblock) return + if (config.terminatorCps == 0) return + if (!mc.gameSettings.keyBindUseItem.isKeyDown) return + val itemStack = mc.thePlayer?.inventory?.getCurrentItem() + if (itemStack?.skyblockID?.let { shortbows.contains(it) } != true) return + val delay = (1000.0 / config.terminatorCps).roundToLong() + val currentTime = System.currentTimeMillis() + if ((currentTime - lastClickTime) >= delay) { + lastClickTime = currentTime - (currentTime - lastClickTime) % delay + if (mc.playerController.sendUseItem(mc.thePlayer, mc.theWorld, itemStack)) { + mc.entityRenderer.itemRenderer.resetEquippedProgress2() + } + } + } +} \ No newline at end of file -- cgit