Latest release

This commit is contained in:
jackh 2025-03-30 06:07:20 -07:00
parent 8f33952bd0
commit 7d2947e5d6
30 changed files with 868 additions and 317 deletions

View File

@ -47,6 +47,7 @@ public class Raven {
public static Profile currentProfile;
public static PacketsHandler packetsHandler;
private static boolean firstLoad;
public static KnockBackHelper knockBackHelper;
public Raven() {
moduleManager = new ModuleManager();
@ -65,6 +66,7 @@ public class Raven {
MinecraftForge.EVENT_BUS.register(new Ping());
MinecraftForge.EVENT_BUS.register(packetsHandler = new PacketsHandler());
MinecraftForge.EVENT_BUS.register(new ModuleUtils(this.mc));
MinecraftForge.EVENT_BUS.register(knockBackHelper = new KnockBackHelper());
Reflection.getFields();
moduleManager.register();
scriptManager = new ScriptManager();

View File

@ -1,8 +1,10 @@
package keystrokesmod.event;
import net.minecraft.network.Packet;
import net.minecraftforge.fml.common.eventhandler.Cancelable;
import net.minecraftforge.fml.common.eventhandler.Event;
@Cancelable
public class NoEventPacketEvent extends Event {
private Packet<?> packet;

View File

@ -0,0 +1,14 @@
package keystrokesmod.event;
import net.minecraft.network.play.server.S12PacketEntityVelocity;
import net.minecraftforge.fml.common.eventhandler.Cancelable;
import net.minecraftforge.fml.common.eventhandler.Event;
@Cancelable
public class PreEntityVelocityEvent extends Event {
public S12PacketEntityVelocity packet;
public PreEntityVelocityEvent(S12PacketEntityVelocity packet) {
this.packet = packet;
}
}

View File

@ -0,0 +1,15 @@
package keystrokesmod.event;
import net.minecraft.network.play.server.S27PacketExplosion;
import net.minecraftforge.fml.common.eventhandler.Cancelable;
import net.minecraftforge.fml.common.eventhandler.Event;
@Cancelable
public class PreExplosionPacketEvent extends Event {
public S27PacketExplosion packet;
public PreExplosionPacketEvent(S27PacketExplosion packet) {
this.packet = packet;
}
}

View File

@ -0,0 +1,18 @@
package keystrokesmod.event;
import net.minecraft.network.Packet;
import net.minecraftforge.fml.common.eventhandler.Cancelable;
import net.minecraftforge.fml.common.eventhandler.Event;
@Cancelable
public class ReceiveAllPacketsEvent extends Event {
private Packet<?> packet;
public ReceiveAllPacketsEvent(Packet<?> packet) {
this.packet = packet;
}
public Packet<?> getPacket() {
return packet;
}
}

View File

@ -0,0 +1,6 @@
package keystrokesmod.event;
import net.minecraftforge.fml.common.eventhandler.Event;
public class RunGameLoopEvent extends Event {
}

View File

@ -0,0 +1,18 @@
package keystrokesmod.event;
import net.minecraft.network.Packet;
import net.minecraftforge.fml.common.eventhandler.Cancelable;
import net.minecraftforge.fml.common.eventhandler.Event;
@Cancelable
public class SendAllPacketsEvent extends Event {
private Packet<?> packet;
public SendAllPacketsEvent(Packet<?> packet) {
this.packet = packet;
}
public Packet<?> getPacket() {
return packet;
}
}

View File

@ -1,6 +1,7 @@
package keystrokesmod.mixin.impl.accessor;
import net.minecraft.client.Minecraft;
import net.minecraft.network.NetworkManager;
import net.minecraft.util.Timer;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
@ -14,6 +15,9 @@ public interface IAccessorMinecraft {
@Accessor("timer")
Timer getTimer();
@Accessor("myNetworkManager")
NetworkManager getMyNetworkManager();
@Accessor("rightClickDelayTimer")
int getRightClickDelayTimer();

View File

@ -0,0 +1,12 @@
package keystrokesmod.mixin.impl.accessor;
import net.minecraft.network.INetHandler;
import net.minecraft.network.NetworkManager;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.gen.Accessor;
@Mixin(NetworkManager.class)
public interface IAccessorNetworkManager {
@Accessor("packetListener")
INetHandler getPacketListener();
}

View File

@ -1,12 +1,10 @@
package keystrokesmod.mixin.impl.client;
import keystrokesmod.event.*;
import net.minecraftforge.fml.common.eventhandler.Cancelable;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import org.objectweb.asm.Opcodes;
import keystrokesmod.event.GuiUpdateEvent;
import keystrokesmod.event.PreInputEvent;
import keystrokesmod.event.PreSlotScrollEvent;
import keystrokesmod.event.SlotUpdateEvent;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.GuiScreen;
import net.minecraft.entity.player.InventoryPlayer;
@ -58,4 +56,9 @@ public class MixinMinecraft {
}
inventoryPlayer.currentItem = slot;
}
@Inject(method = "runGameLoop", at= @At("HEAD"))
public void onRunGameLoop(CallbackInfo ci) {
MinecraftForge.EVENT_BUS.post(new RunGameLoopEvent());
}
}

View File

@ -1,8 +1,13 @@
package keystrokesmod.mixin.impl.network;
import keystrokesmod.event.PreEntityVelocityEvent;
import keystrokesmod.event.PreExplosionPacketEvent;
import keystrokesmod.module.ModuleManager;
import net.minecraft.client.network.NetHandlerPlayClient;
import net.minecraft.network.play.server.S08PacketPlayerPosLook;
import net.minecraft.network.play.server.S12PacketEntityVelocity;
import net.minecraft.network.play.server.S27PacketExplosion;
import net.minecraftforge.common.MinecraftForge;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
@ -20,4 +25,22 @@ public class MixinNetHandlerPlayClient {
public void handlePlayerPosLook(S08PacketPlayerPosLook packetIn, CallbackInfo ci) {
ModuleManager.noRotate.handlePlayerPosLook(packetIn);
}
@Inject(method = "handleEntityVelocity", at = @At("HEAD"), cancellable = true)
public void handleEntityVelocityInjection(S12PacketEntityVelocity packet, CallbackInfo ci) {
PreEntityVelocityEvent preEntityVelocityEvent = new PreEntityVelocityEvent(packet);
MinecraftForge.EVENT_BUS.post(preEntityVelocityEvent);
if (preEntityVelocityEvent.isCanceled()) {
ci.cancel();
}
}
@Inject(method = "handleExplosion", at = @At("HEAD"), cancellable = true)
public void handleExplosionInjection(S27PacketExplosion packet, CallbackInfo ci) {
PreExplosionPacketEvent event = new PreExplosionPacketEvent(packet);
MinecraftForge.EVENT_BUS.post(event);
if (event.isCanceled()) {
ci.cancel();
}
}
}

View File

@ -1,9 +1,7 @@
package keystrokesmod.mixin.impl.network;
import io.netty.channel.ChannelHandlerContext;
import keystrokesmod.event.NoEventPacketEvent;
import keystrokesmod.event.ReceivePacketEvent;
import keystrokesmod.event.SendPacketEvent;
import keystrokesmod.event.*;
import keystrokesmod.utility.PacketUtils;
import net.minecraft.network.NetworkManager;
import net.minecraft.network.Packet;
@ -16,6 +14,11 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
public class MixinNetworkManager {
@Inject(method = "sendPacket(Lnet/minecraft/network/Packet;)V", at = @At("HEAD"), cancellable = true)
public void sendPacket(Packet p_sendPacket_1_, CallbackInfo ci) {
SendAllPacketsEvent sendAllPacketsEvent = new SendAllPacketsEvent(p_sendPacket_1_);
net.minecraftforge.common.MinecraftForge.EVENT_BUS.post(sendAllPacketsEvent);
if (sendAllPacketsEvent.isCanceled()) {
ci.cancel();
}
if (PacketUtils.skipSendEvent.contains(p_sendPacket_1_)) {
PacketUtils.skipSendEvent.remove(p_sendPacket_1_);
net.minecraftforge.common.MinecraftForge.EVENT_BUS.post(new NoEventPacketEvent(p_sendPacket_1_));
@ -32,6 +35,11 @@ public class MixinNetworkManager {
@Inject(method = "channelRead0(Lio/netty/channel/ChannelHandlerContext;Lnet/minecraft/network/Packet;)V", at = @At("HEAD"), cancellable = true)
public void receivePacket(ChannelHandlerContext p_channelRead0_1_, Packet p_channelRead0_2_, CallbackInfo ci) {
ReceiveAllPacketsEvent receiveAllPacketsEvent = new ReceiveAllPacketsEvent(p_channelRead0_2_);
net.minecraftforge.common.MinecraftForge.EVENT_BUS.post(receiveAllPacketsEvent);
if (receiveAllPacketsEvent.isCanceled()) {
ci.cancel();
}
if (PacketUtils.skipReceiveEvent.contains(p_channelRead0_2_)) {
PacketUtils.skipReceiveEvent.remove(p_channelRead0_2_);
return;

View File

@ -4,6 +4,7 @@ import keystrokesmod.Raven;
import keystrokesmod.clickgui.ClickGui;
import keystrokesmod.event.*;
import keystrokesmod.mixin.impl.accessor.IAccessorMinecraft;
import keystrokesmod.mixin.impl.accessor.IAccessorNetworkManager;
import keystrokesmod.module.Module;
import keystrokesmod.module.ModuleManager;
import keystrokesmod.module.impl.client.Settings;
@ -29,6 +30,10 @@ 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.*;
import net.minecraft.network.play.server.S12PacketEntityVelocity;
import net.minecraft.network.play.server.S14PacketEntity;
import net.minecraft.network.play.server.S19PacketEntityHeadLook;
import net.minecraft.network.play.server.S27PacketExplosion;
import net.minecraft.util.*;
import net.minecraftforge.client.event.MouseEvent;
import net.minecraftforge.event.entity.EntityJoinWorldEvent;
@ -71,9 +76,7 @@ public class KillAura extends Module {
private ButtonSetting silentSwing;
private ButtonSetting weaponOnly;
private String[] autoBlockModes = new String[] { "Manual", "Vanilla", "Partial", "Interact A", "Interact B" };
private String[] interactAModes = new String[] { "10", "9.5" };
private String[] interactBModes = new String[] { "10", "9.5" };
private String[] autoBlockModes = new String[] { "Manual", "Vanilla", "Partial", "Via A", "Via B" };
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" };
@ -98,14 +101,14 @@ public class KillAura extends Module {
private boolean firstCycle = true;
private boolean partialDown;
private int partialTicks;
private int firstEdge, firstGyatt;
private int cycleCount2, cycleCount1;
private int unBlockDelay;
private boolean canBlockServerside;
private boolean checkUsing;
// blink related
private ConcurrentLinkedQueue<Packet> blinkedPackets = new ConcurrentLinkedQueue<>();
private AtomicBoolean blinking = new AtomicBoolean(false);
public AtomicBoolean blinking = new AtomicBoolean(false);
public boolean lag;
public boolean swapped;
@ -133,8 +136,6 @@ public class KillAura extends Module {
super("KillAura", category.combat);
this.registerSetting(aps = new SliderSetting("APS", 16.0, 1.0, 20.0, 0.5));
this.registerSetting(autoBlockMode = new SliderSetting("Autoblock", 0, autoBlockModes));
this.registerSetting(interactA = new SliderSetting("Interact mode", " aps", 0, interactAModes));
this.registerSetting(interactB = new SliderSetting("Interact mode", " aps", 0, interactBModes));
this.registerSetting(fov = new SliderSetting("FOV", 360.0, 30.0, 360.0, 4.0));
this.registerSetting(attackRange = new SliderSetting("Range (attack)", 3.0, 3.0, 6.0, 0.05));
this.registerSetting(swingRange = new SliderSetting("Range (swing)", 3.3, 3.0, 8.0, 0.05));
@ -159,11 +160,6 @@ public class KillAura extends Module {
this.registerSetting(weaponOnly = new ButtonSetting("Weapon only", false));
}
public void guiUpdate() {
this.interactA.setVisible(autoBlockMode.getInput() == 3, this);
this.interactB.setVisible(autoBlockMode.getInput() == 4, this);
}
@Override
public String getInfo() {
if (rotationMode.getInput() == 2) { // None, return FOV if rotation mode is none
@ -187,7 +183,7 @@ public class KillAura extends Module {
resetBlinkState(true);
}
blinking.set(false);
interactTicks = firstEdge = 0;
interactTicks = cycleCount1 = cycleCount2 = 0;
setTarget(null);
if (rotated || reset) {
resetYaw();
@ -211,10 +207,10 @@ public class KillAura extends Module {
}
if (target == null || !manualBlock() && manualBlock.isToggled()) {
if (ModuleUtils.swapTick == 0 && !ModuleUtils.isBlocked) {
interactTicks = firstEdge = 1;
interactTicks = cycleCount2 = 1;
}
else {
interactTicks = firstEdge = 0;
interactTicks = cycleCount2 = 0;
}
}
if (target != null && Utils.holdingSword()) {
@ -425,7 +421,7 @@ public class KillAura extends Module {
}
}
}
if (blinking.get() && !e.isCanceled()) { // blink
if (blinking.get() && !e.isCanceled()) {
if (packet instanceof C00PacketLoginStart || packet instanceof C00Handshake) {
return;
}
@ -921,178 +917,101 @@ public class KillAura extends Module {
break;
}
break;
case 3: // interact a
switch ((int) interactA.getInput()) {
case 0:
getInteractA0(distance, swung);
break;
case 3: // via a
if (interactTicks >= 3) {
interactTicks = 0;
}
interactTicks++;
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;
}
}
break;
case 2:
if (swapped) {
setCurrentSlot();
swapped = false;
}
handleInteractAndAttack(distance, true, true, swung);
sendBlockPacket();
releasePackets(); // release
interactTicks = 0;
++cycleCount2;
if (cycleCount2 > 5) {
firstCycle = false;
cycleCount2 = 0;
}
break;
}
}
else {
switch (interactTicks) {
case 1:
if (ModuleUtils.isBlocked) {
setSwapSlot();
swapped = true;
}
break;
case 2:
if (swapped) {
setCurrentSlot();
swapped = false;
}
handleInteractAndAttack(distance, true, true, swung);
sendBlockPacket();
releasePackets(); // release
break;
case 3:
firstCycle = true;
interactTicks = 0;
break;
}
}
break;
case 4: // via b
interactTicks++;
switch (interactTicks) {
case 1:
getInteractA1(distance, swung);
blinking.set(true);
if (ModuleUtils.isBlocked) {
setSwapSlot();
swapped = true;
}
break;
}
break;
case 4: // interact b
switch ((int) interactB.getInput()) {
case 0:
getInteractB0(distance, swung);
case 2:
if (swapped) {
setCurrentSlot();
swapped = false;
}
handleInteractAndAttack(distance, true, true, swung);
sendBlockPacket();
if (++cycleCount2 > 1) {
interactTicks = 0;
}
else {
releasePackets(); // release
}
break;
case 1:
getInteractB1(distance, swung);
break;
}
break;
}
}
private void getInteractA0(double distance, boolean swung) {
if (interactTicks >= 2) {
interactTicks = 0;
}
interactTicks++;
switch (interactTicks) {
case 1:
blinking.set(true);
if (ModuleUtils.isBlocked) {
sendUnBlockPacket();
}
break;
case 2:
handleInteractAndAttack(distance, true, true, swung);
sendBlockPacket();
releasePackets(); // release
break;
}
}
private void getInteractA1(double distance, boolean swung) {
if (interactTicks >= 3) {
interactTicks = 0;
}
interactTicks++;
if (firstCycle) {
switch (interactTicks) {
case 1:
blinking.set(true);
if (ModuleUtils.isBlocked) {
sendUnBlockPacket();
}
break;
case 2:
handleInteractAndAttack(distance, true, true, swung);
sendBlockPacket();
releasePackets(); // release
interactTicks = 0;
firstCycle = false;
break;
}
}
else {
switch (interactTicks) {
case 1:
blinking.set(true);
if (ModuleUtils.isBlocked) {
setSwapSlot();
swapped = true;
}
break;
case 2:
if (swapped) {
setCurrentSlot();
swapped = false;
}
handleInteractAndAttack(distance, true, true, swung);
sendBlockPacket();
releasePackets(); // release
firstCycle = true;
interactTicks = 0;
break;
}
}
}
private void getInteractB0(double distance, boolean swung) {
if (interactTicks >= 2) {
interactTicks = 0;
}
interactTicks++;
switch (interactTicks) {
case 1:
blinking.set(true);
if (ModuleUtils.isBlocked) {
setSwapSlot();
swapped = true;
}
break;
case 2:
if (swapped) {
setCurrentSlot();
swapped = false;
}
handleInteractAndAttack(distance, true, true, swung);
sendBlockPacket();
releasePackets(); // release
break;
}
}
private void getInteractB1(double distance, boolean swung) {
if (interactTicks >= 3) {
interactTicks = 0;
}
interactTicks++;
if (firstCycle) {
switch (interactTicks) {
case 1:
blinking.set(true);
if (ModuleUtils.isBlocked) {
setSwapSlot();
swapped = true;
}
break;
case 2:
if (swapped) {
setCurrentSlot();
swapped = false;
}
handleInteractAndAttack(distance, true, true, swung);
sendBlockPacket();
releasePackets(); // release
interactTicks = 0;
++firstEdge;
if (firstEdge > 5) {
case 3:
releasePackets(); // release
interactTicks = 0;
firstCycle = false;
firstEdge = 0;
}
break;
}
}
else {
switch (interactTicks) {
case 1:
blinking.set(true);
if (ModuleUtils.isBlocked) {
setSwapSlot();
swapped = true;
}
break;
case 2:
if (swapped) {
setCurrentSlot();
swapped = false;
}
handleInteractAndAttack(distance, true, true, swung);
sendBlockPacket();
releasePackets(); // release
break;
case 3:
firstCycle = true;
interactTicks = 0;
break;
}
break;
}
break;
}
}
@ -1367,7 +1286,6 @@ public class KillAura extends Module {
for (Packet packet : blinkedPackets) {
Raven.packetsHandler.handlePacket(packet);
PacketUtils.sendPacketNoEvent(packet);
//Utils.print("blink packets");
}
}
}

View File

@ -1,24 +1,29 @@
package keystrokesmod.module.impl.combat;
import keystrokesmod.Raven;
import keystrokesmod.event.PreMotionEvent;
import keystrokesmod.event.PreUpdateEvent;
import keystrokesmod.event.ReceiveAllPacketsEvent;
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.setting.impl.ButtonSetting;
import keystrokesmod.module.setting.impl.KeySetting;
import keystrokesmod.module.setting.impl.SliderSetting;
import keystrokesmod.utility.PacketUtils;
import keystrokesmod.utility.Utils;
import keystrokesmod.utility.ModuleUtils;
import net.minecraft.network.Packet;
import net.minecraft.network.play.client.C08PacketPlayerBlockPlacement;
import net.minecraft.network.play.server.S12PacketEntityVelocity;
import net.minecraft.network.play.server.S27PacketExplosion;
import net.minecraftforge.fml.common.eventhandler.EventPriority;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent;
import org.lwjgl.input.Keyboard;
import java.util.concurrent.ConcurrentLinkedQueue;
public class Velocity extends Module {
public SliderSetting velocityModes;
public static SliderSetting vertical, horizontal, reverseHorizontal, explosionsHorizontal, explosionsVertical;
@ -27,7 +32,7 @@ public class Velocity extends Module {
private ButtonSetting onlyWhileAttacking;
private ButtonSetting onlyWhileTargeting;
private ButtonSetting disableS;
private ButtonSetting zzWhileNotTargeting;
private ButtonSetting zzWhileNotTargeting, delayPacket;
public ButtonSetting allowSelfFireball;
public static ButtonSetting reverseDebug;
private KeySetting switchToReverse, switchToPacket;
@ -111,8 +116,8 @@ public class Velocity extends Module {
}
}
@SubscribeEvent
public void onReceivePacket(ReceivePacketEvent e) {
@SubscribeEvent(priority = EventPriority.LOWEST)
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())) {
return;
@ -204,6 +209,9 @@ public class Velocity extends Module {
if (onlyWhileAttacking.isToggled() && !ModuleUtils.isAttacking) {
return;
}
if (dontEditMotion()) {
return;
}
if (onlyWhileTargeting.isToggled() && (mc.objectMouseOver == null || mc.objectMouseOver.entityHit == null)) {
return;
}
@ -231,10 +239,22 @@ public class Velocity extends Module {
}
private boolean dontEditMotion() {
if (zzWhileNotTargeting.isToggled() && !ModuleManager.killAura.isTargeting) {
if (velocityModes.getInput() == 1 && zzWhileNotTargeting.isToggled() && !ModuleManager.killAura.isTargeting) {
return true;
}
return false;
}
private boolean blinkModules() {
if (ModuleManager.killAura.isEnabled() && ModuleManager.killAura.blinking.get()) {
return true;
}
if (ModuleManager.blink.isEnabled() && ModuleManager.blink.started) {
return true;
}
if (ModuleManager.antiVoid.isEnabled() && ModuleManager.antiVoid.started) {
return true;
}
return false;
}

View File

@ -41,20 +41,7 @@ public class InvMove extends Module {
}
@SubscribeEvent
public void onSendPacketNoEvent(NoEventPacketEvent e) {
if (!Utils.nullCheck()) {
return;
}
if (e.getPacket() instanceof C0EPacketClickWindow) {
if (modes.getInput() == 1) {
stopMoving = true;
ticks = 0;
}
}
}
@SubscribeEvent
public void onSendPacket(SendPacketEvent e) {
public void onSendPacketAll(SendAllPacketsEvent e) {
if (!Utils.nullCheck()) {
return;
}

View File

@ -272,7 +272,7 @@ public class LongJump extends Module {
return;
}
if (ev.phase == TickEvent.Phase.END) {
if (mc.currentScreen != null || !renderFloatProgress.isToggled() || mode.getInput() != 0) {
if (mc.currentScreen != null || !renderFloatProgress.isToggled() || mode.getInput() != 0 || !function) {
return;
}
}
@ -343,12 +343,19 @@ public class LongJump extends Module {
}
}
@SubscribeEvent
public void onPostPlayerInput(PostPlayerInputEvent e) {
if (!function) {
return;
}
mc.thePlayer.movementInput.jump = false;
}
@SubscribeEvent(priority = EventPriority.LOWEST) // called last in order to apply fix
public void onMoveInput(PrePlayerInputEvent e) {
if (!function) {
return;
}
mc.thePlayer.movementInput.jump = false;
if (rotateTick > 0 || fireballTime > 0) {
if (Utils.isMoving()) e.setForward(1);
e.setStrafe(0);
@ -420,6 +427,7 @@ public class LongJump extends Module {
boostTicks = -1;
resetSlot();
enabled = function = notMoving = stopVelocity = stopModules = swapped = false;
filledWidth = 0;
if (!manual.isToggled()) {
disable();
}

View File

@ -2,6 +2,7 @@ package keystrokesmod.module.impl.player;
import keystrokesmod.Raven;
import keystrokesmod.event.PreUpdateEvent;
import keystrokesmod.event.ReceivePacketEvent;
import keystrokesmod.event.SendPacketEvent;
import keystrokesmod.module.Module;
import keystrokesmod.module.ModuleManager;
@ -18,6 +19,8 @@ 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.C0FPacketConfirmTransaction;
import net.minecraft.network.play.server.S12PacketEntityVelocity;
import net.minecraft.util.AxisAlignedBB;
import net.minecraft.util.Vec3;
import net.minecraftforge.client.event.RenderWorldLastEvent;
@ -65,14 +68,14 @@ public class AntiVoid extends Module {
wait = false;
return;
}
if (!started && (Utils.isReplay() || Utils.isBedwarsPractice() && disablePractice.isToggled())) {
if (!started && (Utils.isReplay() || Utils.spectatorCheck() || Utils.isBedwarsPractice() && disablePractice.isToggled())) {
return;
}
if (packet.getClass().getSimpleName().startsWith("S")) {
return;
}
if (ModuleManager.killAura.isTargeting || ModuleManager.killAura.justUnTargeted) {
return;
//return;
}
if (wait) {
return;
@ -147,11 +150,13 @@ public class AntiVoid extends Module {
started = false;
}
private boolean dist() {
public boolean dist() {
double minMotion = 0.06;
// 1x1
int dist1 = 2;
int dist2 = 4;
int dist3 = 6;
int dist4 = 8;
// 1x1
if (Utils.distanceToGround(mc.thePlayer, (int) mc.thePlayer.posX, (int) mc.thePlayer.posZ) > dist1) {
return true;
@ -199,8 +204,6 @@ public class AntiVoid extends Module {
// 2x2
int dist2 = 5;
if (Utils.distanceToGround(mc.thePlayer, (int) mc.thePlayer.posX - 2, (int) mc.thePlayer.posZ) > dist2) {
if (mc.thePlayer.motionX <= -minMotion) {
return true;
@ -264,8 +267,6 @@ public class AntiVoid extends Module {
// 3x3
int dist3 = 9;
if (Utils.distanceToGround(mc.thePlayer, (int) mc.thePlayer.posX + 3, (int) mc.thePlayer.posZ) > dist3) {
if (mc.thePlayer.motionX >= minMotion) {
return true;
@ -389,8 +390,6 @@ public class AntiVoid extends Module {
// 4x4
int dist4 = 16;
if (Utils.distanceToGround(mc.thePlayer, (int) mc.thePlayer.posX + 4, (int) mc.thePlayer.posZ) > dist4) {
if (mc.thePlayer.motionX >= minMotion) {
return true;

View File

@ -2,9 +2,12 @@ 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;
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.DescriptionSetting;
@ -23,6 +26,7 @@ import net.minecraft.network.login.client.C01PacketEncryptionResponse;
import net.minecraft.network.play.client.C00PacketKeepAlive;
import net.minecraft.network.play.client.C02PacketUseEntity;
import net.minecraft.network.play.client.C0FPacketConfirmTransaction;
import net.minecraft.network.play.server.*;
import net.minecraft.network.status.client.C00PacketServerQuery;
import net.minecraft.network.status.client.C01PacketPing;
import net.minecraft.util.AxisAlignedBB;
@ -33,6 +37,7 @@ import net.minecraftforge.fml.common.gameevent.TickEvent;
import org.lwjgl.opengl.GL11;
import java.awt.*;
import java.util.Objects;
import java.util.concurrent.ConcurrentLinkedQueue;
import static keystrokesmod.module.impl.render.HUD.theme;
@ -47,7 +52,8 @@ public class Blink extends Module {
//final private int color = Theme.getGradient((int) theme.getInput(), 255);
private int color = new Color(0, 187, 255, 255).getRGB();
private int blinkTicks;
private boolean started;
public boolean started;
public Blink() {
super("Blink", category.player);
this.registerSetting(maximumBlinkTicks = new SliderSetting("Max Blink Ticks", "", 0, 0, 40, 1));

View File

@ -6,6 +6,7 @@ import keystrokesmod.module.ModuleManager;
import keystrokesmod.module.impl.render.HUD;
import keystrokesmod.module.setting.impl.ButtonSetting;
import keystrokesmod.module.setting.impl.SliderSetting;
import keystrokesmod.utility.ModuleUtils;
import keystrokesmod.utility.RenderUtils;
import keystrokesmod.utility.Theme;
import keystrokesmod.utility.Utils;
@ -27,7 +28,6 @@ public class Disabler extends Module {
int tickCounter = 0;
boolean waitingForGround = false;
int airTicks = 0;
boolean applyingMotion = false;
int stateTickCounter = 0;
boolean warningDisplayed = false;
@ -53,7 +53,7 @@ public class Disabler extends Module {
public Disabler() {
super("Disabler", Module.category.player);
this.registerSetting(disablerTicks = new SliderSetting("Ticks", "", 150, 110, 150, 5));
this.registerSetting(disablerTicks = new SliderSetting("Ticks", "", 150, 85, 150, 5));
this.registerSetting(activationDelay = new SliderSetting("Activation delay", " seconds", 0, 0, 4, 0.5));
}
@ -71,7 +71,6 @@ public class Disabler extends Module {
private void resetState() {
shouldRun = true;
tickCounter = 0;
airTicks = 0;
applyingMotion = false;
waitingForGround = true;
stateTickCounter = 0;
@ -112,16 +111,15 @@ public class Disabler extends Module {
if ((now - lobbyTime) < activationDelayMillis) {
return;
}
if (waitingForGround) {
if (!running) {
savedYaw = e.getYaw();
savedPitch = e.getPitch();
if (!running) {
//mc.thePlayer.motionY = 0;
}
running = true;
}
e.setRotations(savedYaw, savedPitch);
if (waitingForGround) {
/*if (mc.thePlayer.ticksExisted <= 3) {
mc.thePlayer.motionY = 0.42f;
waitingForGround = false;
worldJoin = true;
}
@ -130,13 +128,10 @@ public class Disabler extends Module {
waitingForGround = false;
worldJoin = false;
}
e.setRotations(savedYaw, savedPitch);
return;
}
e.setRotations(savedYaw, savedPitch);
airTicks = mc.thePlayer.onGround ? 0 : airTicks + 1;
if (airTicks >= 10 || worldJoin) {
if (ModuleUtils.inAirTicks >= 10 || worldJoin) {
if (!applyingMotion) {
applyingMotion = true;
firstY = mc.thePlayer.posY;
@ -166,9 +161,6 @@ public class Disabler extends Module {
if (mc.thePlayer.ticksExisted % 2 == 0) {
e.setPosZ(e.getPosZ() + 0.075);
e.setPosX(e.getPosX() + 0.075);
e.setPosY(e.getPosY() + 0.075);
//e.setYaw(e.getYaw() + 8);
}
tickCounter++;

View File

@ -31,7 +31,7 @@ public class NoFall extends Module {
public SliderSetting mode;
private SliderSetting minFallDistance;
private ButtonSetting disableAdventure;
private ButtonSetting ignoreVoid;
private ButtonSetting ignoreVoid, voidC;
private ButtonSetting hideSound;
private String[] modes = new String[]{"Spoof", "NoGround", "Packet A", "Packet B", "CTW Packet", "Prediction"};
@ -47,7 +47,8 @@ public class NoFall extends Module {
this.registerSetting(mode = new SliderSetting("Mode", 2, modes));
this.registerSetting(disableAdventure = new ButtonSetting("Disable adventure", false));
this.registerSetting(minFallDistance = new SliderSetting("Minimum fall distance", 3, 0, 10, 0.1));
this.registerSetting(ignoreVoid = new ButtonSetting("Ignore void", true));
this.registerSetting(ignoreVoid = new ButtonSetting("Ignore void", false));
this.registerSetting(voidC = new ButtonSetting("Experimental void check", true));
//this.registerSetting(hideSound = new ButtonSetting("Hide fall damage sound", false));
}
@ -138,10 +139,10 @@ public class NoFall extends Module {
Utils.resetTimer();
if (mc.thePlayer.ticksExisted % 2 == 0) {
if (mc.thePlayer.motionY < -0.01) {
timerVal = 0.65;
timerVal = 0.64;
}
if (mc.thePlayer.motionY < -1.0) {
timerVal = 0.54;
timerVal = 0.53;
}
if (mc.thePlayer.motionY < -1.6) {
timerVal = 0.46;
@ -228,6 +229,407 @@ public class NoFall extends Module {
if (mc.thePlayer.capabilities.isFlying) {
return true;
}
if (voidC.isToggled() && Utils.overVoid(mc.thePlayer.posX, mc.thePlayer.posY, mc.thePlayer.posZ) && !dist()) {
return true;
}
return false;
}
public boolean dist() {
double minMotion = 0.06;
// 1x1
int dist1 = 0;
int dist2 = 1;
int dist3 = 2;
int dist4 = 4;
if (Utils.distanceToGround(mc.thePlayer, (int) mc.thePlayer.posX, (int) mc.thePlayer.posZ) > dist1) {
return true;
}
if (Utils.distanceToGround(mc.thePlayer, (int) mc.thePlayer.posX - 1, (int) mc.thePlayer.posZ) > dist1) {
if (mc.thePlayer.motionX <= -minMotion) {
return true;
}
}
if (Utils.distanceToGround(mc.thePlayer, (int) mc.thePlayer.posX + 1, (int) mc.thePlayer.posZ) > dist1) {
if (mc.thePlayer.motionX >= minMotion) {
return true;
}
}
if (Utils.distanceToGround(mc.thePlayer, (int) mc.thePlayer.posX, (int) mc.thePlayer.posZ - 1) > dist1) {
if (mc.thePlayer.motionZ <= -minMotion) {
return true;
}
}
if (Utils.distanceToGround(mc.thePlayer, (int) mc.thePlayer.posX, (int) mc.thePlayer.posZ + 1) > dist1) {
if (mc.thePlayer.motionZ >= minMotion) {
return true;
}
}
if (Utils.distanceToGround(mc.thePlayer, (int) mc.thePlayer.posX - 1, (int) mc.thePlayer.posZ - 1) > dist1) {
if (mc.thePlayer.motionX <= -minMotion && mc.thePlayer.motionZ <= -minMotion) {
return true;
}
}
if (Utils.distanceToGround(mc.thePlayer, (int) mc.thePlayer.posX + 1, (int) mc.thePlayer.posZ + 1) > dist1) {
if (mc.thePlayer.motionX >= minMotion && mc.thePlayer.motionZ >= minMotion) {
return true;
}
}
if (Utils.distanceToGround(mc.thePlayer, (int) mc.thePlayer.posX - 1, (int) mc.thePlayer.posZ + 1) > dist1) {
if (mc.thePlayer.motionX <= -minMotion) {
return true;
}
}
if (Utils.distanceToGround(mc.thePlayer, (int) mc.thePlayer.posX + 1, (int) mc.thePlayer.posZ - 1) > dist1) {
if (mc.thePlayer.motionX >= minMotion) {
return true;
}
}
// 2x2
if (Utils.distanceToGround(mc.thePlayer, (int) mc.thePlayer.posX - 2, (int) mc.thePlayer.posZ) > dist2) {
if (mc.thePlayer.motionX <= -minMotion) {
return true;
}
}
if (Utils.distanceToGround(mc.thePlayer, (int) mc.thePlayer.posX + 2, (int) mc.thePlayer.posZ) > dist2) {
if (mc.thePlayer.motionX >= minMotion) {
return true;
}
}
if (Utils.distanceToGround(mc.thePlayer, (int) mc.thePlayer.posX, (int) mc.thePlayer.posZ - 2) > dist2) {
if (mc.thePlayer.motionZ <= -minMotion) {
return true;
}
}
if (Utils.distanceToGround(mc.thePlayer, (int) mc.thePlayer.posX, (int) mc.thePlayer.posZ + 2) > dist2) {
if (mc.thePlayer.motionZ >= minMotion) {
return true;
}
}
if (Utils.distanceToGround(mc.thePlayer, (int) mc.thePlayer.posX + 2, (int) mc.thePlayer.posZ - 1) > dist2) {
if (mc.thePlayer.motionX >= minMotion) {
return true;
}
}
if (Utils.distanceToGround(mc.thePlayer, (int) mc.thePlayer.posX + 1, (int) mc.thePlayer.posZ - 2) > dist2) {
if (mc.thePlayer.motionZ <= -minMotion) {
return true;
}
}
if (Utils.distanceToGround(mc.thePlayer, (int) mc.thePlayer.posX - 2, (int) mc.thePlayer.posZ + 1) > dist2) {
if (mc.thePlayer.motionX <= -minMotion) {
return true;
}
}
if (Utils.distanceToGround(mc.thePlayer, (int) mc.thePlayer.posX - 1, (int) mc.thePlayer.posZ + 2) > dist2) {
if (mc.thePlayer.motionZ >= minMotion) {
return true;
}
}
if (Utils.distanceToGround(mc.thePlayer, (int) mc.thePlayer.posX + 2, (int) mc.thePlayer.posZ - 2) > dist2) {
if (mc.thePlayer.motionX >= minMotion) {
return true;
}
}
if (Utils.distanceToGround(mc.thePlayer, (int) mc.thePlayer.posX + 2, (int) mc.thePlayer.posZ - 2) > dist2) {
if (mc.thePlayer.motionX >= minMotion) {
return true;
}
}
if (Utils.distanceToGround(mc.thePlayer, (int) mc.thePlayer.posX + 2, (int) mc.thePlayer.posZ + 2) > dist2) {
if (mc.thePlayer.motionX >= minMotion && mc.thePlayer.motionZ >= minMotion) {
return true;
}
}
if (Utils.distanceToGround(mc.thePlayer, (int) mc.thePlayer.posX - 2, (int) mc.thePlayer.posZ - 2) > dist2) {
if (mc.thePlayer.motionX <= -minMotion && mc.thePlayer.motionZ <= -minMotion) {
return true;
}
}
// 3x3
if (Utils.distanceToGround(mc.thePlayer, (int) mc.thePlayer.posX + 3, (int) mc.thePlayer.posZ) > dist3) {
if (mc.thePlayer.motionX >= minMotion) {
return true;
}
}
if (Utils.distanceToGround(mc.thePlayer, (int) mc.thePlayer.posX - 3, (int) mc.thePlayer.posZ) > dist3) {
if (mc.thePlayer.motionX <= -minMotion) {
return true;
}
}
if (Utils.distanceToGround(mc.thePlayer, (int) mc.thePlayer.posX, (int) mc.thePlayer.posZ + 3) > dist3) {
if (mc.thePlayer.motionZ >= minMotion) {
return true;
}
}
if (Utils.distanceToGround(mc.thePlayer, (int) mc.thePlayer.posX, (int) mc.thePlayer.posZ - 3) > dist3) {
if (mc.thePlayer.motionZ <= -minMotion) {
return true;
}
}
if (Utils.distanceToGround(mc.thePlayer, (int) mc.thePlayer.posX + 3, (int) mc.thePlayer.posZ - 3) > dist3) {
if (mc.thePlayer.motionX >= minMotion) {
return true;
}
}
if (Utils.distanceToGround(mc.thePlayer, (int) mc.thePlayer.posX - 3, (int) mc.thePlayer.posZ + 3) > dist3) {
if (mc.thePlayer.motionX <= -minMotion) {
return true;
}
}
if (Utils.distanceToGround(mc.thePlayer, (int) mc.thePlayer.posX + 3, (int) mc.thePlayer.posZ + 3) > dist3) {
if (mc.thePlayer.motionX >= minMotion && mc.thePlayer.motionZ >= minMotion) {
return true;
}
}
if (Utils.distanceToGround(mc.thePlayer, (int) mc.thePlayer.posX - 3, (int) mc.thePlayer.posZ - 3) > dist3) {
if (mc.thePlayer.motionX <= -minMotion && mc.thePlayer.motionZ <= -minMotion) {
return true;
}
}
if (Utils.distanceToGround(mc.thePlayer, (int) mc.thePlayer.posX + 3, (int) mc.thePlayer.posZ + 1) > dist3) {
if (mc.thePlayer.motionX >= minMotion) {
return true;
}
}
if (Utils.distanceToGround(mc.thePlayer, (int) mc.thePlayer.posX + 3, (int) mc.thePlayer.posZ + 2) > dist3) {
if (mc.thePlayer.motionX >= minMotion) {
return true;
}
}
if (Utils.distanceToGround(mc.thePlayer, (int) mc.thePlayer.posX + 1, (int) mc.thePlayer.posZ + 3) > dist3) {
if (mc.thePlayer.motionZ >= minMotion) {
return true;
}
}
if (Utils.distanceToGround(mc.thePlayer, (int) mc.thePlayer.posX + 2, (int) mc.thePlayer.posZ + 3) > dist3) {
if (mc.thePlayer.motionZ >= minMotion) {
return true;
}
}
if (Utils.distanceToGround(mc.thePlayer, (int) mc.thePlayer.posX - 3, (int) mc.thePlayer.posZ - 1) > dist3) {
if (mc.thePlayer.motionX <= -minMotion) {
return true;
}
}
if (Utils.distanceToGround(mc.thePlayer, (int) mc.thePlayer.posX - 3, (int) mc.thePlayer.posZ - 2) > dist3) {
if (mc.thePlayer.motionX <= -minMotion) {
return true;
}
}
if (Utils.distanceToGround(mc.thePlayer, (int) mc.thePlayer.posX - 1, (int) mc.thePlayer.posZ - 3) > dist3) {
if (mc.thePlayer.motionZ <= -minMotion) {
return true;
}
}
if (Utils.distanceToGround(mc.thePlayer, (int) mc.thePlayer.posX - 2, (int) mc.thePlayer.posZ - 3) > dist3) {
if (mc.thePlayer.motionZ <= -minMotion) {
return true;
}
}
if (Utils.distanceToGround(mc.thePlayer, (int) mc.thePlayer.posX + 3, (int) mc.thePlayer.posZ - 1) > dist3) {
if (mc.thePlayer.motionX >= minMotion) {
return true;
}
}
if (Utils.distanceToGround(mc.thePlayer, (int) mc.thePlayer.posX + 3, (int) mc.thePlayer.posZ - 2) > dist3) {
if (mc.thePlayer.motionX >= minMotion) {
return true;
}
}
if (Utils.distanceToGround(mc.thePlayer, (int) mc.thePlayer.posX + 1, (int) mc.thePlayer.posZ - 3) > dist3) {
if (mc.thePlayer.motionZ <= -minMotion) {
return true;
}
}
if (Utils.distanceToGround(mc.thePlayer, (int) mc.thePlayer.posX + 2, (int) mc.thePlayer.posZ - 3) > dist3) {
if (mc.thePlayer.motionZ <= -minMotion) {
return true;
}
}
if (Utils.distanceToGround(mc.thePlayer, (int) mc.thePlayer.posX - 3, (int) mc.thePlayer.posZ + 1) > dist3) {
if (mc.thePlayer.motionX <= -minMotion) {
return true;
}
}
if (Utils.distanceToGround(mc.thePlayer, (int) mc.thePlayer.posX - 3, (int) mc.thePlayer.posZ + 2) > dist3) {
if (mc.thePlayer.motionX <= -minMotion) {
return true;
}
}
if (Utils.distanceToGround(mc.thePlayer, (int) mc.thePlayer.posX - 1, (int) mc.thePlayer.posZ + 3) > dist3) {
if (mc.thePlayer.motionZ >= minMotion) {
return true;
}
}
if (Utils.distanceToGround(mc.thePlayer, (int) mc.thePlayer.posX - 2, (int) mc.thePlayer.posZ + 3) > dist3) {
if (mc.thePlayer.motionZ >= minMotion) {
return true;
}
}
// 4x4
if (Utils.distanceToGround(mc.thePlayer, (int) mc.thePlayer.posX + 4, (int) mc.thePlayer.posZ) > dist4) {
if (mc.thePlayer.motionX >= minMotion) {
return true;
}
}
if (Utils.distanceToGround(mc.thePlayer, (int) mc.thePlayer.posX - 4, (int) mc.thePlayer.posZ) > dist4) {
if (mc.thePlayer.motionX <= -minMotion) {
return true;
}
}
if (Utils.distanceToGround(mc.thePlayer, (int) mc.thePlayer.posX, (int) mc.thePlayer.posZ + 4) > dist4) {
if (mc.thePlayer.motionZ >= minMotion) {
return true;
}
}
if (Utils.distanceToGround(mc.thePlayer, (int) mc.thePlayer.posX, (int) mc.thePlayer.posZ - 4) > dist4) {
if (mc.thePlayer.motionZ <= -minMotion) {
return true;
}
}
if (Utils.distanceToGround(mc.thePlayer, (int) mc.thePlayer.posX + 4, (int) mc.thePlayer.posZ + 4) > dist4) {
if (mc.thePlayer.motionX >= minMotion && mc.thePlayer.motionZ >= minMotion) {
return true;
}
}
if (Utils.distanceToGround(mc.thePlayer, (int) mc.thePlayer.posX - 4, (int) mc.thePlayer.posZ - 4) > dist4) {
if (mc.thePlayer.motionX <= -minMotion && mc.thePlayer.motionZ <= -minMotion) {
return true;
}
}
if (Utils.distanceToGround(mc.thePlayer, (int) mc.thePlayer.posX - 4, (int) mc.thePlayer.posZ + 4) > dist4) {
if (mc.thePlayer.motionX <= -minMotion) {
return true;
}
}
if (Utils.distanceToGround(mc.thePlayer, (int) mc.thePlayer.posX + 4, (int) mc.thePlayer.posZ - 4) > dist4) {
if (mc.thePlayer.motionX >= minMotion) {
return true;
}
}
if (Utils.distanceToGround(mc.thePlayer, (int) mc.thePlayer.posX + 4, (int) mc.thePlayer.posZ + 3) > dist4) {
if (mc.thePlayer.motionX >= minMotion) {
return true;
}
}
if (Utils.distanceToGround(mc.thePlayer, (int) mc.thePlayer.posX + 4, (int) mc.thePlayer.posZ + 2) > dist4) {
if (mc.thePlayer.motionX >= minMotion) {
return true;
}
}
if (Utils.distanceToGround(mc.thePlayer, (int) mc.thePlayer.posX + 4, (int) mc.thePlayer.posZ + 1) > dist4) {
if (mc.thePlayer.motionX >= minMotion) {
return true;
}
}
if (Utils.distanceToGround(mc.thePlayer, (int) mc.thePlayer.posX + 3, (int) mc.thePlayer.posZ + 4) > dist4) {
if (mc.thePlayer.motionZ >= minMotion) {
return true;
}
}
if (Utils.distanceToGround(mc.thePlayer, (int) mc.thePlayer.posX + 2, (int) mc.thePlayer.posZ + 4) > dist4) {
if (mc.thePlayer.motionZ >= minMotion) {
return true;
}
}
if (Utils.distanceToGround(mc.thePlayer, (int) mc.thePlayer.posX + 1, (int) mc.thePlayer.posZ + 4) > dist4) {
if (mc.thePlayer.motionZ >= minMotion) {
return true;
}
}
if (Utils.distanceToGround(mc.thePlayer, (int) mc.thePlayer.posX + 4, (int) mc.thePlayer.posZ - 3) > dist4) {
if (mc.thePlayer.motionX >= minMotion) {
return true;
}
}
if (Utils.distanceToGround(mc.thePlayer, (int) mc.thePlayer.posX + 4, (int) mc.thePlayer.posZ - 2) > dist4) {
if (mc.thePlayer.motionX >= minMotion) {
return true;
}
}
if (Utils.distanceToGround(mc.thePlayer, (int) mc.thePlayer.posX + 4, (int) mc.thePlayer.posZ - 1) > dist4) {
if (mc.thePlayer.motionX >= minMotion) {
return true;
}
}
if (Utils.distanceToGround(mc.thePlayer, (int) mc.thePlayer.posX - 3, (int) mc.thePlayer.posZ + 4) > dist4) {
if (mc.thePlayer.motionZ >= minMotion) {
return true;
}
}
if (Utils.distanceToGround(mc.thePlayer, (int) mc.thePlayer.posX - 2, (int) mc.thePlayer.posZ + 4) > dist4) {
if (mc.thePlayer.motionZ >= minMotion) {
return true;
}
}
if (Utils.distanceToGround(mc.thePlayer, (int) mc.thePlayer.posX - 1, (int) mc.thePlayer.posZ + 4) > dist4) {
if (mc.thePlayer.motionZ >= minMotion) {
return true;
}
}
if (Utils.distanceToGround(mc.thePlayer, (int) mc.thePlayer.posX - 4, (int) mc.thePlayer.posZ + 3) > dist4) {
if (mc.thePlayer.motionX <= -minMotion) {
return true;
}
}
if (Utils.distanceToGround(mc.thePlayer, (int) mc.thePlayer.posX - 4, (int) mc.thePlayer.posZ + 2) > dist4) {
if (mc.thePlayer.motionX <= -minMotion) {
return true;
}
}
if (Utils.distanceToGround(mc.thePlayer, (int) mc.thePlayer.posX - 4, (int) mc.thePlayer.posZ + 1) > dist4) {
if (mc.thePlayer.motionX <= -minMotion) {
return true;
}
}
if (Utils.distanceToGround(mc.thePlayer, (int) mc.thePlayer.posX - 4, (int) mc.thePlayer.posZ - 3) > dist4) {
if (mc.thePlayer.motionX <= -minMotion) {
return true;
}
}
if (Utils.distanceToGround(mc.thePlayer, (int) mc.thePlayer.posX - 4, (int) mc.thePlayer.posZ - 2) > dist4) {
if (mc.thePlayer.motionX <= -minMotion) {
return true;
}
}
if (Utils.distanceToGround(mc.thePlayer, (int) mc.thePlayer.posX - 4, (int) mc.thePlayer.posZ - 1) > dist4) {
if (mc.thePlayer.motionX <= -minMotion) {
return true;
}
}
if (Utils.distanceToGround(mc.thePlayer, (int) mc.thePlayer.posX - 3, (int) mc.thePlayer.posZ - 4) > dist4) {
if (mc.thePlayer.motionZ <= -minMotion) {
return true;
}
}
if (Utils.distanceToGround(mc.thePlayer, (int) mc.thePlayer.posX - 2, (int) mc.thePlayer.posZ - 4) > dist4) {
if (mc.thePlayer.motionZ <= -minMotion) {
return true;
}
}
if (Utils.distanceToGround(mc.thePlayer, (int) mc.thePlayer.posX - 1, (int) mc.thePlayer.posZ - 4) > dist4) {
if (mc.thePlayer.motionZ <= -minMotion) {
return true;
}
}
return false;
}

View File

@ -324,30 +324,30 @@ public class Scaffold extends Module {
if (quad <= 5 || quad >= 85) {
yawAngle = 125.625F;
minOffset = 10;
minOffset = 9;
}
if (quad > 5 && quad <= 15 || quad >= 75 && quad < 85) {
yawAngle = 127.625F;
minOffset = 10;
minOffset = 8;
}
if (quad > 15 && quad <= 25 || quad >= 65 && quad < 75) {
yawAngle = 129.625F;
minOffset = 8;
minOffset = 6;
}
if (quad > 25 && quad <= 32 || quad >= 58 && quad < 65) {
yawAngle = 132.625F;
minOffset = 8;
minOffset = 6;
}
if (quad > 32 && quad <= 38 || quad >= 52 && quad < 58) {
yawAngle = 134.625F;
minOffset = 7;
minOffset = 6;
}
if (quad > 38 && quad <= 42 || quad >= 48 && quad < 52) {
yawAngle = 136.625F;
minOffset = 6;
minOffset = 5;
}
if (quad > 42 && quad <= 45 || quad >= 45 && quad < 48) {
yawAngle = 140.125F;
yawAngle = 140.175F;
minOffset = 5;
}
@ -643,7 +643,7 @@ public class Scaffold extends Module {
public void onPreUpdate(PreUpdateEvent e) {
stopUpdate = stopUpdate2 = false;
if (!isEnabled) {
return;
stopUpdate2 = true;
}
if (LongJump.function) {
startYPos = -1;

View File

@ -0,0 +1,77 @@
package keystrokesmod.utility;
import keystrokesmod.event.ReceivePacketEvent;
import keystrokesmod.event.RunGameLoopEvent;
import net.minecraft.client.Minecraft;
import net.minecraft.network.Packet;
import net.minecraft.network.play.server.S12PacketEntityVelocity;
import net.minecraft.network.play.server.S27PacketExplosion;
import net.minecraftforge.event.entity.EntityJoinWorldEvent;
import net.minecraftforge.fml.common.eventhandler.EventPriority;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import java.util.ArrayDeque;
import java.util.Queue;
public class KnockBackHelper {
private final Minecraft mc = Minecraft.getMinecraft();
private final Queue<Packet> packets = new ArrayDeque<>();
private boolean cancel = false;
private boolean releasePackets = false;
@SubscribeEvent(priority = EventPriority.LOWEST)
public void onReceivePacket(ReceivePacketEvent e) {
if (e.getPacket() instanceof S12PacketEntityVelocity || e.getPacket() instanceof S27PacketExplosion) {
if (e.getPacket() instanceof S12PacketEntityVelocity &&
((S12PacketEntityVelocity) e.getPacket()).getEntityID() == mc.thePlayer.getEntityId() &&
cancel)
{
this.packets.add(e.getPacket());
e.setCanceled(true);
}
else if (e.getPacket() instanceof S27PacketExplosion && cancel) {
this.packets.add(e.getPacket());
e.setCanceled(true);
}
}
}
@SubscribeEvent
public void onGameLoop(RunGameLoopEvent e) {
if (!Utils.nullCheck() || !this.releasePackets) {
return;
}
while (!this.packets.isEmpty()) {
Packet p = this.packets.poll();
if (p != null) p.processPacket(mc.getNetHandler());
}
this.releasePackets = false;
}
@SubscribeEvent
public void onWorldJoin(EntityJoinWorldEvent e) {
if (e.entity == mc.thePlayer) {
this.packets.clear(); // Clears the buffered packets when you join a new world.
}
}
/**
* Starts capturing packets, buffering them until {@link #releasePackets()} is called.
*/
public void capturePackets() {
this.cancel = true;
}
/**
* Releases the buffered packets and sends them to your client.
*/
public void releasePackets() {
this.cancel = false;
this.releasePackets = true;
}
}

View File

@ -74,45 +74,32 @@ public class ModuleUtils {
public void onWorldJoin(EntityJoinWorldEvent e) {
if (e.entity == mc.thePlayer) {
ModuleManager.disabler.disablerLoaded = false;
inAirTicks = 0;
}
}
@SubscribeEvent
public void onSendPacketNoEvent(NoEventPacketEvent e) {
public void onSendPacketAll(SendAllPacketsEvent e) {
if (!Utils.nullCheck()) {
return;
}
if (e.getPacket() instanceof C09PacketHeldItemChange) {
swapTick = 2;
}
// isBlocked
if (e.getPacket() instanceof C07PacketPlayerDigging && isBlocked) {
C07PacketPlayerDigging c07 = (C07PacketPlayerDigging) e.getPacket();
String edger;
edger = String.valueOf(c07.getStatus());
if (Objects.equals(edger, "RELEASE_USE_ITEM")) {
Packet packet = e.getPacket();
if (packet instanceof C07PacketPlayerDigging && isBlocked) {
C07PacketPlayerDigging c07 = (C07PacketPlayerDigging) packet;
if (Objects.equals(String.valueOf(c07.getStatus()), "RELEASE_USE_ITEM")) {
isBlocked = false;
}
}
if (e.getPacket() instanceof C09PacketHeldItemChange && isBlocked) {
if (packet instanceof C09PacketHeldItemChange && isBlocked) {
isBlocked = false;
}
if (e.getPacket() instanceof C08PacketPlayerBlockPlacement && Utils.holdingSword() && !BlockUtils.isInteractable(mc.objectMouseOver) && !isBlocked) {
if (packet instanceof C08PacketPlayerBlockPlacement && Utils.holdingSword() && !BlockUtils.isInteractable(mc.objectMouseOver) && !isBlocked) {
isBlocked = true;
}
//
// isAttacking
if (e.getPacket() instanceof C02PacketUseEntity) {
isAttacking = true;
attackingTicks = 5;
}
//
if (packet instanceof C02PacketUseEntity) {
isAttacking = true;
attackingTicks = 5;
}
}
@SubscribeEvent
@ -121,32 +108,6 @@ public class ModuleUtils {
return;
}
// isBlocked
if (e.getPacket() instanceof C07PacketPlayerDigging && isBlocked) {
C07PacketPlayerDigging c07 = (C07PacketPlayerDigging) e.getPacket();
String edger;
edger = String.valueOf(c07.getStatus());
if (Objects.equals(edger, "RELEASE_USE_ITEM")) {
isBlocked = false;
}
}
if (e.getPacket() instanceof C09PacketHeldItemChange && isBlocked) {
isBlocked = false;
}
if (e.getPacket() instanceof C08PacketPlayerBlockPlacement && Utils.holdingSword() && !BlockUtils.isInteractable(mc.objectMouseOver) && !isBlocked) {
isBlocked = true;
}
//
// isAttacking
if (e.getPacket() instanceof C02PacketUseEntity) {
isAttacking = true;
attackingTicks = 5;
}
//
if (e.getPacket() instanceof C09PacketHeldItemChange) {
swapTick = 2;
}
@ -173,7 +134,7 @@ public class ModuleUtils {
}
@SubscribeEvent
public void onReceivePacket(ReceivePacketEvent e) {
public void onReceivePacketAll(ReceiveAllPacketsEvent e) {
if (!Utils.nullCheck()) {
return;
}

View File

@ -1,9 +1,7 @@
package keystrokesmod.utility;
import keystrokesmod.event.PostUpdateEvent;
import keystrokesmod.event.ReceivePacketEvent;
import keystrokesmod.event.SendPacketEvent;
import keystrokesmod.event.*;
import net.minecraft.client.Minecraft;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.network.Packet;
@ -80,6 +78,57 @@ public class PacketsHandler {
}
}
public void onSendPacketAll(SendAllPacketsEvent e) {
if (e.isCanceled()) {
return;
}
if (e.getPacket() instanceof C02PacketUseEntity) { // sending a C07 on the same tick as C02 can ban, this usually happens when you unblock and attack on the same tick
if (C07.get()) {
e.setCanceled(true);
return;
}
C02.set(true);
}
else if (e.getPacket() instanceof C08PacketPlayerBlockPlacement) {
C08.set(true);
}
else if (e.getPacket() instanceof C07PacketPlayerDigging) {
C07.set(true);
}
else if (e.getPacket() instanceof C0APacketAnimation) {
if (C07.get()) {
e.setCanceled(true);
return;
}
C0A.set(true);
}
else if (e.getPacket() instanceof C09PacketHeldItemChange) {
if (((C09PacketHeldItemChange) e.getPacket()).getSlotId() == playerSlot.get() && ((C09PacketHeldItemChange) e.getPacket()).getSlotId() == serverSlot.get()) {
e.setCanceled(true);
return;
}
C09.set(true);
playerSlot.set(((C09PacketHeldItemChange) e.getPacket()).getSlotId());
serverSlot.set(((C09PacketHeldItemChange) e.getPacket()).getSlotId());
}
}
@SubscribeEvent
public void onReceivePacketAll(ReceiveAllPacketsEvent e) {
if (e.getPacket() instanceof S09PacketHeldItemChange) {
S09PacketHeldItemChange packet = (S09PacketHeldItemChange) e.getPacket();
if (packet.getHeldItemHotbarIndex() >= 0 && packet.getHeldItemHotbarIndex() < InventoryPlayer.getHotbarSize()) {
serverSlot.set(packet.getHeldItemHotbarIndex());
}
}
else if (e.getPacket() instanceof S0CPacketSpawnPlayer && Minecraft.getMinecraft().thePlayer != null) {
if (((S0CPacketSpawnPlayer) e.getPacket()).getEntityID() != Minecraft.getMinecraft().thePlayer.getEntityId()) {
return;
}
this.playerSlot.set(-1);
}
}
@SubscribeEvent(priority = EventPriority.HIGHEST)
public void onPostUpdate(PostUpdateEvent e) {
if (delay.get()) {

View File

@ -10,8 +10,8 @@ import org.lwjgl.opengl.GL11;
public class ScaffoldBlockCount {
private final Minecraft mc;
private Timer fadeTimer;
private Timer fadeInTimer;
public static Timer fadeTimer;
public static Timer fadeInTimer;
private float previousAlpha;
public ScaffoldBlockCount(Minecraft mc) {
@ -72,8 +72,8 @@ public class ScaffoldBlockCount {
}
public void onDisable() {
ScaffoldBlockCount.fadeInTimer = null;
ScaffoldBlockCount.fadeTimer = null;
FMLCommonHandler.instance().bus().unregister(this);
fadeInTimer = null;
fadeTimer = null;
}
}

View File

@ -749,7 +749,7 @@ public class Utils {
}
final Scoreboard scoreboard = mc.theWorld.getScoreboard();
if (scoreboard == null) {
return -1;
return -2;
}
final ScoreObjective objective = scoreboard.getObjectiveInDisplaySlot(1);
if (objective == null) {

View File

@ -3,6 +3,7 @@ package keystrokesmod.utility.profile;
import keystrokesmod.Raven;
import keystrokesmod.module.Module;
import keystrokesmod.module.setting.impl.ButtonSetting;
import keystrokesmod.utility.ScaffoldBlockCount;
import keystrokesmod.utility.Utils;
import java.awt.*;

View File

@ -17,9 +17,12 @@ import keystrokesmod.module.setting.impl.ButtonSetting;
import keystrokesmod.module.setting.impl.KeySetting;
import keystrokesmod.module.setting.impl.SliderSetting;
import keystrokesmod.script.Manager;
import keystrokesmod.utility.ModuleUtils;
import keystrokesmod.utility.ScaffoldBlockCount;
import keystrokesmod.utility.Utils;
import net.minecraft.client.Minecraft;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.fml.common.FMLCommonHandler;
import java.io.File;
import java.io.FileReader;
@ -258,7 +261,10 @@ public class ProfileManager {
for (Setting setting : module.getSettings()) {
setting.loadProfile(moduleInformation);
}
ScaffoldBlockCount.fadeInTimer = null;
ScaffoldBlockCount.fadeTimer = null;
FMLCommonHandler.instance().bus().unregister(this);
ModuleUtils.profileTicks = 0;
Raven.currentProfile = getProfile(name);
}
MinecraftForge.EVENT_BUS.post(new PostProfileLoadEvent(Raven.currentProfile.getName()));

View File

@ -38,7 +38,6 @@ public class ProfileModule extends Module {
if (Settings.sendMessage.isToggled()) {
Utils.sendMessage("&7Enabled profile: &b" + this.getName());
ModuleUtils.profileTicks = 0;
}
saved = true;
}

View File

@ -40,6 +40,7 @@
"accessor.IAccessorGuiScreenBook",
"accessor.IAccessorGuiScreen",
"accessor.IAccessorS14PacketEntity",
"accessor.IAccessorEntityPlayer"
"accessor.IAccessorEntityPlayer",
"accessor.IAccessorNetworkManager"
]
}