From 189c08d52d14ffcab0aa55879c028c180ea11913 Mon Sep 17 00:00:00 2001 From: turtledshell Date: Sat, 18 Oct 2025 16:24:35 -0700 Subject: [PATCH 1/2] BowAimbot and BowSpam fixes/improvements --- .../systems/modules/combat/BowAimbot.java | 12 ++++++------ .../meteorclient/systems/modules/combat/BowSpam.java | 6 +++--- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/main/java/meteordevelopment/meteorclient/systems/modules/combat/BowAimbot.java b/src/main/java/meteordevelopment/meteorclient/systems/modules/combat/BowAimbot.java index 0b32b86eca..3968bbb597 100644 --- a/src/main/java/meteordevelopment/meteorclient/systems/modules/combat/BowAimbot.java +++ b/src/main/java/meteordevelopment/meteorclient/systems/modules/combat/BowAimbot.java @@ -5,7 +5,7 @@ package meteordevelopment.meteorclient.systems.modules.combat; -import meteordevelopment.meteorclient.events.render.Render3DEvent; +import meteordevelopment.meteorclient.events.world.TickEvent; import meteordevelopment.meteorclient.pathing.PathManagers; import meteordevelopment.meteorclient.settings.*; import meteordevelopment.meteorclient.systems.friends.Friends; @@ -92,7 +92,7 @@ public void onDeactivate() { } @EventHandler - private void onRender(Render3DEvent event) { + private void onTick(TickEvent.Pre event) { if (!PlayerUtils.isAlive() || !itemInHand()) return; if (!mc.player.getAbilities().creativeMode && !InvUtils.find(itemStack -> itemStack.getItem() instanceof ArrowItem).found()) return; @@ -118,12 +118,12 @@ private void onRender(Render3DEvent event) { return; } - if (mc.options.useKey.isPressed() && itemInHand()) { + if (mc.options.useKey.isPressed()) { if (pauseOnCombat.get() && PathManagers.get().isPathing() && !wasPathing) { PathManagers.get().pause(); wasPathing = true; } - aim(event.tickDelta); + aim(); } } @@ -131,12 +131,12 @@ private boolean itemInHand() { return InvUtils.testInMainHand(Items.BOW, Items.CROSSBOW); } - private void aim(float tickDelta) { + private void aim() { // Velocity based on bow charge. float velocity = BowItem.getPullProgress(mc.player.getItemUseTime()); // Positions - Vec3d pos = target.getLerpedPos(tickDelta); + Vec3d pos = target.getEntityPos(); double relativeX = pos.x - mc.player.getX(); double relativeY = pos.y + (target.getHeight() / 2) - mc.player.getEyeY(); diff --git a/src/main/java/meteordevelopment/meteorclient/systems/modules/combat/BowSpam.java b/src/main/java/meteordevelopment/meteorclient/systems/modules/combat/BowSpam.java index 1b6e7b9cca..181513e0bb 100644 --- a/src/main/java/meteordevelopment/meteorclient/systems/modules/combat/BowSpam.java +++ b/src/main/java/meteordevelopment/meteorclient/systems/modules/combat/BowSpam.java @@ -24,8 +24,8 @@ public class BowSpam extends Module { .name("charge") .description("How long to charge the bow before releasing in ticks.") .defaultValue(5) - .range(5, 20) - .sliderRange(5, 20) + .range(4, 20) + .sliderRange(4, 20) .build() ); @@ -55,7 +55,7 @@ public void onDeactivate() { } @EventHandler - private void onTick(TickEvent.Post event) { + private void onTick(TickEvent.Pre event) { if (!mc.player.getAbilities().creativeMode && !InvUtils.find(itemStack -> itemStack.getItem() instanceof ArrowItem).found()) return; From 30929ef79d050cdf5d65b78015b01c0e72d87508 Mon Sep 17 00:00:00 2001 From: turtledshell Date: Sat, 18 Oct 2025 16:42:16 -0700 Subject: [PATCH 2/2] Make BowSpam work in offhand --- .../meteorclient/systems/modules/combat/BowSpam.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/meteordevelopment/meteorclient/systems/modules/combat/BowSpam.java b/src/main/java/meteordevelopment/meteorclient/systems/modules/combat/BowSpam.java index 181513e0bb..6de8396cde 100644 --- a/src/main/java/meteordevelopment/meteorclient/systems/modules/combat/BowSpam.java +++ b/src/main/java/meteordevelopment/meteorclient/systems/modules/combat/BowSpam.java @@ -60,7 +60,7 @@ private void onTick(TickEvent.Pre event) { return; if (!onlyWhenHoldingRightClick.get() || mc.options.useKey.isPressed()) { - boolean isBow = mc.player.getMainHandStack().getItem() == Items.BOW; + boolean isBow = mc.player.getMainHandStack().getItem() == Items.BOW || mc.player.getOffHandStack().getItem() == Items.BOW; if (!isBow && wasBow) setPressed(false); wasBow = isBow;