Latest release

This commit is contained in:
jackh 2025-03-25 11:48:55 -07:00
parent 56348f3cf3
commit a4da3d4a63
13 changed files with 490 additions and 180 deletions

View File

@ -76,6 +76,7 @@ public class ModuleManager {
public static TargetStrafe targetStrafe;
public static Criticals criticals;
public static Fences fences;
public static FastFall fastFall;
public void register() {
this.addModule(autoClicker = new AutoClicker());
@ -177,6 +178,7 @@ public class ModuleManager {
this.addModule(targetStrafe = new TargetStrafe());
this.addModule(criticals = new Criticals());
this.addModule(fences = new Fences());
this.addModule(fastFall = new FastFall());
antiBot.enable();
Collections.sort(this.modules, Comparator.comparing(Module::getName));
}

View File

@ -72,8 +72,8 @@ public class KillAura extends Module {
private ButtonSetting weaponOnly;
private String[] autoBlockModes = new String[] { "Manual", "Vanilla", "Partial", "Interact A", "Interact B" };
private String[] interactAModes = new String[] { "10", "5", "6.5" };
private String[] interactBModes = new String[] { "10", "7", "9.5" };
private String[] interactAModes = new String[] { "10", "9.5" };
private String[] interactBModes = new String[] { "10", "9.5" };
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" };
@ -201,36 +201,6 @@ public class KillAura extends Module {
}
}
@SubscribeEvent(priority = EventPriority.HIGH)
public void onSendPacket(SendPacketEvent e) {
if (!Utils.nullCheck()) {
return;
}
Packet packet = e.getPacket();
if (packet.getClass().getSimpleName().startsWith("S")) {
return;
}
if (packet instanceof C08PacketPlayerBlockPlacement) {
if (delayTicks >= 0) {
if (((C08PacketPlayerBlockPlacement) packet).getStack() != null && ((C08PacketPlayerBlockPlacement) packet).getStack().getItem() instanceof ItemSword && ((C08PacketPlayerBlockPlacement) packet).getPlacedBlockDirection() != 255) {
e.setCanceled(true);
}
}
}
if (blinking.get() && !e.isCanceled()) { // blink
if (packet instanceof C00PacketLoginStart || packet instanceof C00Handshake) {
return;
}
blinkedPackets.add(packet);
e.setCanceled(true);
}
if (!lag && target != null && Utils.holdingSword() && autoBlockMode.getInput() >= 2) {
if (packet instanceof C08PacketPlayerBlockPlacement) {
e.setCanceled(true);
}
}
}
@SubscribeEvent
public void onPreUpdate(PreUpdateEvent e) {
if (!Utils.nullCheck()) {
@ -426,6 +396,36 @@ public class KillAura extends Module {
}
}
@SubscribeEvent(priority = EventPriority.HIGH)
public void onSendPacket(SendPacketEvent e) {
if (!Utils.nullCheck()) {
return;
}
Packet packet = e.getPacket();
if (packet.getClass().getSimpleName().startsWith("S")) {
return;
}
if (packet instanceof C08PacketPlayerBlockPlacement) {
if (delayTicks >= 0) {
if (((C08PacketPlayerBlockPlacement) packet).getStack() != null && ((C08PacketPlayerBlockPlacement) packet).getStack().getItem() instanceof ItemSword && ((C08PacketPlayerBlockPlacement) packet).getPlacedBlockDirection() != 255) {
e.setCanceled(true);
}
}
}
if (blinking.get() && !e.isCanceled()) { // blink
if (packet instanceof C00PacketLoginStart || packet instanceof C00Handshake) {
return;
}
blinkedPackets.add(packet);
e.setCanceled(true);
}
if (!lag && target != null && Utils.holdingSword() && autoBlockMode.getInput() >= 2) {
if (packet instanceof C08PacketPlayerBlockPlacement) {
e.setCanceled(true);
}
}
}
@SubscribeEvent(priority = EventPriority.LOW)
public void onPreMotion(PreMotionEvent e) {
if (delayTicks >= 0) {
@ -923,9 +923,6 @@ public class KillAura extends Module {
case 1:
getInteractA1(distance, swung);
break;
case 2:
getInteractA2(distance, swung);
break;
}
break;
case 4: // interact b
@ -936,9 +933,6 @@ public class KillAura extends Module {
case 1:
getInteractB1(distance, swung);
break;
case 2:
getInteractB2(distance, swung);
break;
}
break;
}
@ -965,34 +959,11 @@ public class KillAura extends Module {
}
private void getInteractA1(double distance, boolean swung) {
if (interactTicks >= 4) {
if (interactTicks >= 3) {
interactTicks = 0;
}
interactTicks++;
switch (interactTicks) {
case 1:
blinking.set(true);
if (ModuleUtils.isBlocked) {
sendUnBlockPacket();
}
break;
case 2:
handleInteractAndAttack(distance, true, true, swung);
sendBlockPacket();
break;
case 3:
releasePackets(); // release
break;
}
}
private void getInteractA2(double distance, boolean swung) {
interactTicks++;
firstEdge++;
if (firstCycle) {
if (interactTicks > 2) {
interactTicks = 0;
}
switch (interactTicks) {
case 1:
blinking.set(true);
@ -1003,31 +974,31 @@ public class KillAura extends Module {
case 2:
handleInteractAndAttack(distance, true, true, swung);
sendBlockPacket();
firstCycle = false;
interactTicks = 0;
releasePackets(); // release
interactTicks = 0;
firstCycle = false;
break;
}
}
else {
if (interactTicks > 4) {
interactTicks = 0;
}
switch (interactTicks) {
case 1:
blinking.set(true);
if (ModuleUtils.isBlocked) {
sendUnBlockPacket();
setSwapSlot();
swapped = true;
}
break;
case 2:
if (swapped) {
setCurrentSlot();
swapped = false;
}
handleInteractAndAttack(distance, true, true, swung);
sendBlockPacket();
break;
case 4:
releasePackets(); // release
firstCycle = true;
interactTicks = 0;
releasePackets(); // release
break;
}
}
@ -1059,31 +1030,6 @@ public class KillAura extends Module {
}
private void getInteractB1(double distance, boolean swung) {
if (interactTicks >= 3) {
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 getInteractB2(double distance, boolean swung) {
if (interactTicks >= 3) {
interactTicks = 0;
}

View File

@ -133,7 +133,7 @@ public class NoSlow extends Module {
if (!Mouse.isButtonDown(1) || (mc.thePlayer.getHeldItem() == null || !holdingConsumable(mc.thePlayer.getHeldItem()))) {
return;
}
if (!mc.thePlayer.onGround || ModuleUtils.groundTicks <= 8) {
if (!mc.thePlayer.onGround || ModuleManager.sprint.sprintFloat) {
canFloat = true;
}
else {
@ -217,10 +217,10 @@ public class NoSlow extends Module {
if (!canFloat) {
return;
}
if (!reSendConsume && offsetDelay <= 2) {
/*if (!reSendConsume && offsetDelay <= 2) {
++offsetDelay;
return;
}
}*/
offset = true;
e.setPosY(e.getPosY() + ModuleUtils.offsetValue);
ModuleUtils.groundTicks = 0;

View File

@ -1,5 +1,6 @@
package keystrokesmod.module.impl.movement;
import keystrokesmod.event.PostPlayerInputEvent;
import keystrokesmod.event.PreMotionEvent;
import keystrokesmod.event.PreUpdateEvent;
import keystrokesmod.mixin.impl.accessor.IAccessorEntityPlayerSP;
@ -41,6 +42,7 @@ public class Sprint extends Module {
public float posY = 5;
private float limit;
public boolean canFloat, requireJump;
public boolean sprintFloat;
private int color = new Color(255, 0, 0, 255).getRGB();
private String[] omniDirectionalModes = new String[] { "Disabled", "Vanilla", "Hypixel", "Float" };
@ -65,6 +67,13 @@ public class Sprint extends Module {
this.renderJumpRequired.setVisible(omniDirectional.getInput() == 3, this);
}
@SubscribeEvent
public void onPostPlayerInput(PostPlayerInputEvent e) {
if (Utils.jumpDown() && mc.thePlayer.onGround) {
requireJump = true;
}
}
@SubscribeEvent
public void onPreMotion(PreMotionEvent e) {
@ -80,9 +89,13 @@ public class Sprint extends Module {
if (canFloat && floatConditions() && !requireJump && omniSprint()) {
e.setPosY(e.getPosY() + ModuleUtils.offsetValue);
sprintFloat = true;
ModuleUtils.groundTicks = 0;
if (Utils.isMoving()) Utils.setSpeed(getFloatSpeed(getSpeedLevel()));
}
else {
sprintFloat = false;
}
if (rotationConditions()) {
float yaw = mc.thePlayer.rotationYaw;
@ -91,7 +104,7 @@ public class Sprint extends Module {
}
}
private boolean floatConditions() {
boolean floatConditions() {
int edgeY = (int) Math.round((mc.thePlayer.posY % 1.0D) * 100.0D);
if (ModuleUtils.stillTicks > 200) {
requireJump = true;

View File

@ -47,6 +47,7 @@ public class Disabler extends Module {
private double firstY;
private boolean reset;
private float savedYaw, savedPitch;
private boolean worldJoin;
public boolean disablerLoaded, running;
@ -81,6 +82,7 @@ public class Disabler extends Module {
finished = 0;
shouldRender = false;
reset = false;
worldJoin = false;
activationDelayMillis = (long)(activationDelay.getInput() * 1000);
}
@ -112,18 +114,29 @@ public class Disabler extends Module {
}
if (waitingForGround) {
savedYaw = e.getYaw();
savedPitch = e.getPitch();
if (!running) {
//mc.thePlayer.motionY = 0;
}
running = true;
if (mc.thePlayer.onGround) {
savedYaw = e.getYaw();
savedPitch = e.getPitch();
/*if (mc.thePlayer.ticksExisted <= 3) {
mc.thePlayer.motionY = 0.42f;
waitingForGround = false;
worldJoin = true;
}
else */if (mc.thePlayer.onGround) {
mc.thePlayer.motionY = 0.42f;
waitingForGround = false;
worldJoin = false;
}
e.setRotations(savedYaw, savedPitch);
return;
}
e.setRotations(savedYaw, savedPitch);
airTicks = mc.thePlayer.onGround ? 0 : airTicks + 1;
if (airTicks >= 10) {
if (airTicks >= 10 || worldJoin) {
if (!applyingMotion) {
applyingMotion = true;
firstY = mc.thePlayer.posY;
@ -136,14 +149,12 @@ public class Disabler extends Module {
mc.thePlayer.motionY = 0;
mc.thePlayer.motionZ = 0;
e.setRotations(savedYaw, savedPitch);
if (mc.thePlayer.posY != firstY) {
if (!reset) {
resetState();
activationDelayMillis = 4000;
activationDelayMillis = 5000;
reset = true;
Utils.print("&7[&dR&7] &adisabler reset, wait 4s");
Utils.print("&7[&dR&7] &adisabler reset, wait 5s");
}
else {
shouldRun = false;

View File

@ -0,0 +1,116 @@
package keystrokesmod.module.impl.player;
import keystrokesmod.event.PreMotionEvent;
import keystrokesmod.event.PreUpdateEvent;
import keystrokesmod.module.Module;
import keystrokesmod.module.ModuleManager;
import keystrokesmod.module.setting.impl.ButtonSetting;
import keystrokesmod.module.setting.impl.SliderSetting;
import keystrokesmod.utility.BlockUtils;
import keystrokesmod.utility.Utils;
import net.minecraft.init.Blocks;
import net.minecraft.network.play.client.C03PacketPlayer;
import net.minecraft.util.BlockPos;
import net.minecraftforge.fml.common.eventhandler.EventPriority;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
public class FastFall extends Module {
public SliderSetting mode;
private ButtonSetting disableAdventure;
private ButtonSetting ignoreVoid;
private String[] modes = new String[]{"Accelerate", "Timer"};
private double initialY;
private boolean isFalling;
private int fallTicks;
private int motion;
private SliderSetting ticks;
public FastFall() {
super("FastFall", category.player);
this.registerSetting(mode = new SliderSetting("Mode", 0, modes));
this.registerSetting(disableAdventure = new ButtonSetting("Disable adventure", false));
this.registerSetting(ignoreVoid = new ButtonSetting("Ignore void", true));
this.registerSetting(ticks = new SliderSetting("Intervals", 2, 1, 10, 1));
}
public void onDisable() {
Utils.resetTimer();
}
@SubscribeEvent
public void onPreUpdate(PreUpdateEvent e) {
if (reset()) {
Utils.resetTimer();
initialY = mc.thePlayer.posY;
isFalling = false;
fallTicks = motion = 0;
return;
}
else if ((double) mc.thePlayer.fallDistance >= 2) {
isFalling = true;
}
double predictedY = mc.thePlayer.posY + mc.thePlayer.motionY;
double distanceFallen = initialY - predictedY;
if (isFalling && mode.getInput() == 0) {
++fallTicks;
Utils.resetTimer();
if (fallTicks >= ticks.getInput()) {
mc.thePlayer.motionY -= ((double) motion / 95);
fallTicks = 0;
motion++;
}
}
if (isFalling && mode.getInput() == 1) {
++fallTicks;
Utils.resetTimer();
if (fallTicks >= ticks.getInput()) {
Utils.getTimer().timerSpeed = 1.5F;
fallTicks = 0;
}
}
}
@Override
public String getInfo() {
return modes[(int) mode.getInput()];
}
private boolean isVoid() {
return Utils.overVoid(mc.thePlayer.posX, mc.thePlayer.posY, mc.thePlayer.posZ);
}
private boolean reset() {
if (disableAdventure.isToggled() && mc.playerController.getCurrentGameType().isAdventure()) {
return true;
}
if (ignoreVoid.isToggled() && isVoid()) {
return true;
}
if (Utils.isReplay()) {
return true;
}
if (mc.thePlayer.onGround) {
return true;
}
if (mc.thePlayer.motionY > -0.0784) {
return true;
}
if (mc.thePlayer.capabilities.isCreativeMode) {
return true;
}
if (mc.thePlayer.capabilities.isFlying) {
return true;
}
if (ModuleManager.scaffold.isEnabled) {
return true;
}
return false;
}
}

View File

@ -32,11 +32,12 @@ public class NoFall extends Module {
private ButtonSetting disableAdventure;
private ButtonSetting ignoreVoid;
private ButtonSetting hideSound;
private String[] modes = new String[]{"Spoof", "NoGround", "Packet A", "Packet B", "CTW Packet"};
private String[] modes = new String[]{"Spoof", "NoGround", "Packet A", "Packet B", "CTW Packet", "Prediction"};
private double initialY;
private double dynamic;
private boolean isFalling;
private double timerVal = 1;
private int n;
@ -72,6 +73,13 @@ public class NoFall extends Module {
}
}*/
@SubscribeEvent
public void onReceivePacket(ReceivePacketEvent e) {
if (e.getPacket() instanceof S08PacketPlayerPosLook && n > 0) {
n = 34;
}
}
@SubscribeEvent
public void onPreUpdate(PreUpdateEvent e) {
@ -80,6 +88,7 @@ public class NoFall extends Module {
initialY = mc.thePlayer.posY;
isFalling = false;
n = 0;
timerVal = 1;
return;
}
else if ((double) mc.thePlayer.fallDistance >= minFallDistance.getInput()) {
@ -89,29 +98,55 @@ public class NoFall extends Module {
double predictedY = mc.thePlayer.posY + mc.thePlayer.motionY;
double distanceFallen = initialY - predictedY;
if (mc.thePlayer.motionY >= -1.0) {
dynamic = 3.0;
}
if (mc.thePlayer.motionY < -1.0) {
dynamic = 4.0;
}
if (mc.thePlayer.motionY < -2.0) {
dynamic = 5.0;
}
if (isFalling && mode.getInput() == 2) {
if (mc.thePlayer.motionY >= -1.0) {
dynamic = 3.0;
}
if (mc.thePlayer.motionY < -1.0) {
dynamic = 4.0;
}
if (mc.thePlayer.motionY < -2.0) {
dynamic = 5.0;
}
if (distanceFallen >= dynamic) {
Utils.getTimer().timerSpeed = 0.6799789F;
if (mc.thePlayer.motionY < -0.01) {
timerVal = 0.8;
}
if (mc.thePlayer.motionY < -1.0) {
timerVal = 0.7;
}
if (mc.thePlayer.motionY < -1.6) {
timerVal = 0.6;
}
Utils.getTimer().timerSpeed = (float) timerVal;
mc.getNetHandler().addToSendQueue(new C03PacketPlayer(true));
initialY = mc.thePlayer.posY;
}
}
//Utils.print("" + dynamic);
if (isFalling && mode.getInput() == 3) {
if (mc.thePlayer.motionY < -2.0) {
dynamic = 4.0;
}
else {
dynamic = 3.0;
}
Utils.resetTimer();
if (mc.thePlayer.ticksExisted % 2 == 0) {
Utils.getTimer().timerSpeed = 0.47F;
if (mc.thePlayer.motionY < -0.01) {
timerVal = 0.65;
}
if (mc.thePlayer.motionY < -1.0) {
timerVal = 0.54;
}
if (mc.thePlayer.motionY < -1.6) {
timerVal = 0.46;
}
if (mc.thePlayer.motionY < -2.1) {
timerVal = 0.41;
}
Utils.getTimer().timerSpeed = (float) timerVal;
}
if (distanceFallen >= 3) {
if (distanceFallen >= dynamic) {
mc.getNetHandler().addToSendQueue(new C03PacketPlayer(true));
initialY = mc.thePlayer.posY;
}
@ -124,6 +159,12 @@ public class NoFall extends Module {
initialY = mc.thePlayer.posY;
}
}
if (isFalling && mode.getInput() == 5) {
if (distanceFallen >= 3 && n <= 4) {
mc.thePlayer.motionY = 0;
n++;
}
}
//Utils.print("" + mc.thePlayer.ticksExisted + " " + mc.thePlayer.motionY + " " + edging);
}

View File

@ -95,6 +95,7 @@ public class Scaffold extends Module {
private boolean floatWasEnabled;
private boolean floatKeepY;
public int offsetDelay;
public boolean placedVP;
//disable checks
public boolean moduleEnabled;
@ -117,6 +118,8 @@ public class Scaffold extends Module {
private float maxOffset;
private int sameMouse;
private int randomF, yawChanges, dynamic;
private boolean getVTR;
private float VTRY;
//fake rotations
private float fakeYaw, fakePitch;
private float fakeYaw1, fakeYaw2;
@ -301,7 +304,10 @@ public class Scaffold extends Module {
switch ((int) rotation.getInput()) {
case 1:
yaw = mc.thePlayer.rotationYaw - hardcodedYaw();
pitch = 78F;
pitch = 76F;
if (!Utils.isDiagonal(true)) {
//yaw -= 45;
}
e.setRotations(yaw, pitch);
break;
case 2:
@ -318,34 +324,34 @@ public class Scaffold extends Module {
if (quad <= 5 || quad >= 85) {
yawAngle = 125.625F;
minOffset = 18;
minOffset = 10;
}
if (quad > 5 && quad <= 15 || quad >= 75 && quad < 85) {
yawAngle = 127.625F;
minOffset = 16;
minOffset = 10;
}
if (quad > 15 && quad <= 25 || quad >= 65 && quad < 75) {
yawAngle = 129.625F;
minOffset = 14;
minOffset = 8;
}
if (quad > 25 && quad <= 32 || quad >= 58 && quad < 65) {
yawAngle = 132.625F;
minOffset = 12;
minOffset = 8;
}
if (quad > 32 && quad <= 38 || quad >= 52 && quad < 58) {
yawAngle = 134.625F;
minOffset = 9;
minOffset = 7;
}
if (quad > 38 && quad <= 42 || quad >= 48 && quad < 52) {
yawAngle = 136.625F;
minOffset = 7;
minOffset = 6;
}
if (quad > 42 && quad <= 45 || quad >= 45 && quad < 48) {
yawAngle = 139.625F;
minOffset = 5;
}
minPitch = 78.55F;
minPitch = 80.45F;
//Utils.print("" + minOffset);
//float offsetAmountD = ((((float) offsetAmount.getInput() / 10) - 10) * -2) - (((float) offsetAmount.getInput() / 10) - 10);
//yawAngle += offsetAmountD;
@ -367,7 +373,7 @@ public class Scaffold extends Module {
if (firstStroke > 0 && (System.currentTimeMillis() - firstStroke) > strokeDelay) {
firstStroke = 0;
}
if (enabledOffGround) {
if (enabledOffGround && Utils.distanceToGround(mc.thePlayer) > 2) {
if (blockRotations != null) {
yaw = blockRotations[0];
pitch = blockRotations[1];
@ -378,12 +384,15 @@ public class Scaffold extends Module {
e.setRotations(yaw, pitch);
break;
}
else {
enabledOffGround = false;
}
if (blockRotations != null) {
blockYaw = blockRotations[0];
pitch = blockRotations[1];
yawOffset = blockYawOffset;
if (pitch < minPitch) {
if (pitch < minPitch && ModuleManager.tower.activeTicks <= 3) {
pitch = minPitch;
}
} else {
@ -547,10 +556,20 @@ public class Scaffold extends Module {
rotatingForward = false;
}
if (ModuleManager.tower.isVerticalTowering()) {
if (rotation.getInput() == 2 && mc.thePlayer.motionX == 0.0D && mc.thePlayer.motionZ == 0.0D) {
if (blockRotations != null) {
e.setYaw(blockRotations[0]);
}
}
if (ModuleManager.tower.isVerticalTowering()) {
if (blockRotations != null && (!getVTR || ModuleManager.tower.ebDelay <= 1 || !ModuleManager.tower.firstVTP)) {
VTRY = blockRotations[0];
getVTR = true;
}
if (getVTR) {
e.setYaw(VTRY);
}
if (ModuleManager.tower.yaw != 0) {
e.setYaw(ModuleManager.tower.yaw);
}
@ -558,6 +577,9 @@ public class Scaffold extends Module {
e.setPitch(ModuleManager.tower.pitch);
}
}
else {
getVTR = false;
}
//pitch fix
if (e.getPitch() > 89.9F) {
@ -611,7 +633,7 @@ public class Scaffold extends Module {
@SubscribeEvent
public void onSlotUpdate(SlotUpdateEvent e) {
if (isEnabled) {
if (isEnabled && autoSwap.isToggled()) {
lastSlot.set(e.slot);
e.setCanceled(true);
}
@ -650,12 +672,19 @@ public class Scaffold extends Module {
hasSwapped = true;
int mode = (int) fastScaffold.getInput();
if (rotation.getInput() == 0 || rotationDelay == 0) {
if (!ModuleManager.tower.placeExtraBlock) {
if (rotation.getInput() == 0 || rotationDelay == 0) {
placeBlock(0, 0);
}
}
else if ((ModuleManager.tower.ebDelay == 0 || !ModuleManager.tower.firstVTP)) {
placeBlock(0, 0);
placedVP = true;
}
if (ModuleManager.tower.placeExtraBlock) {
placeBlock(0, -1);
}
if (fastScaffoldKeepY && !ModuleManager.tower.canTower()) {
++keepYTicks;
if ((int) mc.thePlayer.posY > (int) startYPos) {
@ -780,7 +809,7 @@ public class Scaffold extends Module {
public boolean sprint() {
if (isEnabled) {
return handleFastScaffolds() > 0 || !holdingBlocks();
return handleFastScaffolds() > 0;
}
return false;
}
@ -825,6 +854,9 @@ public class Scaffold extends Module {
mc.getItemRenderer().resetEquippedProgress();
}
}
if (ModuleManager.tower.placeExtraBlock) {
ModuleManager.tower.firstVTP = true;
}
highlight.put(block.blockPos.offset(block.enumFacing), null);
hasPlaced = true;
}
@ -1028,7 +1060,15 @@ public class Scaffold extends Module {
private boolean placeConditions(EnumFacing enumFacing, int yCondition, int xCondition) {
if (xCondition == -1) {
return enumFacing == EnumFacing.EAST;
if (!ModuleManager.tower.placeExtraBlock) {
return enumFacing == EnumFacing.EAST;
}
else {
return enumFacing == EnumFacing.DOWN;
}
}
else if (ModuleManager.tower.placeExtraBlock) {
return enumFacing == EnumFacing.WEST;
}
if (yCondition == 1) {
return enumFacing == EnumFacing.DOWN;
@ -1105,7 +1145,7 @@ public class Scaffold extends Module {
}
private void handleMotion() {
if (handleFastScaffolds() > 0 || ModuleManager.tower.canTower()) {
if (handleFastScaffolds() > 0 || ModuleManager.tower.canTower() || motion.getInput() == 100) {
return;
}
double input = (motion.getInput() / 100);

View File

@ -17,6 +17,7 @@ import net.minecraft.network.play.server.S27PacketExplosion;
import net.minecraft.potion.PotionEffect;
import net.minecraftforge.fml.common.eventhandler.EventPriority;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import net.minecraftforge.fml.common.gameevent.TickEvent;
public class Tower extends Module {
final public SliderSetting towerMove;
@ -28,18 +29,21 @@ public class Tower extends Module {
private GroupSetting cancelKnockbackGroup;
private final ButtonSetting cancelKnockback;
private ButtonSetting cancelVelocityRequired;
public ButtonSetting capUpFaces;
public SliderSetting extraBlockDelay;
final private String[] towerMoveModes = new String[]{"None", "Vanilla", "Low", "Edge", "2.5 tick", "1.5 tick", "1 tick", "10 tick"};
final private String[] verticalTowerModes = new String[]{"None", "Vanilla", "Extra block"};
final private String[] towerMoveModes = new String[]{"None", "Vanilla", "3 tick", "Edge", "2.5 tick", "1.5 tick", "1 tick", "10 tick", "Jump"};
final private String[] verticalTowerModes = new String[]{"None", "Vanilla", "Extra block", "3 tick", "Edge"};
private int slowTicks;
private boolean wasTowering;
private boolean wasTowering, vtowering;
private int towerTicks;
public boolean towering;
private boolean hasTowered, startedTowerInAir, setLowMotion, firstJump;
private int cMotionTicks, placeTicks;
public int dCount;
public float yaw;
private int vt;
public int activeTicks;
public float pitch;
@ -47,13 +51,15 @@ public class Tower extends Module {
//vertical tower
private boolean aligning, aligned, placed;
private int blockX;
private double blockX;
private double firstX, firstY, firstZ;
public boolean placeExtraBlock;
public int ebDelay;
public boolean firstVTP;
public boolean speed;
private int grounds;
private int grounds, towerVL;
public int upFaces;
@ -62,6 +68,7 @@ public class Tower extends Module {
this.registerSetting(towerMove = new SliderSetting("Tower Move", 0, towerMoveModes));
this.registerSetting(speedSetting = new SliderSetting("Speed", 3.0, 0.5, 8.0, 0.1));
this.registerSetting(verticalTower = new SliderSetting("Vertical Tower", 0, verticalTowerModes));
this.registerSetting(extraBlockDelay = new SliderSetting("Extra block delay", "", 0, 0, 10, 1));
this.registerSetting(slowedSpeed = new SliderSetting("Slowed speed", "%", 0, 0, 100, 1));
this.registerSetting(slowedTicks = new SliderSetting("Slowed ticks", 1, 0, 20, 1));
this.registerSetting(disableWhileHurt = new ButtonSetting("Disable while hurt", false));
@ -73,6 +80,10 @@ public class Tower extends Module {
this.canBeEnabled = false;
}
public void guiUpdate() {
this.extraBlockDelay.setVisible(verticalTower.getInput() == 2, this);
}
@SubscribeEvent
public void onReceivePacket(ReceivePacketEvent e) {
if (!Utils.nullCheck() || !cancelKnockback()) {
@ -90,6 +101,9 @@ public class Tower extends Module {
@SubscribeEvent
public void onPreMotion(PreMotionEvent e) {
if (!Utils.nullCheck()) {
return;
}
if (canTower() && Utils.keysDown()) {
if (disableWhileHurt.isToggled() && ModuleUtils.damage) {
return;
@ -131,10 +145,17 @@ public class Tower extends Module {
@SubscribeEvent
public void onPreUpdate(PreUpdateEvent e) {
if (!Utils.nullCheck()) {
return;
}
int valY = (int) Math.round((mc.thePlayer.posY % 1) * 10000);
int simpleY = (int) Math.round((mc.thePlayer.posY % 1.0D) * 100.0D);
if (towerVL > 0) {
--towerVL;
}
if (towerMove.getInput() > 0) {
if (canTower() && Utils.keysDown()) {
++activeTicks;
speed = false;
wasTowering = hasTowered = true;
if (disableWhileHurt.isToggled() && ModuleUtils.damage) {
@ -157,28 +178,26 @@ public class Tower extends Module {
towerTicks = 0;
}
case 2:
if (mc.thePlayer.onGround) {
mc.thePlayer.motionY = 0.4196;
} else {
switch (towerTicks) {
case 3:
case 4:
mc.thePlayer.motionY = 0;
break;
case 5:
mc.thePlayer.motionY = 0.4191;
break;
case 6:
mc.thePlayer.motionY = 0.3275;
break;
case 11:
mc.thePlayer.motionY = -0.5;
if (mc.thePlayer.posY % 1 == 0 && mc.thePlayer.onGround || towerVL > 0) {
towering = true;
}
if (towering) {
if (valY == 0) {
mc.thePlayer.motionY = 0.42f;
Utils.setSpeed(getTowerGroundSpeed(getSpeedLevel()));
startedTowerInAir = false;
} else if (valY > 4000 && valY < 4300) {
mc.thePlayer.motionY = 0.33f;
Utils.setSpeed(getTowerSpeed(getSpeedLevel()));
speed = true;
} else if (valY > 7000) {
mc.thePlayer.motionY = 1 - mc.thePlayer.posY % 1;
}
towerVL = 2;
}
break;
case 3:
if (mc.thePlayer.posY % 1 == 0 && mc.thePlayer.onGround && !setLowMotion) {
if ((mc.thePlayer.posY % 1 == 0 && mc.thePlayer.onGround || towerVL > 0) && !setLowMotion) {
towering = true;
}
if (towering) {
@ -196,6 +215,7 @@ public class Tower extends Module {
}
mc.thePlayer.motionY = 1 - mc.thePlayer.posY % 1;
}
towerVL = 2;
} else if (setLowMotion) {
++cMotionTicks;
if (cMotionTicks == 1) {
@ -335,6 +355,19 @@ public class Tower extends Module {
}
}
break;
case 8:
if (mc.thePlayer.posY % 1 == 0 && mc.thePlayer.onGround) {
towering = true;
}
if (towering) {
if (mc.thePlayer.onGround) {
mc.thePlayer.jump();
Utils.setSpeed(getTowerSpeed(getSpeedLevel()));
speed = true;
ModuleManager.scaffold.rotateForward();
}
}
break;
}
} else {
@ -365,7 +398,7 @@ public class Tower extends Module {
Utils.setSpeed(Utils.getHorizontalSpeed(mc.thePlayer) / 1.6);
}
hasTowered = towering = firstJump = startedTowerInAir = setLowMotion = speed = false;
cMotionTicks = placeTicks = towerTicks = grounds = upFaces = 0;
cMotionTicks = placeTicks = towerTicks = grounds = upFaces = activeTicks = 0;
reset();
}
}
@ -380,7 +413,7 @@ public class Tower extends Module {
if (!aligned) {
if (mc.thePlayer.onGround) {
if (!aligning) {
blockX = (int) mc.thePlayer.posX;
blockX = (int) mc.thePlayer.posX + 1;
firstX = mc.thePlayer.posX - 10;
firstY = mc.thePlayer.posY;
@ -389,7 +422,7 @@ public class Tower extends Module {
mc.thePlayer.motionX = 0.22;
aligning = true;
}
if (aligning && (int) mc.thePlayer.posX > blockX) {
if (aligning && mc.thePlayer.posX >= blockX) {
aligned = true;
}
yaw = RotationUtils.getRotations(firstX, firstY, firstZ)[0];
@ -397,30 +430,65 @@ public class Tower extends Module {
}
if (aligned) {
if (placed) {
yaw = 0;
pitch = 89.9F;
yaw = RotationUtils.getRotations(firstX, firstY, firstZ)[0];
//yaw = RotationUtils.getRotations(mc.thePlayer.posX + 10, mc.thePlayer.posY, mc.thePlayer.posZ)[0];
/*if (ModuleManager.scaffold.placedVP) {
pitch = 89.6F;
ModuleManager.scaffold.placedVP = false;
}
else {*/
pitch = 86.6F;
//}
} else {
yaw = RotationUtils.getRotations(firstX, firstY, firstZ)[0];
pitch = 0;
}
placeExtraBlock = true;
Utils.setSpeed(0);
mc.thePlayer.motionX = 0;
mc.thePlayer.motionY = verticalTowerValue();
mc.thePlayer.motionZ = 0;
towerVL = 2;
}
break;
case 3:
if (mc.thePlayer.posY % 1 == 0 && mc.thePlayer.onGround || towerVL > 0) {
vtowering = true;
}
if (vtowering) {
mc.thePlayer.motionY = verticalTowerValue();
towerVL = 2;
}
break;
case 4:
if (mc.thePlayer.posY % 1 == 0 && mc.thePlayer.onGround || towerVL > 0) {
vtowering = true;
}
if (vtowering) {
++vt;
towerVL = 2;
if (vt <= 6 && verticalTowerValue() != 0) {
mc.thePlayer.motionY = verticalTowerValue();
}
else {
vt = 0;
}
}
break;
}
} else {
yaw = pitch = 0;
aligning = aligned = placed = false;
aligning = aligned = placed = vtowering = false;
firstX = 0;
placeExtraBlock = false;
placeExtraBlock = firstVTP = false;
ebDelay = vt = 0;
ModuleManager.scaffold.placedVP = false;
}
}
}
public boolean isVerticalTowering() {
return canTower() && !Utils.keysDown() && verticalTower.getInput() == 2;
return canTower() && !Utils.keysDown() && verticalTower.getInput() > 0;
}
@SubscribeEvent
@ -451,6 +519,12 @@ public class Tower extends Module {
@SubscribeEvent
public void onSendPacket(SendPacketEvent e) {
if (e.getPacket() instanceof C08PacketPlayerBlockPlacement) {
if (firstVTP) {
ebDelay++;
if (ebDelay >= extraBlockDelay.getInput() + 2) {
ebDelay = 0;
}
}
if (canTower() && Utils.isMoving()) {
++placeTicks;
if (((C08PacketPlayerBlockPlacement) e.getPacket()).getPlacedBlockDirection() == 1 && hasTowered) {
@ -558,7 +632,7 @@ public class Tower extends Module {
private double getTowerGroundSpeed(int speedLevel) {
if (speedLevel == 0) {
return (speedSetting.getInput() / 10) - 0.08;
return (speedSetting.getInput() / 10) - 0.085;
} else if (speedLevel == 1) {
return (speedSetting.getInput() / 10) - 0.05;
} else if (speedLevel == 2) {

View File

@ -9,6 +9,7 @@ import keystrokesmod.utility.command.CommandManager;
import net.minecraft.block.Block;
import net.minecraft.block.BlockAir;
import net.minecraft.block.BlockSlab;
import net.minecraft.block.BlockSnow;
import net.minecraft.client.Minecraft;
import keystrokesmod.module.ModuleManager;
import net.minecraft.client.settings.KeyBinding;
@ -44,12 +45,13 @@ public class ModuleUtils {
private long FIREBALL_TIMEOUT = 500L, fireballTime = 0;
public static int inAirTicks, groundTicks, stillTicks;
public static int fadeEdge;
public static double offsetValue = 4e-12;
public static double offsetValue = 6e-14;
public static boolean isAttacking;
private int attackingTicks;
private int unTargetTicks;
public static int profileTicks = -1, swapTick;
public static boolean lastTickOnGround, lastTickPos1;
public static int lastY, thisY;
public static boolean lastTickOnGround, lastTickPos1, lastYDif;
private boolean thisTickOnGround, thisTickPos1;
public static boolean firstDamage;
@ -245,7 +247,7 @@ public class ModuleUtils {
if (canSlow || ModuleManager.scaffold.moduleEnabled && !ModuleManager.tower.canTower()) {
double motionVal = 0.9507832 - ((double) inAirTicks / 10000) - Utils.randomizeDouble(0.00001, 0.00006);
if (!hasSlowed) motionVal = motionVal - 0.15;
if (mc.thePlayer.hurtTime == 0 && inAirTicks >= 3 && !setSlow) {
if (mc.thePlayer.hurtTime == 0 && inAirTicks >= 3 && !setSlow && ModuleManager.scaffold.rotation.getInput() == 2) {
mc.thePlayer.motionX *= motionVal;
mc.thePlayer.motionZ *= motionVal;
setSlow = hasSlowed = true;
@ -337,6 +339,16 @@ public class ModuleUtils {
lastTickPos1 = thisTickPos1;
thisTickPos1 = mc.thePlayer.posY % 1 == 0;
lastY = thisY;
thisY = (int) mc.thePlayer.posY;
if (thisY >= lastY + 2 || thisY <= lastY - 2) {
lastYDif = true;
}
else {
lastYDif = false;
}
inAirTicks = mc.thePlayer.onGround ? 0 : ++inAirTicks;
groundTicks = !mc.thePlayer.onGround ? 0 : ++groundTicks;
stillTicks = Utils.isMoving() ? 0 : ++stillTicks;
@ -348,6 +360,9 @@ public class ModuleUtils {
if ((ModuleManager.bhop.didMove || ModuleManager.scaffold.lowhop) && (!ModuleManager.bhop.disablerOnly.isToggled() || ModuleManager.bhop.disablerOnly.isToggled() && ModuleManager.disabler.disablerLoaded)) {
if (ModuleUtils.damage && Velocity.vertical.getInput() != 0 || block instanceof BlockSlab) {
resetLowhop();
}
if (!ModuleUtils.damage || Velocity.vertical.getInput() == 0) {
if (ModuleManager.scaffold.lowhop) {
@ -394,6 +409,7 @@ public class ModuleUtils {
resetLowhop();
break;
}
boolean g1 = Utils.distanceToGround(mc.thePlayer) <= 1.3;
if (inAirTicks == 1) {
mc.thePlayer.motionY = 0.38999998569488;
ModuleManager.bhop.lowhop = true;
@ -404,16 +420,16 @@ public class ModuleUtils {
if (inAirTicks == 3) {
mc.thePlayer.motionY = 0.08842400075912;
}
if (inAirTicks == 4 && Utils.distanceToGround(mc.thePlayer) < 2) {
if (inAirTicks == 4 && g1) {
mc.thePlayer.motionY = -0.19174457909538;
}
if (inAirTicks == 5 && Utils.distanceToGround(mc.thePlayer) < 2) {
if (inAirTicks == 5 && g1) {
mc.thePlayer.motionY = -0.26630949469659;
}
if (inAirTicks == 6 && Utils.distanceToGround(mc.thePlayer) < 2) {
if (inAirTicks == 6 && g1) {
mc.thePlayer.motionY = -0.26438340940798;
}
if (inAirTicks == 7 && Utils.distanceToGround(mc.thePlayer) < 2) {
if (inAirTicks == 7 && g1) {
mc.thePlayer.motionY = -0.33749574778843;
}
//strafe
@ -421,7 +437,7 @@ public class ModuleUtils {
Utils.setSpeed(Utils.getHorizontalSpeed(mc.thePlayer));
}
//disable
if (inAirTicks >= 8) {
if (inAirTicks >= 8 || inAirTicks >= 4 && !g1) {
resetLowhop();
}
break;

View File

@ -14,6 +14,7 @@ public class Help extends Command {
chat(" &b.ping &7Estimate your ping.");
chat(" &b.friend/enemy [name/clear] &7Adds as enemy/friend.");
chat(" &b.q [mode] &7Queues a gamemode.");
chat(" &b.qlist &7Shows the modes you can queue with the \".q\" command");
chat(" &b.status [player] &7Checks if a player is online or not. (Bypasses filters)");
chatWithPrefix("&7Chat commands - &dModules");
chat(" &b.cname [name] &7Set name hider name.");

View File

@ -40,7 +40,7 @@ public class Q extends Command {
hypixelPlayCommands.put("swsi", "solo_insane");
hypixelPlayCommands.put("swtn", "teams_normal");
hypixelPlayCommands.put("swti", "teams_insane");
hypixelPlayCommands.put("bowd", "duels_bow_duel");
hypixelPlayCommands.put("bowduel", "duels_bow_duel");
hypixelPlayCommands.put("classicduel", "duels_classic_duel");
hypixelPlayCommands.put("opduel", "duels_op_duel");
hypixelPlayCommands.put("uhcduel", "duels_uhc_duel");

View File

@ -0,0 +1,50 @@
package keystrokesmod.utility.command.impl;
import keystrokesmod.utility.Utils;
import keystrokesmod.utility.command.Command;
import java.util.HashMap;
import java.util.Map;
public class QList extends Command {
public QList() {
super("QList");
}
@Override
public void onExecute(String[] args) {
chat(" &7-------------------------------------&r");
chat(" &7Q List:");
chat(" &7 ");
chat(" &7p - Bedwars Practice");
chat(" &71 - Bedwars Solos");
chat(" &72 - Bedwars Doubles");
chat(" &73 - Bedwars Threes");
chat(" &74 - Bedwars Fours");
chat(" &74v4 - Bedwars 4v4");
chat(" &72t - Bedwars Doubles Tourney");
chat(" &72un - Bedwars Doubles Tower Underworld");
chat(" &74un - Bedwars Fours Tower Underworld");
chat(" &72r - Bedwars Doubles Rush");
chat(" &74r - Bedwars Fours Rush");
chat(" &7pit - The Pit");
chat(" &7swsn - Skywars Solo Normal");
chat(" &7swsi - Skywars Solo Insane");
chat(" &7swtn - Skywars Teams Normal");
chat(" &7swti - Skywars Teams Insane");
chat(" &7bowduel - Bow Duel");
chat(" &7classicduel - Classic Duel");
chat(" &7opduel - OP Duel");
chat(" &7uhcduel - UHC Duel");
chat(" &7bridgeduel - Bridge Duel");
chat(" &7uhc - UHC Solos");
chat(" &7uhcteams - UHC Teams");
chat(" &7grinch - Grinch Simulator");
chat(" &7grinchtourney - Grinch Simulator Tournament");
chat(" &7mm - Murder Mystery Classic");
chat(" &7castle - Bedwars Castle");
chat(" &7ww - Wool Wars");
chat(" &7ctw - Capture The Wool");
chat(" &7-------------------------------------");
}
}