Latest release
This commit is contained in:
parent
155fce3dca
commit
233307f4af
|
|
@ -76,7 +76,7 @@ public class KillAura extends Module {
|
||||||
private ButtonSetting silentSwing;
|
private ButtonSetting silentSwing;
|
||||||
private ButtonSetting weaponOnly;
|
private ButtonSetting weaponOnly;
|
||||||
|
|
||||||
private String[] autoBlockModes = new String[] { "Manual", "Vanilla", "Partial", "Via A", "Via B", "Post", "Swap", "Delay" };
|
private String[] autoBlockModes = new String[] { "Manual", "Vanilla", "Partial", "Blink A", "Blink B", "Post", "Swap", "Delay" };
|
||||||
private String[] rotationModes = new String[] { "Silent", "Lock view", "None" };
|
private String[] rotationModes = new String[] { "Silent", "Lock view", "None" };
|
||||||
private String[] rotateModes = new String[] { "Attacking", "Swinging" };
|
private String[] rotateModes = new String[] { "Attacking", "Swinging" };
|
||||||
private String[] sortModes = new String[] { "Distance", "Health", "Hurttime", "Yaw" };
|
private String[] sortModes = new String[] { "Distance", "Health", "Hurttime", "Yaw" };
|
||||||
|
|
@ -338,6 +338,13 @@ public class KillAura extends Module {
|
||||||
disableCheckUsing = true;
|
disableCheckUsing = true;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
if (ModuleManager.noFall.isBlinking) {
|
||||||
|
if (blinking.get() || lag) {
|
||||||
|
resetBlinkState(true);
|
||||||
|
}
|
||||||
|
setTarget(null);
|
||||||
|
return;
|
||||||
|
}
|
||||||
if (ModuleManager.antiVoid.started) {
|
if (ModuleManager.antiVoid.started) {
|
||||||
if (blinking.get() || lag) {
|
if (blinking.get() || lag) {
|
||||||
resetBlinkState(true);
|
resetBlinkState(true);
|
||||||
|
|
@ -960,7 +967,7 @@ public class KillAura extends Module {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 3: // via a
|
case 3: // blink a
|
||||||
if (interactTicks >= 3) {
|
if (interactTicks >= 3) {
|
||||||
interactTicks = 0;
|
interactTicks = 0;
|
||||||
}
|
}
|
||||||
|
|
@ -968,19 +975,10 @@ public class KillAura extends Module {
|
||||||
if (firstCycle) {
|
if (firstCycle) {
|
||||||
switch (interactTicks) {
|
switch (interactTicks) {
|
||||||
case 1:
|
case 1:
|
||||||
blinking.set(true);
|
|
||||||
++cycleCount1;
|
|
||||||
if (cycleCount1 > 2) {
|
|
||||||
cycleCount1 = 0;
|
|
||||||
}
|
|
||||||
if (ModuleUtils.isBlocked) {
|
if (ModuleUtils.isBlocked) {
|
||||||
if (cycleCount1 <= -1) {
|
blinking.set(true);
|
||||||
sendUnBlockPacket();
|
setSwapSlot();
|
||||||
}
|
swapped = true;
|
||||||
else {
|
|
||||||
setSwapSlot();
|
|
||||||
swapped = true;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
|
|
@ -991,6 +989,7 @@ public class KillAura extends Module {
|
||||||
handleInteractAndAttack(distance, true, true, swung);
|
handleInteractAndAttack(distance, true, true, swung);
|
||||||
sendBlockPacket();
|
sendBlockPacket();
|
||||||
releasePackets(); // release
|
releasePackets(); // release
|
||||||
|
blinking.set(false);
|
||||||
interactTicks = 0;
|
interactTicks = 0;
|
||||||
++cycleCount2;
|
++cycleCount2;
|
||||||
if (cycleCount2 > 5) {
|
if (cycleCount2 > 5) {
|
||||||
|
|
@ -1004,6 +1003,7 @@ public class KillAura extends Module {
|
||||||
switch (interactTicks) {
|
switch (interactTicks) {
|
||||||
case 1:
|
case 1:
|
||||||
if (ModuleUtils.isBlocked) {
|
if (ModuleUtils.isBlocked) {
|
||||||
|
blinking.set(true);
|
||||||
setSwapSlot();
|
setSwapSlot();
|
||||||
swapped = true;
|
swapped = true;
|
||||||
}
|
}
|
||||||
|
|
@ -1016,6 +1016,7 @@ public class KillAura extends Module {
|
||||||
handleInteractAndAttack(distance, true, true, swung);
|
handleInteractAndAttack(distance, true, true, swung);
|
||||||
sendBlockPacket();
|
sendBlockPacket();
|
||||||
releasePackets(); // release
|
releasePackets(); // release
|
||||||
|
blinking.set(false);
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
firstCycle = true;
|
firstCycle = true;
|
||||||
|
|
@ -1024,32 +1025,22 @@ public class KillAura extends Module {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 4: // via b
|
case 4: // blink b
|
||||||
interactTicks++;
|
interactTicks++;
|
||||||
switch (interactTicks) {
|
switch (interactTicks) {
|
||||||
case 1:
|
case 1:
|
||||||
blinking.set(true);
|
|
||||||
if (ModuleUtils.isBlocked) {
|
if (ModuleUtils.isBlocked) {
|
||||||
setSwapSlot();
|
blinking.set(true);
|
||||||
swapped = true;
|
sendUnBlockPacket();
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
if (swapped) {
|
|
||||||
setCurrentSlot();
|
|
||||||
swapped = false;
|
|
||||||
}
|
|
||||||
handleInteractAndAttack(distance, true, true, swung);
|
handleInteractAndAttack(distance, true, true, swung);
|
||||||
sendBlockPacket();
|
sendBlockPacket();
|
||||||
if (++cycleCount2 > 1) {
|
releasePackets(); // release
|
||||||
interactTicks = 0;
|
blinking.set(false);
|
||||||
}
|
|
||||||
else {
|
|
||||||
releasePackets(); // release
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
releasePackets(); // release
|
|
||||||
interactTicks = 0;
|
interactTicks = 0;
|
||||||
firstCycle = false;
|
firstCycle = false;
|
||||||
break;
|
break;
|
||||||
|
|
@ -1095,8 +1086,8 @@ public class KillAura extends Module {
|
||||||
interactTicks++;
|
interactTicks++;
|
||||||
switch (interactTicks) {
|
switch (interactTicks) {
|
||||||
case 1:
|
case 1:
|
||||||
blinking.set(true);
|
|
||||||
if (ModuleUtils.isBlocked) {
|
if (ModuleUtils.isBlocked) {
|
||||||
|
blinking.set(true);
|
||||||
setSwapSlot();
|
setSwapSlot();
|
||||||
swapped = true;
|
swapped = true;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -119,7 +119,7 @@ public class Velocity extends Module {
|
||||||
@SubscribeEvent
|
@SubscribeEvent
|
||||||
public void onReceivePacketAll(ReceiveAllPacketsEvent e) {
|
public void onReceivePacketAll(ReceiveAllPacketsEvent e) {
|
||||||
if (velocityModes.getInput() >= 1) {
|
if (velocityModes.getInput() >= 1) {
|
||||||
if (!Utils.nullCheck() || LongJump.stopVelocity || e.isCanceled() || ModuleManager.blink.isEnabled() && ModuleManager.blink.cancelKnockback.isToggled() || ModuleManager.bedAura.cancelKnockback() || ModuleManager.tower.cancelKnockback() || velocityModes.getInput() == 2 && ModuleUtils.firstDamage || ModuleManager.bhop.isEnabled() && ModuleManager.bhop.damageBoost.isToggled() && ModuleUtils.firstDamage && (!ModuleManager.bhop.damageBoostRequireKey.isToggled() || ModuleManager.bhop.damageBoostKey.isPressed())) {
|
if (!Utils.nullCheck() || LongJump.stopVelocity || e.isCanceled() || velocityModes.getInput() == 2 && ModuleUtils.firstDamage || ModuleManager.bhop.isEnabled() && ModuleManager.bhop.damageBoost.isToggled() && ModuleUtils.firstDamage && (!ModuleManager.bhop.damageBoostRequireKey.isToggled() || ModuleManager.bhop.damageBoostKey.isPressed())) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (e.getPacket() instanceof S27PacketExplosion) {
|
if (e.getPacket() instanceof S27PacketExplosion) {
|
||||||
|
|
@ -239,7 +239,7 @@ public class Velocity extends Module {
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean dontEditMotion() {
|
private boolean dontEditMotion() {
|
||||||
if (velocityModes.getInput() == 1 && zzWhileNotTargeting.isToggled() && !ModuleManager.killAura.isTargeting) {
|
if (velocityModes.getInput() == 1 && zzWhileNotTargeting.isToggled() && !ModuleManager.killAura.isTargeting || ModuleManager.noFall.start || ModuleManager.blink.isEnabled() && ModuleManager.blink.cancelKnockback.isToggled() || ModuleManager.bedAura.cancelKnockback() || ModuleManager.tower.cancelKnockback()) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
|
|
||||||
|
|
@ -13,18 +13,20 @@ public class KeepSprint extends Module {
|
||||||
public static SliderSetting slow;
|
public static SliderSetting slow;
|
||||||
public static ButtonSetting disableWhileJump;
|
public static ButtonSetting disableWhileJump;
|
||||||
public static ButtonSetting reduceReachHits;
|
public static ButtonSetting reduceReachHits;
|
||||||
|
public static ButtonSetting onlyDamage;
|
||||||
|
|
||||||
public KeepSprint() {
|
public KeepSprint() {
|
||||||
super("KeepSprint", Module.category.movement, 0);
|
super("KeepSprint", Module.category.movement, 0);
|
||||||
this.registerSetting(new DescriptionSetting(new String("Default is 40% motion reduction.")));
|
this.registerSetting(new DescriptionSetting(new String("Default is 40% motion reduction.")));
|
||||||
this.registerSetting(slow = new SliderSetting("Slow %", 40.0D, 0.0D, 40.0D, 1.0D));
|
this.registerSetting(slow = new SliderSetting("Slow %", 40.0D, 0.0D, 40.0D, 1.0D));
|
||||||
this.registerSetting(disableWhileJump = new ButtonSetting("Disable while jumping", false));
|
this.registerSetting(disableWhileJump = new ButtonSetting("Disable while jumping", false));
|
||||||
|
this.registerSetting(onlyDamage = new ButtonSetting("Only while hurt", false));
|
||||||
this.registerSetting(reduceReachHits = new ButtonSetting("Only reduce reach hits", false));
|
this.registerSetting(reduceReachHits = new ButtonSetting("Only reduce reach hits", false));
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void keepSprint(Entity en) {
|
public static void keepSprint(Entity en) {
|
||||||
boolean vanilla = false;
|
boolean vanilla = false;
|
||||||
if (disableWhileJump.isToggled() && !mc.thePlayer.onGround) {
|
if (disableWhileJump.isToggled() && !mc.thePlayer.onGround || onlyDamage.isToggled() && mc.thePlayer.hurtTime == 0) {
|
||||||
vanilla = true;
|
vanilla = true;
|
||||||
}
|
}
|
||||||
else if (reduceReachHits.isToggled() && !mc.thePlayer.capabilities.isCreativeMode) {
|
else if (reduceReachHits.isToggled() && !mc.thePlayer.capabilities.isCreativeMode) {
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@ package keystrokesmod.module.impl.player;
|
||||||
|
|
||||||
import keystrokesmod.Raven;
|
import keystrokesmod.Raven;
|
||||||
import keystrokesmod.event.PreUpdateEvent;
|
import keystrokesmod.event.PreUpdateEvent;
|
||||||
|
import keystrokesmod.event.ReceiveAllPacketsEvent;
|
||||||
import keystrokesmod.event.ReceivePacketEvent;
|
import keystrokesmod.event.ReceivePacketEvent;
|
||||||
import keystrokesmod.event.SendPacketEvent;
|
import keystrokesmod.event.SendPacketEvent;
|
||||||
import keystrokesmod.module.Module;
|
import keystrokesmod.module.Module;
|
||||||
|
|
@ -63,7 +64,7 @@ public class AntiVoid extends Module {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
Packet packet = e.getPacket();
|
Packet packet = e.getPacket();
|
||||||
if (!started && (!Utils.overVoid(mc.thePlayer.posX, mc.thePlayer.posY, mc.thePlayer.posZ) || mc.thePlayer.onGround)) {
|
if (!started && (!Utils.overVoid() || mc.thePlayer.onGround)) {
|
||||||
y = mc.thePlayer.posY;
|
y = mc.thePlayer.posY;
|
||||||
wait = false;
|
wait = false;
|
||||||
return;
|
return;
|
||||||
|
|
@ -74,8 +75,8 @@ public class AntiVoid extends Module {
|
||||||
if (packet.getClass().getSimpleName().startsWith("S")) {
|
if (packet.getClass().getSimpleName().startsWith("S")) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (ModuleManager.killAura.isTargeting || ModuleManager.killAura.justUnTargeted) {
|
if (ModuleManager.noFall.isBlinking) {
|
||||||
//return;
|
return;
|
||||||
}
|
}
|
||||||
if (wait) {
|
if (wait) {
|
||||||
return;
|
return;
|
||||||
|
|
@ -97,10 +98,10 @@ public class AntiVoid extends Module {
|
||||||
|
|
||||||
@SubscribeEvent
|
@SubscribeEvent
|
||||||
public void onPreUpdate(PreUpdateEvent e) {
|
public void onPreUpdate(PreUpdateEvent e) {
|
||||||
if (!Utils.overVoid(mc.thePlayer.posX, mc.thePlayer.posY, mc.thePlayer.posZ) || mc.thePlayer.onGround) {
|
if (!Utils.overVoid() || mc.thePlayer.onGround) {
|
||||||
release();
|
release();
|
||||||
}
|
}
|
||||||
if (dist() && Utils.overVoid(mc.thePlayer.posX, mc.thePlayer.posY, mc.thePlayer.posZ) || disableLJ.isToggled() && LongJump.function) {
|
if (dist() && Utils.overVoid() || disableLJ.isToggled() && LongJump.function) {
|
||||||
release();
|
release();
|
||||||
wait = true;
|
wait = true;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -105,6 +105,9 @@ public class BedAura extends Module {
|
||||||
reset(true, true);
|
reset(true, true);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
if (ModuleManager.noFall.start) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
if (Utils.isBedwarsPractice() || Utils.isReplay()) {
|
if (Utils.isBedwarsPractice() || Utils.isReplay()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -122,17 +122,17 @@ public class Blink extends Module {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@SubscribeEvent(priority = EventPriority.LOWEST)
|
@SubscribeEvent
|
||||||
public void onReceivePacketAll(ReceiveAllPacketsEvent e) {
|
public void onReceivePacketAll(ReceiveAllPacketsEvent e) {
|
||||||
if (!Utils.nullCheck() || e.isCanceled() || !cancelKnockback.isToggled()) {
|
if (!Utils.nullCheck() || e.isCanceled() || !cancelKnockback.isToggled()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (e.getPacket() instanceof S12PacketEntityVelocity) {
|
if (e.getPacket() instanceof S12PacketEntityVelocity) {
|
||||||
if (((S12PacketEntityVelocity) e.getPacket()).getEntityID() == mc.thePlayer.getEntityId()) {
|
if (((S12PacketEntityVelocity) e.getPacket()).getEntityID() == mc.thePlayer.getEntityId()) {
|
||||||
|
blinkedPackets.add(e.getPacket());
|
||||||
e.setCanceled(true);
|
e.setCanceled(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
||||||
|
|
@ -69,6 +69,8 @@ public class Disabler extends Module {
|
||||||
}
|
}
|
||||||
|
|
||||||
private void resetState() {
|
private void resetState() {
|
||||||
|
savedYaw = mc.thePlayer.rotationYaw;
|
||||||
|
savedPitch = mc.thePlayer.rotationPitch;
|
||||||
shouldRun = true;
|
shouldRun = true;
|
||||||
tickCounter = 0;
|
tickCounter = 0;
|
||||||
applyingMotion = false;
|
applyingMotion = false;
|
||||||
|
|
@ -111,11 +113,7 @@ public class Disabler extends Module {
|
||||||
if ((now - lobbyTime) < activationDelayMillis) {
|
if ((now - lobbyTime) < activationDelayMillis) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (!running) {
|
running = true;
|
||||||
savedYaw = e.getYaw();
|
|
||||||
savedPitch = e.getPitch();
|
|
||||||
running = true;
|
|
||||||
}
|
|
||||||
e.setRotations(savedYaw, savedPitch);
|
e.setRotations(savedYaw, savedPitch);
|
||||||
|
|
||||||
if (waitingForGround) {
|
if (waitingForGround) {
|
||||||
|
|
@ -161,6 +159,7 @@ public class Disabler extends Module {
|
||||||
|
|
||||||
if (mc.thePlayer.ticksExisted % 2 == 0) {
|
if (mc.thePlayer.ticksExisted % 2 == 0) {
|
||||||
e.setPosZ(e.getPosZ() + 0.075);
|
e.setPosZ(e.getPosZ() + 0.075);
|
||||||
|
e.setPosX(e.getPosX() + 0.075);
|
||||||
}
|
}
|
||||||
|
|
||||||
tickCounter++;
|
tickCounter++;
|
||||||
|
|
|
||||||
|
|
@ -1,21 +1,25 @@
|
||||||
package keystrokesmod.module.impl.player;
|
package keystrokesmod.module.impl.player;
|
||||||
|
|
||||||
|
import keystrokesmod.Raven;
|
||||||
import keystrokesmod.event.PreMotionEvent;
|
import keystrokesmod.event.PreMotionEvent;
|
||||||
import keystrokesmod.event.PreUpdateEvent;
|
import keystrokesmod.event.PreUpdateEvent;
|
||||||
import keystrokesmod.event.ReceivePacketEvent;
|
import keystrokesmod.event.ReceivePacketEvent;
|
||||||
import keystrokesmod.event.SendPacketEvent;
|
import keystrokesmod.event.SendPacketEvent;
|
||||||
import keystrokesmod.module.Module;
|
import keystrokesmod.module.Module;
|
||||||
import keystrokesmod.module.ModuleManager;
|
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.ButtonSetting;
|
||||||
import keystrokesmod.module.setting.impl.SliderSetting;
|
import keystrokesmod.module.setting.impl.SliderSetting;
|
||||||
import keystrokesmod.script.classes.Block;
|
import keystrokesmod.script.classes.Block;
|
||||||
import keystrokesmod.utility.BlockUtils;
|
import keystrokesmod.utility.*;
|
||||||
import keystrokesmod.utility.PacketUtils;
|
|
||||||
import keystrokesmod.utility.Reflection;
|
|
||||||
import keystrokesmod.utility.Utils;
|
|
||||||
import net.minecraft.client.gui.GuiIngame;
|
import net.minecraft.client.gui.GuiIngame;
|
||||||
|
import net.minecraft.client.gui.ScaledResolution;
|
||||||
import net.minecraft.init.Blocks;
|
import net.minecraft.init.Blocks;
|
||||||
import net.minecraft.network.Packet;
|
import net.minecraft.network.Packet;
|
||||||
|
import net.minecraft.network.handshake.client.C00Handshake;
|
||||||
|
import net.minecraft.network.login.client.C00PacketLoginStart;
|
||||||
|
import net.minecraft.network.play.client.C02PacketUseEntity;
|
||||||
import net.minecraft.network.play.client.C03PacketPlayer;
|
import net.minecraft.network.play.client.C03PacketPlayer;
|
||||||
import net.minecraft.network.play.client.C08PacketPlayerBlockPlacement;
|
import net.minecraft.network.play.client.C08PacketPlayerBlockPlacement;
|
||||||
import net.minecraft.network.play.server.*;
|
import net.minecraft.network.play.server.*;
|
||||||
|
|
@ -24,16 +28,21 @@ import net.minecraftforge.client.event.ClientChatReceivedEvent;
|
||||||
import net.minecraftforge.client.event.sound.SoundEvent;
|
import net.minecraftforge.client.event.sound.SoundEvent;
|
||||||
import net.minecraftforge.fml.common.eventhandler.EventPriority;
|
import net.minecraftforge.fml.common.eventhandler.EventPriority;
|
||||||
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
|
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
|
||||||
|
import net.minecraftforge.fml.common.gameevent.TickEvent;
|
||||||
|
|
||||||
|
import java.awt.*;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
import java.util.concurrent.ConcurrentLinkedQueue;
|
||||||
|
|
||||||
public class NoFall extends Module {
|
public class NoFall extends Module {
|
||||||
public SliderSetting mode;
|
public SliderSetting mode;
|
||||||
private SliderSetting minFallDistance;
|
private SliderSetting minFallDistance;
|
||||||
private ButtonSetting disableAdventure;
|
private ButtonSetting disableAdventure;
|
||||||
private ButtonSetting ignoreVoid, voidC;
|
private ButtonSetting ignoreVoid, voidC;
|
||||||
private ButtonSetting hideSound;
|
private ButtonSetting hideSound, renderTimer;
|
||||||
private String[] modes = new String[]{"Spoof", "NoGround", "Packet A", "Packet B", "CTW Packet", "Prediction"};
|
private String[] modes = new String[]{"Spoof", "NoGround", "Packet A", "Packet B", "CTW Packet", "Prediction", "Blink"};
|
||||||
|
|
||||||
|
private int color = new Color(0, 187, 255, 255).getRGB();
|
||||||
|
|
||||||
private double initialY;
|
private double initialY;
|
||||||
private double dynamic;
|
private double dynamic;
|
||||||
|
|
@ -42,6 +51,15 @@ public class NoFall extends Module {
|
||||||
|
|
||||||
private int n;
|
private int n;
|
||||||
|
|
||||||
|
private ConcurrentLinkedQueue<Packet> blinkedPackets = new ConcurrentLinkedQueue<>();
|
||||||
|
private ConcurrentLinkedQueue<Packet> regularPackets = new ConcurrentLinkedQueue<>();
|
||||||
|
public boolean isBlinking;
|
||||||
|
public boolean bnFalling, start;
|
||||||
|
|
||||||
|
private int blinkTicks;
|
||||||
|
|
||||||
|
private int y;
|
||||||
|
|
||||||
public NoFall() {
|
public NoFall() {
|
||||||
super("NoFall", category.player);
|
super("NoFall", category.player);
|
||||||
this.registerSetting(mode = new SliderSetting("Mode", 2, modes));
|
this.registerSetting(mode = new SliderSetting("Mode", 2, modes));
|
||||||
|
|
@ -49,11 +67,22 @@ public class NoFall extends Module {
|
||||||
this.registerSetting(minFallDistance = new SliderSetting("Minimum fall distance", 3, 0, 10, 0.1));
|
this.registerSetting(minFallDistance = new SliderSetting("Minimum fall distance", 3, 0, 10, 0.1));
|
||||||
this.registerSetting(ignoreVoid = new ButtonSetting("Ignore void", false));
|
this.registerSetting(ignoreVoid = new ButtonSetting("Ignore void", false));
|
||||||
this.registerSetting(voidC = new ButtonSetting("Experimental void check", true));
|
this.registerSetting(voidC = new ButtonSetting("Experimental void check", true));
|
||||||
|
this.registerSetting(renderTimer = new ButtonSetting("Render Blink Timer", true));
|
||||||
//this.registerSetting(hideSound = new ButtonSetting("Hide fall damage sound", false));
|
//this.registerSetting(hideSound = new ButtonSetting("Hide fall damage sound", false));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void guiUpdate() {
|
||||||
|
this.renderTimer.setVisible(mode.getInput() == 6, this);
|
||||||
|
}
|
||||||
|
|
||||||
public void onDisable() {
|
public void onDisable() {
|
||||||
Utils.resetTimer();
|
Utils.resetTimer();
|
||||||
|
|
||||||
|
if (mc.thePlayer.onGround) {
|
||||||
|
finishBlink();
|
||||||
|
} else {
|
||||||
|
finishBlinkRegular();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*@SubscribeEvent
|
/*@SubscribeEvent
|
||||||
|
|
@ -85,6 +114,34 @@ public class NoFall extends Module {
|
||||||
|
|
||||||
@SubscribeEvent
|
@SubscribeEvent
|
||||||
public void onPreUpdate(PreUpdateEvent e) {
|
public void onPreUpdate(PreUpdateEvent e) {
|
||||||
|
if (mode.getInput() == 6) {
|
||||||
|
if (Utils.fallDist() >= minFallDistance.getInput() && Utils.isEdgeOfBlock() && mc.thePlayer.onGround && !Utils.jumpDown() && !ModuleManager.scaffold.isEnabled && !ModuleManager.bhop.isEnabled() && !LongJump.function) {
|
||||||
|
start = true;
|
||||||
|
y = (int) mc.thePlayer.posY;
|
||||||
|
}
|
||||||
|
else if (start && !bnFalling && mc.thePlayer.posY > y) {
|
||||||
|
finishBlinkRegular();
|
||||||
|
}
|
||||||
|
if (isBlinking) {
|
||||||
|
++blinkTicks;
|
||||||
|
}
|
||||||
|
if (mc.thePlayer.posY < y && !mc.thePlayer.onGround && start) {
|
||||||
|
bnFalling = true;
|
||||||
|
}
|
||||||
|
else if (bnFalling) {
|
||||||
|
finishBlink();
|
||||||
|
}
|
||||||
|
if (mc.thePlayer.posY <= y - 31 && start) {
|
||||||
|
finishBlinkRegular();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if (reset()) {
|
if (reset()) {
|
||||||
Utils.resetTimer();
|
Utils.resetTimer();
|
||||||
initialY = mc.thePlayer.posY;
|
initialY = mc.thePlayer.posY;
|
||||||
|
|
@ -171,7 +228,6 @@ public class NoFall extends Module {
|
||||||
n++;
|
n++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//Utils.print("" + mc.thePlayer.ticksExisted + " " + mc.thePlayer.motionY + " " + edging);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@SubscribeEvent(priority = EventPriority.LOWEST)
|
@SubscribeEvent(priority = EventPriority.LOWEST)
|
||||||
|
|
@ -183,23 +239,119 @@ public class NoFall extends Module {
|
||||||
case 1:
|
case 1:
|
||||||
e.setOnGround(false);
|
e.setOnGround(false);
|
||||||
break;
|
break;
|
||||||
|
case 6:
|
||||||
|
if (start) {
|
||||||
|
e.setOnGround(true);
|
||||||
|
}
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void finishBlink() {
|
||||||
|
isBlinking = bnFalling = start = false;
|
||||||
|
blinkTicks = 0;
|
||||||
|
if (!blinkedPackets.isEmpty()) {
|
||||||
|
synchronized (blinkedPackets) {
|
||||||
|
for (Packet packet : blinkedPackets) {
|
||||||
|
Raven.packetsHandler.handlePacket(packet);
|
||||||
|
PacketUtils.sendPacketNoEvent(packet);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
blinkedPackets.clear();
|
||||||
|
regularPackets.clear();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void finishBlinkRegular() {
|
||||||
|
isBlinking = bnFalling = start = false;
|
||||||
|
blinkTicks = 0;
|
||||||
|
if (!regularPackets.isEmpty()) {
|
||||||
|
synchronized (regularPackets) {
|
||||||
|
for (Packet packet : regularPackets) {
|
||||||
|
Raven.packetsHandler.handlePacket(packet);
|
||||||
|
PacketUtils.sendPacketNoEvent(packet);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
regularPackets.clear();
|
||||||
|
blinkedPackets.clear();
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
if (mc.thePlayer.onGround) {
|
||||||
|
synchronized (blinkedPackets) {
|
||||||
|
for (Packet packet : blinkedPackets) {
|
||||||
|
Raven.packetsHandler.handlePacket(packet);
|
||||||
|
PacketUtils.sendPacketNoEvent(packet);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
synchronized (regularPackets) {
|
||||||
|
for (Packet packet : regularPackets) {
|
||||||
|
Raven.packetsHandler.handlePacket(packet);
|
||||||
|
PacketUtils.sendPacketNoEvent(packet);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
blinkedPackets.clear();
|
||||||
|
regularPackets.clear();
|
||||||
|
*/
|
||||||
|
|
||||||
|
@SubscribeEvent
|
||||||
|
public void onRenderTick(TickEvent.RenderTickEvent ev) {
|
||||||
|
if (!Utils.nullCheck() || !renderTimer.isToggled() || mode.getInput() != 6 || blinkTicks == 0 || blinkTicks >= 99999) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (ev.phase == TickEvent.Phase.END) {
|
||||||
|
if (mc.currentScreen != null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
color = Theme.getGradient((int) HUD.theme.getInput(), 0);
|
||||||
|
int widthOffset = (blinkTicks < 10) ? 4 : (blinkTicks >= 10 && blinkTicks < 100) ? 7 : (blinkTicks >= 100 && blinkTicks < 1000) ? 10 : (blinkTicks >= 1000) ? 13 : 16;
|
||||||
|
String text = ("" + blinkTicks);
|
||||||
|
int width = mc.fontRendererObj.getStringWidth(text) + Utils.getBoldWidth(text) / 2;
|
||||||
|
final ScaledResolution scaledResolution = new ScaledResolution(mc);
|
||||||
|
int[] display = {scaledResolution.getScaledWidth(), scaledResolution.getScaledHeight(), scaledResolution.getScaleFactor()};
|
||||||
|
mc.fontRendererObj.drawString(text, display[0] / 2 - width + widthOffset, display[1] / 2 + 8, color, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@SubscribeEvent
|
||||||
|
public void onSendPacket(SendPacketEvent e) {
|
||||||
|
if (!Utils.nullCheck()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
Packet packet = e.getPacket();
|
||||||
|
if (packet.getClass().getSimpleName().startsWith("S")) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (packet instanceof C00PacketLoginStart || packet instanceof C00Handshake) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (!start) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (!e.isCanceled()) {
|
||||||
|
isBlinking = true;
|
||||||
|
regularPackets.add(packet);
|
||||||
|
blinkedPackets.add(packet);
|
||||||
|
e.setCanceled(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private boolean otherc03(Packet packet) {
|
||||||
|
return ((packet instanceof C03PacketPlayer.C04PacketPlayerPosition) || (packet instanceof C03PacketPlayer.C05PacketPlayerLook) || (packet instanceof C03PacketPlayer.C06PacketPlayerPosLook));
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getInfo() {
|
public String getInfo() {
|
||||||
return modes[(int) mode.getInput()];
|
return modes[(int) mode.getInput()];
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean isVoid() {
|
|
||||||
return Utils.overVoid(mc.thePlayer.posX, mc.thePlayer.posY, mc.thePlayer.posZ);
|
|
||||||
}
|
|
||||||
|
|
||||||
private boolean reset() {
|
private boolean reset() {
|
||||||
if (disableAdventure.isToggled() && mc.playerController.getCurrentGameType().isAdventure()) {
|
if (disableAdventure.isToggled() && mc.playerController.getCurrentGameType().isAdventure()) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
if (ignoreVoid.isToggled() && isVoid()) {
|
if (ignoreVoid.isToggled() && Utils.overVoid()) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
if (Utils.isBedwarsPractice()) {
|
if (Utils.isBedwarsPractice()) {
|
||||||
|
|
@ -223,13 +375,13 @@ public class NoFall extends Module {
|
||||||
if (mc.thePlayer.capabilities.isCreativeMode) {
|
if (mc.thePlayer.capabilities.isCreativeMode) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
if (isVoid() && mc.thePlayer.posY <= 41) {
|
if (Utils.overVoid() && mc.thePlayer.posY <= 41) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
if (mc.thePlayer.capabilities.isFlying) {
|
if (mc.thePlayer.capabilities.isFlying) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
if (voidC.isToggled() && Utils.overVoid(mc.thePlayer.posX, mc.thePlayer.posY, mc.thePlayer.posZ) && !dist()) {
|
if (voidC.isToggled() && Utils.overVoid() && !dist()) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
|
|
||||||
|
|
@ -160,6 +160,10 @@ public class Scaffold extends Module {
|
||||||
}
|
}
|
||||||
disabledModule = true;
|
disabledModule = true;
|
||||||
moduleEnabled = false;
|
moduleEnabled = false;
|
||||||
|
|
||||||
|
if (!isEnabled) {
|
||||||
|
scaffoldBlockCount.beginFade();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void onEnable() {
|
public void onEnable() {
|
||||||
|
|
@ -348,7 +352,7 @@ public class Scaffold extends Module {
|
||||||
}
|
}
|
||||||
if (quad > 42 && quad <= 45 || quad >= 45 && quad < 48) {
|
if (quad > 42 && quad <= 45 || quad >= 45 && quad < 48) {
|
||||||
yawAngle = 140F;
|
yawAngle = 140F;
|
||||||
minOffset = 5;
|
minOffset = 4;
|
||||||
|
|
||||||
}
|
}
|
||||||
minPitch = 80.25F;
|
minPitch = 80.25F;
|
||||||
|
|
|
||||||
|
|
@ -208,9 +208,9 @@ public class ModuleUtils {
|
||||||
if (canSlow || ModuleManager.scaffold.moduleEnabled && !ModuleManager.tower.canTower()) {
|
if (canSlow || ModuleManager.scaffold.moduleEnabled && !ModuleManager.tower.canTower()) {
|
||||||
double motionVal = 0.9507832 - ((double) inAirTicks / 10000) - Utils.randomizeDouble(0.00001, 0.00006);
|
double motionVal = 0.9507832 - ((double) inAirTicks / 10000) - Utils.randomizeDouble(0.00001, 0.00006);
|
||||||
if (!hasSlowed) motionVal = motionVal - 0.15;
|
if (!hasSlowed) motionVal = motionVal - 0.15;
|
||||||
if (mc.thePlayer.hurtTime == 0 && inAirTicks >= 3 && !setSlow && ModuleManager.scaffold.rotation.getInput() == 2) {
|
if (mc.thePlayer.hurtTime == 0 && !setSlow && !mc.thePlayer.onGround) {
|
||||||
mc.thePlayer.motionX *= motionVal;
|
//mc.thePlayer.motionX *= motionVal;
|
||||||
mc.thePlayer.motionZ *= motionVal;
|
//mc.thePlayer.motionZ *= motionVal;
|
||||||
setSlow = hasSlowed = true;
|
setSlow = hasSlowed = true;
|
||||||
//Utils.print("Slow " + motionVal);
|
//Utils.print("Slow " + motionVal);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -210,6 +210,15 @@ public class Utils {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static boolean overVoid() {
|
||||||
|
for (int i = (int) mc.thePlayer.posY; i > -1; i--) {
|
||||||
|
if (!(mc.theWorld.getBlockState(new BlockPos(mc.thePlayer.posX, i, mc.thePlayer.posZ)).getBlock() instanceof BlockAir)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
public static boolean canPlayerBeSeen(EntityLivingBase player) {
|
public static boolean canPlayerBeSeen(EntityLivingBase player) {
|
||||||
double x = player.posX;
|
double x = player.posX;
|
||||||
double y = player.posY;
|
double y = player.posY;
|
||||||
|
|
@ -924,6 +933,24 @@ public class Utils {
|
||||||
return entity.getHeldItem() != null && entity.getHeldItem().getItem() instanceof ItemFood;
|
return entity.getHeldItem() != null && entity.getHeldItem().getItem() instanceof ItemFood;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static double fallDist() {
|
||||||
|
if (overVoid()) {
|
||||||
|
return 9999;
|
||||||
|
}
|
||||||
|
double fallDistance = -1;
|
||||||
|
double y = mc.thePlayer.posY;
|
||||||
|
if (mc.thePlayer.posY % 1 == 0) {
|
||||||
|
y--;
|
||||||
|
}
|
||||||
|
for (int i = (int) Math.floor(y); i > -1; i--) {
|
||||||
|
if (!isPlaceable(new BlockPos(mc.thePlayer.posX, i, mc.thePlayer.posZ))) {
|
||||||
|
fallDistance = y - i;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return fallDistance - 1;
|
||||||
|
}
|
||||||
|
|
||||||
public static double distanceToGround(Entity entity) {
|
public static double distanceToGround(Entity entity) {
|
||||||
if (entity.onGround) {
|
if (entity.onGround) {
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue