From a2d3a5a561dd52d463ac392f8747ffb7026e9a8c Mon Sep 17 00:00:00 2001 From: jackh Date: Sun, 30 Mar 2025 20:15:33 -0700 Subject: [PATCH] Latest release --- .../module/impl/combat/KillAura.java | 111 +++++++++++++++++- .../module/impl/combat/Velocity.java | 4 +- .../module/impl/player/Blink.java | 17 +++ .../module/impl/player/Disabler.java | 4 +- .../module/impl/player/Scaffold.java | 16 +-- 5 files changed, 136 insertions(+), 16 deletions(-) diff --git a/src/main/java/keystrokesmod/module/impl/combat/KillAura.java b/src/main/java/keystrokesmod/module/impl/combat/KillAura.java index d4ed5ff..89fb313 100644 --- a/src/main/java/keystrokesmod/module/impl/combat/KillAura.java +++ b/src/main/java/keystrokesmod/module/impl/combat/KillAura.java @@ -76,7 +76,7 @@ public class KillAura extends Module { private ButtonSetting silentSwing; private ButtonSetting weaponOnly; - private String[] autoBlockModes = new String[] { "Manual", "Vanilla", "Partial", "Via A", "Via B" }; + private String[] autoBlockModes = new String[] { "Manual", "Vanilla", "Partial", "Via A", "Via B", "Post", "Swap" }; private String[] rotationModes = new String[] { "Silent", "Lock view", "None" }; private String[] rotateModes = new String[] { "Attacking", "Swinging" }; private String[] sortModes = new String[] { "Distance", "Health", "Hurttime", "Yaw" }; @@ -132,6 +132,8 @@ public class KillAura extends Module { public boolean blocked; private int lastAttack; + private boolean handleHP2; + public KillAura() { super("KillAura", category.combat); this.registerSetting(aps = new SliderSetting("APS", 16.0, 1.0, 20.0, 0.5)); @@ -202,6 +204,7 @@ public class KillAura extends Module { if (!Utils.nullCheck()) { return; } + handleHP2 = false; if (lastAttack > 0) { --lastAttack; } @@ -384,6 +387,7 @@ public class KillAura extends Module { } else { handleBlocking(true); } + handleHP2 = true; } if (((blinkAutoBlock() || autoBlockMode.getInput() == 2) && !Utils.holdingSword()) || !inBlockRange || !manualBlock()) { // for blink autoblocks if (blinking.get() || lag) { @@ -505,6 +509,13 @@ public class KillAura extends Module { if (!Utils.nullCheck()) { return; } + if (target == null) { + return; + } + if (handleHP2) { + double distanceToBB = getDistanceToBoundingBox(target); + handleAutoBlockPost(distanceToBB); + } if (event.phase == TickEvent.Phase.START) { if (System.currentTimeMillis() - this.lastTime >= delay && target != null) { this.lastTime = System.currentTimeMillis(); @@ -830,8 +841,10 @@ public class KillAura extends Module { case 2: // partial Reflection.setItemInUse(this.blockingClient = ModuleUtils.isBlocked); break; - case 3: // interact a - case 4: // interact b + case 3: // via a + case 4: // via b + case 5: // post + case 6: // swap Reflection.setItemInUse(this.blockingClient = blockState); break; } @@ -852,7 +865,7 @@ public class KillAura extends Module { } public boolean autoBlockOverride() { - return (blinkAutoBlock() || autoBlockMode.getInput() == 1 || autoBlockMode.getInput() == 2) && Utils.holdingSword() && manualBlock(); + return (blinkAutoBlock() || autoBlockMode.getInput() == 1 || autoBlockMode.getInput() == 2 || autoBlockMode.getInput() == 5 || autoBlockMode.getInput() == 6) && Utils.holdingSword() && manualBlock(); } public boolean blinkAutoBlock() { @@ -1012,6 +1025,76 @@ public class KillAura extends Module { break; } break; + case 5: //Post 1st part + interactTicks++; + switch (interactTicks) { + case 3: + if (ModuleUtils.isBlocked) { + setSwapSlot(); + swapped = true; + } + interactTicks = 4; + } + break; + case 6: // Swap + interactTicks++; + if (interactTicks <= 3 && cycleCount1 == 0 || interactTicks <= 1 && cycleCount1 == 1) { + if (ModuleUtils.isBlocked) { + setSwapSlot(); + swapped = true; + } + if (swapped) { + setCurrentSlot(); + swapped = false; + } + handleInteractAndAttack(distance, true, true, swung); + sendBlockPacket(); + } + else { + interactTicks = 0; + ++cycleCount1; + if (cycleCount1 > 1) { + cycleCount1 = 0; + } + } + break; + } + } + + private void handleAutoBlockPost(double distance) { + boolean inAttackDistance = inRange(target, attackRange.getInput() - reachVal); + if (inAttackDistance) { + attackingEntity = target; + } + boolean swung = false; + if ((distance <= swingRange.getInput() || inAttackDistance) && shouldAttack) { // swing if in swing range or needs to attack + swung = true; + if (!inAttackDistance) { + shouldAttack = false; + } + } + if (ModuleManager.bedAura.stopAutoblock) { + resetBlinkState(false); + blockingServer = false; + interactTicks = 0; + return; + } + lag = true; + switch ((int) autoBlockMode.getInput()) { + case 1: + + break; + case 5: //Post 2nd part + if (interactTicks > 3) { + if (swapped) { + setCurrentSlot(); + swapped = false; + } + handleInteractAndAttack(distance, true, true, swung); + sendBlockPacket(); + interactTicks = 0; + } + break; } } @@ -1022,6 +1105,13 @@ public class KillAura extends Module { blocked = false; } + private void setRandomSlot() { + int bestSwapSlot = getRandomSlot(); + mc.thePlayer.sendQueue.addToSendQueue(new C09PacketHeldItemChange(bestSwapSlot)); + Raven.packetsHandler.playerSlot.set(bestSwapSlot); + blocked = false; + } + private void setCurrentSlot() { mc.thePlayer.sendQueue.addToSendQueue(new C09PacketHeldItemChange(mc.thePlayer.inventory.currentItem)); Raven.packetsHandler.playerSlot.set(mc.thePlayer.inventory.currentItem); @@ -1160,6 +1250,19 @@ public class KillAura extends Module { return bestSlot; } + public int getRandomSlot() { + int bestSlot = 1; + int currentSlot = mc.thePlayer.inventory.currentItem; + bestSlot = Utils.randomizeInt(0, 8); + if (bestSlot == 0 && currentSlot == 0) { + bestSlot += 1; + } + if (bestSlot > 0 && currentSlot == bestSlot) { + bestSlot -= 1; + } + return bestSlot; + } + public void resetYaw() { float serverYaw = RotationUtils.serverRotations[0]; float unwrappedYaw = unwrapYaw(MathHelper.wrapAngleTo180_float(mc.thePlayer.rotationYaw), serverYaw); diff --git a/src/main/java/keystrokesmod/module/impl/combat/Velocity.java b/src/main/java/keystrokesmod/module/impl/combat/Velocity.java index 177491f..401adbe 100644 --- a/src/main/java/keystrokesmod/module/impl/combat/Velocity.java +++ b/src/main/java/keystrokesmod/module/impl/combat/Velocity.java @@ -116,10 +116,10 @@ public class Velocity extends Module { } } - @SubscribeEvent(priority = EventPriority.LOWEST) + @SubscribeEvent public void onReceivePacketAll(ReceiveAllPacketsEvent e) { if (velocityModes.getInput() >= 1) { - if (!Utils.nullCheck() || LongJump.stopVelocity || e.isCanceled() || ModuleManager.bedAura.cancelKnockback() || ModuleManager.tower.cancelKnockback() || velocityModes.getInput() == 2 && ModuleUtils.firstDamage || ModuleManager.bhop.isEnabled() && ModuleManager.bhop.damageBoost.isToggled() && ModuleUtils.firstDamage && (!ModuleManager.bhop.damageBoostRequireKey.isToggled() || ModuleManager.bhop.damageBoostKey.isPressed())) { + if (!Utils.nullCheck() || LongJump.stopVelocity || e.isCanceled() || ModuleManager.blink.isEnabled() && ModuleManager.blink.cancelKnockback.isToggled() || ModuleManager.bedAura.cancelKnockback() || ModuleManager.tower.cancelKnockback() || velocityModes.getInput() == 2 && ModuleUtils.firstDamage || ModuleManager.bhop.isEnabled() && ModuleManager.bhop.damageBoost.isToggled() && ModuleUtils.firstDamage && (!ModuleManager.bhop.damageBoostRequireKey.isToggled() || ModuleManager.bhop.damageBoostKey.isPressed())) { return; } if (e.getPacket() instanceof S27PacketExplosion) { diff --git a/src/main/java/keystrokesmod/module/impl/player/Blink.java b/src/main/java/keystrokesmod/module/impl/player/Blink.java index 3d313b8..75a4536 100644 --- a/src/main/java/keystrokesmod/module/impl/player/Blink.java +++ b/src/main/java/keystrokesmod/module/impl/player/Blink.java @@ -32,6 +32,7 @@ import net.minecraft.network.status.client.C01PacketPing; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.Vec3; import net.minecraftforge.client.event.RenderWorldLastEvent; +import net.minecraftforge.fml.common.eventhandler.EventPriority; import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; import net.minecraftforge.fml.common.gameevent.TickEvent; import org.lwjgl.opengl.GL11; @@ -47,6 +48,7 @@ public class Blink extends Module { private ButtonSetting initialPosition; private ButtonSetting renderTimer; private ButtonSetting disableOnBreak, disableOnAttack; + public ButtonSetting cancelKnockback; private ConcurrentLinkedQueue blinkedPackets = new ConcurrentLinkedQueue<>(); private Vec3 pos; //final private int color = Theme.getGradient((int) theme.getInput(), 255); @@ -62,6 +64,7 @@ public class Blink extends Module { this.registerSetting(renderTimer = new ButtonSetting("Render Timer", false)); this.registerSetting(disableOnBreak = new ButtonSetting("Disable on Break", false)); this.registerSetting(disableOnAttack = new ButtonSetting("Disable on Attack", false)); + this.registerSetting(cancelKnockback = new ButtonSetting("Cancel knockback", false)); } @Override @@ -118,6 +121,20 @@ public class Blink extends Module { } } + + @SubscribeEvent(priority = EventPriority.LOWEST) + public void onReceivePacketAll(ReceiveAllPacketsEvent e) { + if (!Utils.nullCheck() || e.isCanceled() || !cancelKnockback.isToggled()) { + return; + } + if (e.getPacket() instanceof S12PacketEntityVelocity) { + if (((S12PacketEntityVelocity) e.getPacket()).getEntityID() == mc.thePlayer.getEntityId()) { + e.setCanceled(true); + } + } + + } + @Override public String getInfo() { return blinkTicks + ""; diff --git a/src/main/java/keystrokesmod/module/impl/player/Disabler.java b/src/main/java/keystrokesmod/module/impl/player/Disabler.java index cb5e49d..e044887 100644 --- a/src/main/java/keystrokesmod/module/impl/player/Disabler.java +++ b/src/main/java/keystrokesmod/module/impl/player/Disabler.java @@ -53,7 +53,7 @@ public class Disabler extends Module { public Disabler() { super("Disabler", Module.category.player); - this.registerSetting(disablerTicks = new SliderSetting("Ticks", "", 150, 85, 150, 5)); + this.registerSetting(disablerTicks = new SliderSetting("Ticks", "", 100, 85, 150, 5)); this.registerSetting(activationDelay = new SliderSetting("Activation delay", " seconds", 0, 0, 4, 0.5)); } @@ -94,7 +94,7 @@ public class Disabler extends Module { @SubscribeEvent(priority = EventPriority.LOWEST) public void onPreMotion(PreMotionEvent e) { - if (Utils.getLobbyStatus() == 1 || Utils.hypixelStatus() != 1) { + if (Utils.getLobbyStatus() == 1 || Utils.hypixelStatus() != 1 || Utils.isReplay()) { return; } long now = System.currentTimeMillis(); diff --git a/src/main/java/keystrokesmod/module/impl/player/Scaffold.java b/src/main/java/keystrokesmod/module/impl/player/Scaffold.java index 89a2760..6f67fc7 100644 --- a/src/main/java/keystrokesmod/module/impl/player/Scaffold.java +++ b/src/main/java/keystrokesmod/module/impl/player/Scaffold.java @@ -306,7 +306,7 @@ public class Scaffold extends Module { yaw = mc.thePlayer.rotationYaw - hardcodedYaw(); pitch = 76F; if (!Utils.isDiagonal(true)) { - //yaw -= 45; + //yaw += 45; } e.setRotations(yaw, pitch); break; @@ -324,34 +324,34 @@ public class Scaffold extends Module { if (quad <= 5 || quad >= 85) { yawAngle = 125.625F; - minOffset = 9; + minOffset = 11; } if (quad > 5 && quad <= 15 || quad >= 75 && quad < 85) { yawAngle = 127.625F; - minOffset = 8; + minOffset = 11; } if (quad > 15 && quad <= 25 || quad >= 65 && quad < 75) { yawAngle = 129.625F; - minOffset = 6; + minOffset = 9; } if (quad > 25 && quad <= 32 || quad >= 58 && quad < 65) { yawAngle = 132.625F; - minOffset = 6; + minOffset = 8; } if (quad > 32 && quad <= 38 || quad >= 52 && quad < 58) { yawAngle = 134.625F; - minOffset = 6; + minOffset = 7; } if (quad > 38 && quad <= 42 || quad >= 48 && quad < 52) { yawAngle = 136.625F; minOffset = 5; } if (quad > 42 && quad <= 45 || quad >= 45 && quad < 48) { - yawAngle = 140.175F; + yawAngle = 140F; minOffset = 5; } - minPitch = 80.45F; + minPitch = 80.25F; //Utils.print("" + minOffset); //float offsetAmountD = ((((float) offsetAmount.getInput() / 10) - 10) * -2) - (((float) offsetAmount.getInput() / 10) - 10); //yawAngle += offsetAmountD;