Latest release
This commit is contained in:
parent
8f33952bd0
commit
7d2947e5d6
|
|
@ -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();
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
package keystrokesmod.event;
|
||||
|
||||
import net.minecraftforge.fml.common.eventhandler.Event;
|
||||
|
||||
public class RunGameLoopEvent extends Event {
|
||||
}
|
||||
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
@ -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();
|
||||
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
}
|
||||
|
|
@ -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());
|
||||
}
|
||||
}
|
||||
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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));
|
||||
|
|
|
|||
|
|
@ -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++;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -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;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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()) {
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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.*;
|
||||
|
|
|
|||
|
|
@ -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()));
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -40,6 +40,7 @@
|
|||
"accessor.IAccessorGuiScreenBook",
|
||||
"accessor.IAccessorGuiScreen",
|
||||
"accessor.IAccessorS14PacketEntity",
|
||||
"accessor.IAccessorEntityPlayer"
|
||||
"accessor.IAccessorEntityPlayer",
|
||||
"accessor.IAccessorNetworkManager"
|
||||
]
|
||||
}
|
||||
Loading…
Reference in New Issue