Latest release

This commit is contained in:
jackh 2025-04-04 13:54:37 -07:00
parent 155fce3dca
commit 233307f4af
11 changed files with 243 additions and 64 deletions

View File

@ -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", "Post", "Swap", "Delay" };
private String[] autoBlockModes = new String[] { "Manual", "Vanilla", "Partial", "Blink A", "Blink B", "Post", "Swap", "Delay" };
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" };
@ -338,6 +338,13 @@ public class KillAura extends Module {
disableCheckUsing = true;
return;
}
if (ModuleManager.noFall.isBlinking) {
if (blinking.get() || lag) {
resetBlinkState(true);
}
setTarget(null);
return;
}
if (ModuleManager.antiVoid.started) {
if (blinking.get() || lag) {
resetBlinkState(true);
@ -960,7 +967,7 @@ public class KillAura extends Module {
break;
}
break;
case 3: // via a
case 3: // blink a
if (interactTicks >= 3) {
interactTicks = 0;
}
@ -968,19 +975,10 @@ public class KillAura extends Module {
if (firstCycle) {
switch (interactTicks) {
case 1:
blinking.set(true);
++cycleCount1;
if (cycleCount1 > 2) {
cycleCount1 = 0;
}
if (ModuleUtils.isBlocked) {
if (cycleCount1 <= -1) {
sendUnBlockPacket();
}
else {
setSwapSlot();
swapped = true;
}
blinking.set(true);
setSwapSlot();
swapped = true;
}
break;
case 2:
@ -991,6 +989,7 @@ public class KillAura extends Module {
handleInteractAndAttack(distance, true, true, swung);
sendBlockPacket();
releasePackets(); // release
blinking.set(false);
interactTicks = 0;
++cycleCount2;
if (cycleCount2 > 5) {
@ -1004,6 +1003,7 @@ public class KillAura extends Module {
switch (interactTicks) {
case 1:
if (ModuleUtils.isBlocked) {
blinking.set(true);
setSwapSlot();
swapped = true;
}
@ -1016,6 +1016,7 @@ public class KillAura extends Module {
handleInteractAndAttack(distance, true, true, swung);
sendBlockPacket();
releasePackets(); // release
blinking.set(false);
break;
case 3:
firstCycle = true;
@ -1024,32 +1025,22 @@ public class KillAura extends Module {
}
}
break;
case 4: // via b
case 4: // blink b
interactTicks++;
switch (interactTicks) {
case 1:
blinking.set(true);
if (ModuleUtils.isBlocked) {
setSwapSlot();
swapped = true;
blinking.set(true);
sendUnBlockPacket();
}
break;
case 2:
if (swapped) {
setCurrentSlot();
swapped = false;
}
handleInteractAndAttack(distance, true, true, swung);
sendBlockPacket();
if (++cycleCount2 > 1) {
interactTicks = 0;
}
else {
releasePackets(); // release
}
releasePackets(); // release
blinking.set(false);
break;
case 3:
releasePackets(); // release
interactTicks = 0;
firstCycle = false;
break;
@ -1095,8 +1086,8 @@ public class KillAura extends Module {
interactTicks++;
switch (interactTicks) {
case 1:
blinking.set(true);
if (ModuleUtils.isBlocked) {
blinking.set(true);
setSwapSlot();
swapped = true;
}

View File

@ -119,7 +119,7 @@ public class Velocity extends Module {
@SubscribeEvent
public void onReceivePacketAll(ReceiveAllPacketsEvent e) {
if (velocityModes.getInput() >= 1) {
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())) {
if (!Utils.nullCheck() || LongJump.stopVelocity || e.isCanceled() || 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) {
@ -239,7 +239,7 @@ public class Velocity extends Module {
}
private boolean dontEditMotion() {
if (velocityModes.getInput() == 1 && zzWhileNotTargeting.isToggled() && !ModuleManager.killAura.isTargeting) {
if (velocityModes.getInput() == 1 && zzWhileNotTargeting.isToggled() && !ModuleManager.killAura.isTargeting || ModuleManager.noFall.start || ModuleManager.blink.isEnabled() && ModuleManager.blink.cancelKnockback.isToggled() || ModuleManager.bedAura.cancelKnockback() || ModuleManager.tower.cancelKnockback()) {
return true;
}
return false;

View File

@ -13,18 +13,20 @@ public class KeepSprint extends Module {
public static SliderSetting slow;
public static ButtonSetting disableWhileJump;
public static ButtonSetting reduceReachHits;
public static ButtonSetting onlyDamage;
public KeepSprint() {
super("KeepSprint", Module.category.movement, 0);
this.registerSetting(new DescriptionSetting(new String("Default is 40% motion reduction.")));
this.registerSetting(slow = new SliderSetting("Slow %", 40.0D, 0.0D, 40.0D, 1.0D));
this.registerSetting(disableWhileJump = new ButtonSetting("Disable while jumping", false));
this.registerSetting(onlyDamage = new ButtonSetting("Only while hurt", false));
this.registerSetting(reduceReachHits = new ButtonSetting("Only reduce reach hits", false));
}
public static void keepSprint(Entity en) {
boolean vanilla = false;
if (disableWhileJump.isToggled() && !mc.thePlayer.onGround) {
if (disableWhileJump.isToggled() && !mc.thePlayer.onGround || onlyDamage.isToggled() && mc.thePlayer.hurtTime == 0) {
vanilla = true;
}
else if (reduceReachHits.isToggled() && !mc.thePlayer.capabilities.isCreativeMode) {

View File

@ -2,6 +2,7 @@ package keystrokesmod.module.impl.player;
import keystrokesmod.Raven;
import keystrokesmod.event.PreUpdateEvent;
import keystrokesmod.event.ReceiveAllPacketsEvent;
import keystrokesmod.event.ReceivePacketEvent;
import keystrokesmod.event.SendPacketEvent;
import keystrokesmod.module.Module;
@ -63,7 +64,7 @@ public class AntiVoid extends Module {
return;
}
Packet packet = e.getPacket();
if (!started && (!Utils.overVoid(mc.thePlayer.posX, mc.thePlayer.posY, mc.thePlayer.posZ) || mc.thePlayer.onGround)) {
if (!started && (!Utils.overVoid() || mc.thePlayer.onGround)) {
y = mc.thePlayer.posY;
wait = false;
return;
@ -74,8 +75,8 @@ public class AntiVoid extends Module {
if (packet.getClass().getSimpleName().startsWith("S")) {
return;
}
if (ModuleManager.killAura.isTargeting || ModuleManager.killAura.justUnTargeted) {
//return;
if (ModuleManager.noFall.isBlinking) {
return;
}
if (wait) {
return;
@ -97,10 +98,10 @@ public class AntiVoid extends Module {
@SubscribeEvent
public void onPreUpdate(PreUpdateEvent e) {
if (!Utils.overVoid(mc.thePlayer.posX, mc.thePlayer.posY, mc.thePlayer.posZ) || mc.thePlayer.onGround) {
if (!Utils.overVoid() || mc.thePlayer.onGround) {
release();
}
if (dist() && Utils.overVoid(mc.thePlayer.posX, mc.thePlayer.posY, mc.thePlayer.posZ) || disableLJ.isToggled() && LongJump.function) {
if (dist() && Utils.overVoid() || disableLJ.isToggled() && LongJump.function) {
release();
wait = true;
}

View File

@ -105,6 +105,9 @@ public class BedAura extends Module {
reset(true, true);
return;
}
if (ModuleManager.noFall.start) {
return;
}
if (Utils.isBedwarsPractice() || Utils.isReplay()) {
return;
}

View File

@ -122,17 +122,17 @@ public class Blink extends Module {
}
@SubscribeEvent(priority = EventPriority.LOWEST)
@SubscribeEvent
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()) {
blinkedPackets.add(e.getPacket());
e.setCanceled(true);
}
}
}
@Override

View File

@ -69,6 +69,8 @@ public class Disabler extends Module {
}
private void resetState() {
savedYaw = mc.thePlayer.rotationYaw;
savedPitch = mc.thePlayer.rotationPitch;
shouldRun = true;
tickCounter = 0;
applyingMotion = false;
@ -111,11 +113,7 @@ public class Disabler extends Module {
if ((now - lobbyTime) < activationDelayMillis) {
return;
}
if (!running) {
savedYaw = e.getYaw();
savedPitch = e.getPitch();
running = true;
}
running = true;
e.setRotations(savedYaw, savedPitch);
if (waitingForGround) {
@ -161,6 +159,7 @@ public class Disabler extends Module {
if (mc.thePlayer.ticksExisted % 2 == 0) {
e.setPosZ(e.getPosZ() + 0.075);
e.setPosX(e.getPosX() + 0.075);
}
tickCounter++;

View File

@ -1,21 +1,25 @@
package keystrokesmod.module.impl.player;
import keystrokesmod.Raven;
import keystrokesmod.event.PreMotionEvent;
import keystrokesmod.event.PreUpdateEvent;
import keystrokesmod.event.ReceivePacketEvent;
import keystrokesmod.event.SendPacketEvent;
import keystrokesmod.module.Module;
import keystrokesmod.module.ModuleManager;
import keystrokesmod.module.impl.movement.LongJump;
import keystrokesmod.module.impl.render.HUD;
import keystrokesmod.module.setting.impl.ButtonSetting;
import keystrokesmod.module.setting.impl.SliderSetting;
import keystrokesmod.script.classes.Block;
import keystrokesmod.utility.BlockUtils;
import keystrokesmod.utility.PacketUtils;
import keystrokesmod.utility.Reflection;
import keystrokesmod.utility.Utils;
import keystrokesmod.utility.*;
import net.minecraft.client.gui.GuiIngame;
import net.minecraft.client.gui.ScaledResolution;
import net.minecraft.init.Blocks;
import net.minecraft.network.Packet;
import net.minecraft.network.handshake.client.C00Handshake;
import net.minecraft.network.login.client.C00PacketLoginStart;
import net.minecraft.network.play.client.C02PacketUseEntity;
import net.minecraft.network.play.client.C03PacketPlayer;
import net.minecraft.network.play.client.C08PacketPlayerBlockPlacement;
import net.minecraft.network.play.server.*;
@ -24,16 +28,21 @@ import net.minecraftforge.client.event.ClientChatReceivedEvent;
import net.minecraftforge.client.event.sound.SoundEvent;
import net.minecraftforge.fml.common.eventhandler.EventPriority;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import net.minecraftforge.fml.common.gameevent.TickEvent;
import java.awt.*;
import java.util.Objects;
import java.util.concurrent.ConcurrentLinkedQueue;
public class NoFall extends Module {
public SliderSetting mode;
private SliderSetting minFallDistance;
private ButtonSetting disableAdventure;
private ButtonSetting ignoreVoid, voidC;
private ButtonSetting hideSound;
private String[] modes = new String[]{"Spoof", "NoGround", "Packet A", "Packet B", "CTW Packet", "Prediction"};
private ButtonSetting hideSound, renderTimer;
private String[] modes = new String[]{"Spoof", "NoGround", "Packet A", "Packet B", "CTW Packet", "Prediction", "Blink"};
private int color = new Color(0, 187, 255, 255).getRGB();
private double initialY;
private double dynamic;
@ -42,6 +51,15 @@ public class NoFall extends Module {
private int n;
private ConcurrentLinkedQueue<Packet> blinkedPackets = new ConcurrentLinkedQueue<>();
private ConcurrentLinkedQueue<Packet> regularPackets = new ConcurrentLinkedQueue<>();
public boolean isBlinking;
public boolean bnFalling, start;
private int blinkTicks;
private int y;
public NoFall() {
super("NoFall", category.player);
this.registerSetting(mode = new SliderSetting("Mode", 2, modes));
@ -49,11 +67,22 @@ public class NoFall extends Module {
this.registerSetting(minFallDistance = new SliderSetting("Minimum fall distance", 3, 0, 10, 0.1));
this.registerSetting(ignoreVoid = new ButtonSetting("Ignore void", false));
this.registerSetting(voidC = new ButtonSetting("Experimental void check", true));
this.registerSetting(renderTimer = new ButtonSetting("Render Blink Timer", true));
//this.registerSetting(hideSound = new ButtonSetting("Hide fall damage sound", false));
}
public void guiUpdate() {
this.renderTimer.setVisible(mode.getInput() == 6, this);
}
public void onDisable() {
Utils.resetTimer();
if (mc.thePlayer.onGround) {
finishBlink();
} else {
finishBlinkRegular();
}
}
/*@SubscribeEvent
@ -85,6 +114,34 @@ public class NoFall extends Module {
@SubscribeEvent
public void onPreUpdate(PreUpdateEvent e) {
if (mode.getInput() == 6) {
if (Utils.fallDist() >= minFallDistance.getInput() && Utils.isEdgeOfBlock() && mc.thePlayer.onGround && !Utils.jumpDown() && !ModuleManager.scaffold.isEnabled && !ModuleManager.bhop.isEnabled() && !LongJump.function) {
start = true;
y = (int) mc.thePlayer.posY;
}
else if (start && !bnFalling && mc.thePlayer.posY > y) {
finishBlinkRegular();
}
if (isBlinking) {
++blinkTicks;
}
if (mc.thePlayer.posY < y && !mc.thePlayer.onGround && start) {
bnFalling = true;
}
else if (bnFalling) {
finishBlink();
}
if (mc.thePlayer.posY <= y - 31 && start) {
finishBlinkRegular();
}
}
if (reset()) {
Utils.resetTimer();
initialY = mc.thePlayer.posY;
@ -171,7 +228,6 @@ public class NoFall extends Module {
n++;
}
}
//Utils.print("" + mc.thePlayer.ticksExisted + " " + mc.thePlayer.motionY + " " + edging);
}
@SubscribeEvent(priority = EventPriority.LOWEST)
@ -183,23 +239,119 @@ public class NoFall extends Module {
case 1:
e.setOnGround(false);
break;
case 6:
if (start) {
e.setOnGround(true);
}
break;
}
}
private void finishBlink() {
isBlinking = bnFalling = start = false;
blinkTicks = 0;
if (!blinkedPackets.isEmpty()) {
synchronized (blinkedPackets) {
for (Packet packet : blinkedPackets) {
Raven.packetsHandler.handlePacket(packet);
PacketUtils.sendPacketNoEvent(packet);
}
}
}
blinkedPackets.clear();
regularPackets.clear();
}
private void finishBlinkRegular() {
isBlinking = bnFalling = start = false;
blinkTicks = 0;
if (!regularPackets.isEmpty()) {
synchronized (regularPackets) {
for (Packet packet : regularPackets) {
Raven.packetsHandler.handlePacket(packet);
PacketUtils.sendPacketNoEvent(packet);
}
}
}
regularPackets.clear();
blinkedPackets.clear();
}
/*
if (mc.thePlayer.onGround) {
synchronized (blinkedPackets) {
for (Packet packet : blinkedPackets) {
Raven.packetsHandler.handlePacket(packet);
PacketUtils.sendPacketNoEvent(packet);
}
}
} else {
synchronized (regularPackets) {
for (Packet packet : regularPackets) {
Raven.packetsHandler.handlePacket(packet);
PacketUtils.sendPacketNoEvent(packet);
}
}
}
blinkedPackets.clear();
regularPackets.clear();
*/
@SubscribeEvent
public void onRenderTick(TickEvent.RenderTickEvent ev) {
if (!Utils.nullCheck() || !renderTimer.isToggled() || mode.getInput() != 6 || blinkTicks == 0 || blinkTicks >= 99999) {
return;
}
if (ev.phase == TickEvent.Phase.END) {
if (mc.currentScreen != null) {
return;
}
}
color = Theme.getGradient((int) HUD.theme.getInput(), 0);
int widthOffset = (blinkTicks < 10) ? 4 : (blinkTicks >= 10 && blinkTicks < 100) ? 7 : (blinkTicks >= 100 && blinkTicks < 1000) ? 10 : (blinkTicks >= 1000) ? 13 : 16;
String text = ("" + blinkTicks);
int width = mc.fontRendererObj.getStringWidth(text) + Utils.getBoldWidth(text) / 2;
final ScaledResolution scaledResolution = new ScaledResolution(mc);
int[] display = {scaledResolution.getScaledWidth(), scaledResolution.getScaledHeight(), scaledResolution.getScaleFactor()};
mc.fontRendererObj.drawString(text, display[0] / 2 - width + widthOffset, display[1] / 2 + 8, color, true);
}
@SubscribeEvent
public void onSendPacket(SendPacketEvent e) {
if (!Utils.nullCheck()) {
return;
}
Packet packet = e.getPacket();
if (packet.getClass().getSimpleName().startsWith("S")) {
return;
}
if (packet instanceof C00PacketLoginStart || packet instanceof C00Handshake) {
return;
}
if (!start) {
return;
}
if (!e.isCanceled()) {
isBlinking = true;
regularPackets.add(packet);
blinkedPackets.add(packet);
e.setCanceled(true);
}
}
private boolean otherc03(Packet packet) {
return ((packet instanceof C03PacketPlayer.C04PacketPlayerPosition) || (packet instanceof C03PacketPlayer.C05PacketPlayerLook) || (packet instanceof C03PacketPlayer.C06PacketPlayerPosLook));
}
@Override
public String getInfo() {
return modes[(int) mode.getInput()];
}
private boolean isVoid() {
return Utils.overVoid(mc.thePlayer.posX, mc.thePlayer.posY, mc.thePlayer.posZ);
}
private boolean reset() {
if (disableAdventure.isToggled() && mc.playerController.getCurrentGameType().isAdventure()) {
return true;
}
if (ignoreVoid.isToggled() && isVoid()) {
if (ignoreVoid.isToggled() && Utils.overVoid()) {
return true;
}
if (Utils.isBedwarsPractice()) {
@ -223,13 +375,13 @@ public class NoFall extends Module {
if (mc.thePlayer.capabilities.isCreativeMode) {
return true;
}
if (isVoid() && mc.thePlayer.posY <= 41) {
if (Utils.overVoid() && mc.thePlayer.posY <= 41) {
return true;
}
if (mc.thePlayer.capabilities.isFlying) {
return true;
}
if (voidC.isToggled() && Utils.overVoid(mc.thePlayer.posX, mc.thePlayer.posY, mc.thePlayer.posZ) && !dist()) {
if (voidC.isToggled() && Utils.overVoid() && !dist()) {
return true;
}
return false;

View File

@ -160,6 +160,10 @@ public class Scaffold extends Module {
}
disabledModule = true;
moduleEnabled = false;
if (!isEnabled) {
scaffoldBlockCount.beginFade();
}
}
public void onEnable() {
@ -348,7 +352,7 @@ public class Scaffold extends Module {
}
if (quad > 42 && quad <= 45 || quad >= 45 && quad < 48) {
yawAngle = 140F;
minOffset = 5;
minOffset = 4;
}
minPitch = 80.25F;

View File

@ -208,9 +208,9 @@ public class ModuleUtils {
if (canSlow || ModuleManager.scaffold.moduleEnabled && !ModuleManager.tower.canTower()) {
double motionVal = 0.9507832 - ((double) inAirTicks / 10000) - Utils.randomizeDouble(0.00001, 0.00006);
if (!hasSlowed) motionVal = motionVal - 0.15;
if (mc.thePlayer.hurtTime == 0 && inAirTicks >= 3 && !setSlow && ModuleManager.scaffold.rotation.getInput() == 2) {
mc.thePlayer.motionX *= motionVal;
mc.thePlayer.motionZ *= motionVal;
if (mc.thePlayer.hurtTime == 0 && !setSlow && !mc.thePlayer.onGround) {
//mc.thePlayer.motionX *= motionVal;
//mc.thePlayer.motionZ *= motionVal;
setSlow = hasSlowed = true;
//Utils.print("Slow " + motionVal);
}

View File

@ -210,6 +210,15 @@ public class Utils {
return true;
}
public static boolean overVoid() {
for (int i = (int) mc.thePlayer.posY; i > -1; i--) {
if (!(mc.theWorld.getBlockState(new BlockPos(mc.thePlayer.posX, i, mc.thePlayer.posZ)).getBlock() instanceof BlockAir)) {
return false;
}
}
return true;
}
public static boolean canPlayerBeSeen(EntityLivingBase player) {
double x = player.posX;
double y = player.posY;
@ -924,6 +933,24 @@ public class Utils {
return entity.getHeldItem() != null && entity.getHeldItem().getItem() instanceof ItemFood;
}
public static double fallDist() {
if (overVoid()) {
return 9999;
}
double fallDistance = -1;
double y = mc.thePlayer.posY;
if (mc.thePlayer.posY % 1 == 0) {
y--;
}
for (int i = (int) Math.floor(y); i > -1; i--) {
if (!isPlaceable(new BlockPos(mc.thePlayer.posX, i, mc.thePlayer.posZ))) {
fallDistance = y - i;
break;
}
}
return fallDistance - 1;
}
public static double distanceToGround(Entity entity) {
if (entity.onGround) {
return 0;