This commit is contained in:
parent
72c8a216d9
commit
be40692c0d
|
|
@ -0,0 +1,15 @@
|
|||
package keystrokesmod.event;
|
||||
|
||||
import net.minecraftforge.fml.common.eventhandler.Cancelable;
|
||||
import net.minecraftforge.fml.common.eventhandler.Event;
|
||||
|
||||
@Cancelable
|
||||
public class PreSlotScrollEvent extends Event {
|
||||
public int slot;
|
||||
public int previousSlot;
|
||||
|
||||
public PreSlotScrollEvent(int slot, int previousSlot) {
|
||||
this.slot = slot;
|
||||
this.previousSlot = previousSlot;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
package keystrokesmod.event;
|
||||
|
||||
import net.minecraftforge.fml.common.eventhandler.Event;
|
||||
|
||||
public class SlotUpdateEvent extends Event {
|
||||
public int slot;
|
||||
|
||||
public SlotUpdateEvent(int slot) {
|
||||
this.slot = slot;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,15 +1,23 @@
|
|||
package keystrokesmod.mixin.impl.client;
|
||||
|
||||
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;
|
||||
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;
|
||||
import org.spongepowered.asm.mixin.injection.Redirect;
|
||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Mixin(Minecraft.class)
|
||||
public class MixinMinecraft {
|
||||
@Inject(method = "runTick", at = @At(value = "INVOKE", target = "Lnet/minecraft/profiler/Profiler;endStartSection(Ljava/lang/String;)V", ordinal = 2))
|
||||
|
|
@ -30,4 +38,20 @@ public class MixinMinecraft {
|
|||
GuiUpdateEvent event = new GuiUpdateEvent(setGui, opened);
|
||||
MinecraftForge.EVENT_BUS.post(event);
|
||||
}
|
||||
}
|
||||
|
||||
@Redirect(method = "runTick", at = @At(value = "INVOKE", target = "Lnet/minecraft/entity/player/InventoryPlayer;changeCurrentItem(I)V"))
|
||||
public void changeCurrentItem(InventoryPlayer inventoryPlayer, int slot) {
|
||||
PreSlotScrollEvent event = new PreSlotScrollEvent(slot, inventoryPlayer.currentItem);
|
||||
MinecraftForge.EVENT_BUS.post(event);
|
||||
if (event.isCanceled()) {
|
||||
return;
|
||||
}
|
||||
inventoryPlayer.changeCurrentItem(slot);
|
||||
}
|
||||
|
||||
@Redirect(method = "runTick", at = @At(value = "FIELD", target = "Lnet/minecraft/entity/player/InventoryPlayer;currentItem:I", opcode = Opcodes.PUTFIELD))
|
||||
private void onSetCurrentItem(InventoryPlayer inventoryPlayer, int slot) {
|
||||
MinecraftForge.EVENT_BUS.post(new SlotUpdateEvent(slot));
|
||||
inventoryPlayer.currentItem = slot;
|
||||
}
|
||||
}
|
||||
|
|
@ -8,6 +8,7 @@ import keystrokesmod.event.PreUpdateEvent;
|
|||
import keystrokesmod.module.ModuleManager;
|
||||
import keystrokesmod.module.impl.combat.WTap;
|
||||
import keystrokesmod.module.impl.movement.NoSlow;
|
||||
import keystrokesmod.utility.ModuleUtils;
|
||||
import keystrokesmod.utility.RotationUtils;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.audio.PositionedSoundRecord;
|
||||
|
|
@ -286,7 +287,7 @@ public abstract class MixinEntityPlayerSP extends AbstractClientPlayer {
|
|||
this.setSprinting(true);
|
||||
}
|
||||
|
||||
if (this.isSprinting() && (!ModuleManager.sprint.omniSprint() && !NoSlow.groundSpeed() && !ModuleManager.scaffold.sprint() && (this.movementInput.moveForward < f || !flag3)) || this.isCollidedHorizontally || ModuleManager.sprint.disableBackwards() || (this.movementInput.moveForward == 0 && this.movementInput.moveStrafe == 0) || this.mc.gameSettings.keyBindSneak.isKeyDown() || (ModuleManager.scaffold != null && ModuleManager.scaffold.isEnabled && (!ModuleManager.scaffold.sprint() || ModuleManager.tower.canTower())) || (ModuleManager.wTap.isEnabled() && WTap.stopSprint)) {
|
||||
if (this.isSprinting() && (!ModuleManager.sprint.omniSprint() && !NoSlow.groundSpeed() && !ModuleManager.scaffold.sprint() && (this.movementInput.moveForward < f || !flag3)) || this.isCollidedHorizontally || ModuleManager.sprint.disableBackwards() || ModuleUtils.setSlow || (this.movementInput.moveForward == 0 && this.movementInput.moveStrafe == 0) || this.mc.gameSettings.keyBindSneak.isKeyDown() || (ModuleManager.scaffold != null && ModuleManager.scaffold.isEnabled && (!ModuleManager.scaffold.sprint() || ModuleManager.tower.canTower())) || (ModuleManager.wTap.isEnabled() && WTap.stopSprint) || ModuleManager.sprint.isEnabled() && ModuleManager.sprint.omniDirectional.getInput() > 0 && !ModuleManager.sprint.omniSprint()) {
|
||||
this.setSprinting(false);
|
||||
WTap.stopSprint = false;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ public class ModuleManager {
|
|||
public static Chams chams;
|
||||
public static HUD hud;
|
||||
public static Module timer;
|
||||
public static Module fly;
|
||||
public static Fly fly;
|
||||
public static Module wTap;
|
||||
public static Potions potions;
|
||||
public static TargetHUD targetHUD;
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
package keystrokesmod.module.impl.combat;
|
||||
|
||||
import keystrokesmod.Raven;
|
||||
import keystrokesmod.clickgui.ClickGui;
|
||||
import keystrokesmod.event.*;
|
||||
import keystrokesmod.mixin.impl.accessor.IAccessorMinecraft;
|
||||
import keystrokesmod.module.Module;
|
||||
|
|
@ -12,6 +13,7 @@ import keystrokesmod.module.impl.world.AntiBot;
|
|||
import keystrokesmod.module.setting.impl.ButtonSetting;
|
||||
import keystrokesmod.module.setting.impl.SliderSetting;
|
||||
import keystrokesmod.utility.*;
|
||||
import net.minecraft.client.gui.GuiChat;
|
||||
import net.minecraft.client.settings.KeyBinding;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.EntityCreature;
|
||||
|
|
@ -69,8 +71,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", "7" };
|
||||
private String[] interactBModes = new String[] { "10", "8.5" };
|
||||
private String[] interactAModes = new String[] { "10", "7", "8.5" };
|
||||
private String[] interactBModes = new String[] { "10", "7", "8.5" };
|
||||
private String[] rotationModes = new String[] { "Silent", "Lock view", "None" };
|
||||
private String[] sortModes = new String[] { "Distance", "Health", "Hurttime", "Yaw" };
|
||||
|
||||
|
|
@ -90,7 +92,7 @@ public class KillAura extends Module {
|
|||
public boolean blockingClient;
|
||||
public boolean blockingServer;
|
||||
private int interactTicks;
|
||||
private boolean firstCycle;
|
||||
private boolean firstCycle = true;
|
||||
private boolean partialDown;
|
||||
private int partialTicks;
|
||||
private int firstEdge, firstGyatt;
|
||||
|
|
@ -224,7 +226,7 @@ public class KillAura extends Module {
|
|||
|
||||
@SubscribeEvent
|
||||
public void onPreUpdate(PreUpdateEvent e) {
|
||||
if (!Utils.nullCheck()) {
|
||||
if (!Utils.nullCheck() || ModuleUtils.profileTicks <= 1) {
|
||||
return;
|
||||
}
|
||||
if (target != null && Utils.holdingSword()) {
|
||||
|
|
@ -239,7 +241,7 @@ public class KillAura extends Module {
|
|||
checkUsing = false;
|
||||
}
|
||||
if (target == null && Utils.tabbedIn()) {
|
||||
if (checkUsing && !sendUnBlock && Mouse.isButtonDown(1) && !blinkAutoBlock() && Utils.holdingSword()) {
|
||||
if (checkUsing && !sendUnBlock && Mouse.isButtonDown(1) && !blinkAutoBlock()) {
|
||||
KeyBinding.setKeyBindState(mc.gameSettings.keyBindUseItem.getKeyCode(), true);
|
||||
checkUsing = false;
|
||||
}
|
||||
|
|
@ -249,7 +251,7 @@ public class KillAura extends Module {
|
|||
disableCTicks = 0;
|
||||
}
|
||||
if (blinkAutoBlock()) {
|
||||
EntityLivingBase g = Utils.raytrace(3);
|
||||
EntityLivingBase g = Utils.raytrace(4);
|
||||
/*if ((g != null || BlockUtils.isInteractable(mc.objectMouseOver)) && Utils.holdingSword()) {
|
||||
canUse = Mouse.isButtonDown(1);
|
||||
}
|
||||
|
|
@ -324,6 +326,13 @@ public class KillAura extends Module {
|
|||
return;
|
||||
}
|
||||
|
||||
if (ModuleManager.fly.isEnabled() && ModuleManager.fly.mode.getInput() == 3) {
|
||||
if (blinking.get() || lag) {
|
||||
resetBlinkState(true);
|
||||
}
|
||||
setTarget(null);
|
||||
return;
|
||||
}
|
||||
|
||||
if (ModuleManager.blink.isEnabled()) {
|
||||
if (blinking.get() || lag) {
|
||||
|
|
@ -403,7 +412,7 @@ public class KillAura extends Module {
|
|||
}
|
||||
return;
|
||||
}
|
||||
if (!basicCondition() || !settingCondition()) {
|
||||
if (!basicCondition() || !settingCondition() || ModuleManager.fly.isEnabled() && ModuleManager.fly.mode.getInput() == 3) {
|
||||
setTarget(null);
|
||||
if (rotated) {
|
||||
resetYaw(e);
|
||||
|
|
@ -491,12 +500,16 @@ public class KillAura extends Module {
|
|||
}
|
||||
if (e.button == 0 || e.button == 1) {
|
||||
if (e.button == 1) {
|
||||
EntityLivingBase g = Utils.raytrace(3);
|
||||
EntityLivingBase g = Utils.raytrace(4);
|
||||
if (blinkAutoBlock() && Utils.holdingSword() && g == null && !BlockUtils.isInteractable(mc.objectMouseOver)) {
|
||||
e.setCanceled(true);
|
||||
}
|
||||
}
|
||||
if (!Utils.holdingWeapon() || target == null) {
|
||||
if (target == null) {
|
||||
return;
|
||||
}
|
||||
boolean inAttackDistance = inRange(target, attackRange.getInput() - 0.006);
|
||||
if (!Utils.holdingWeapon() || manualBlock() && target != null && !inAttackDistance) {
|
||||
return;
|
||||
}
|
||||
e.setCanceled(true);
|
||||
|
|
@ -570,7 +583,7 @@ public class KillAura extends Module {
|
|||
}
|
||||
}
|
||||
|
||||
private void setTarget(Entity entity) {
|
||||
public void setTarget(Entity entity) {
|
||||
if (entity == null || !(entity instanceof EntityLivingBase)) {
|
||||
if (blockingClient) {
|
||||
//Reflection.setItemInUse(blockingClient = false);
|
||||
|
|
@ -883,6 +896,9 @@ public class KillAura extends Module {
|
|||
case 1:
|
||||
getInteractA1(distance, swung);
|
||||
break;
|
||||
case 2:
|
||||
getInteractA2(distance, swung);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case 4: // interact b
|
||||
|
|
@ -893,6 +909,9 @@ public class KillAura extends Module {
|
|||
case 1:
|
||||
getInteractB1(distance, swung);
|
||||
break;
|
||||
case 2:
|
||||
getInteractB2(distance, swung);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
|
@ -958,6 +977,78 @@ public class KillAura extends Module {
|
|||
}
|
||||
}
|
||||
|
||||
private void getInteractA2(double distance, boolean swung) {
|
||||
if (interactTicks == 0) {
|
||||
firstEdge++;
|
||||
}
|
||||
interactTicks++;
|
||||
if (firstCycle) {
|
||||
switch (interactTicks) {
|
||||
case 1:
|
||||
blinking.set(true);
|
||||
if (ModuleUtils.isBlocked) {
|
||||
mc.thePlayer.sendQueue.addToSendQueue(new C07PacketPlayerDigging(C07PacketPlayerDigging.Action.RELEASE_USE_ITEM, BlockPos.ORIGIN, DOWN));
|
||||
lag = false;
|
||||
}
|
||||
else {
|
||||
handleInteractAndAttack(distance, true, true, swung);
|
||||
sendBlockPacket();
|
||||
lag = true;
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
if (!lag) {
|
||||
handleInteractAndAttack(distance, true, true, swung);
|
||||
sendBlockPacket();
|
||||
}
|
||||
releasePackets(); // release
|
||||
lag = true;
|
||||
break;
|
||||
case 3:
|
||||
if (firstEdge >= 4) {
|
||||
firstEdge = 0;
|
||||
firstCycle = false;
|
||||
}
|
||||
interactTicks = 0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
else {
|
||||
switch (interactTicks) {
|
||||
case 1:
|
||||
blinking.set(true);
|
||||
if (ModuleUtils.isBlocked) {
|
||||
mc.thePlayer.sendQueue.addToSendQueue(new C07PacketPlayerDigging(C07PacketPlayerDigging.Action.RELEASE_USE_ITEM, BlockPos.ORIGIN, DOWN));
|
||||
lag = false;
|
||||
}
|
||||
else {
|
||||
handleInteractAndAttack(distance, true, true, swung);
|
||||
sendBlockPacket();
|
||||
releasePackets(); // release
|
||||
lag = true;
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
if (!lag) {
|
||||
handleInteractAndAttack(distance, true, true, swung);
|
||||
sendBlockPacket();
|
||||
lag = true;
|
||||
}
|
||||
releasePackets(); // release
|
||||
if (firstEdge >= 2) {
|
||||
firstEdge = 0;
|
||||
firstCycle = true;
|
||||
}
|
||||
interactTicks = 0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void getInteractB0(double distance, boolean swung) {
|
||||
if (interactTicks >= 2) {
|
||||
interactTicks = 0;
|
||||
|
|
@ -994,6 +1085,41 @@ 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;
|
||||
lag = false;
|
||||
}
|
||||
else {
|
||||
handleInteractAndAttack(distance, true, true, swung);
|
||||
sendBlockPacket();
|
||||
releasePackets(); // release
|
||||
lag = true;
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
if (swapped) {
|
||||
setCurrentSlot();
|
||||
swapped = false;
|
||||
}
|
||||
if (!lag) {
|
||||
handleInteractAndAttack(distance, true, true, swung);
|
||||
sendBlockPacket();
|
||||
releasePackets(); // release
|
||||
lag = true;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
private void getInteractB2(double distance, boolean swung) {
|
||||
if (interactTicks >= 3) {
|
||||
interactTicks = 0;
|
||||
}
|
||||
|
|
@ -1003,7 +1129,7 @@ public class KillAura extends Module {
|
|||
case 1:
|
||||
blinking.set(true);
|
||||
if (ModuleUtils.isBlocked) {
|
||||
if (firstGyatt == 1) {
|
||||
if (firstGyatt == 3) {
|
||||
setSwapSlot();
|
||||
swapped = true;
|
||||
}
|
||||
|
|
@ -1024,6 +1150,10 @@ public class KillAura extends Module {
|
|||
}
|
||||
break;
|
||||
case 2:
|
||||
if (swapped) {
|
||||
setCurrentSlot();
|
||||
swapped = false;
|
||||
}
|
||||
if (!lag) {
|
||||
handleInteractAndAttack(distance, true, true, swung);
|
||||
sendBlockPacket();
|
||||
|
|
@ -1045,7 +1175,7 @@ public class KillAura extends Module {
|
|||
case 1:
|
||||
blinking.set(true);
|
||||
if (ModuleUtils.isBlocked) {
|
||||
if (firstEdge == 3) {
|
||||
if (firstEdge == 1) {
|
||||
setSwapSlot();
|
||||
swapped = true;
|
||||
}
|
||||
|
|
@ -1113,13 +1243,16 @@ public class KillAura extends Module {
|
|||
}
|
||||
|
||||
private boolean settingCondition() {
|
||||
if (getOtherGUIs() && Mouse.isButtonDown(0)) {
|
||||
return false;
|
||||
}
|
||||
if (requireMouseDown.isToggled() && !Mouse.isButtonDown(0)) {
|
||||
return false;
|
||||
}
|
||||
else if (weaponOnly.isToggled() && !Utils.holdingWeapon()) {
|
||||
return false;
|
||||
}
|
||||
else if (disableWhileMining.isToggled() && isMining()) {
|
||||
else if (disableWhileMining.isToggled() && isMining() && Utils.tabbedIn()) {
|
||||
return false;
|
||||
}
|
||||
else if (disableInInventory.isToggled() && Settings.inInventory()) {
|
||||
|
|
@ -1131,6 +1264,19 @@ public class KillAura extends Module {
|
|||
return true;
|
||||
}
|
||||
|
||||
private boolean getOtherGUIs() {
|
||||
if (mc.currentScreen == null) {
|
||||
return false;
|
||||
}
|
||||
if (mc.currentScreen instanceof ClickGui) {
|
||||
return false;
|
||||
}
|
||||
if (mc.currentScreen instanceof GuiChat) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
private boolean isMining() {
|
||||
return Mouse.isButtonDown(0) && mc.objectMouseOver != null && mc.objectMouseOver.typeOfHit == MovingObjectPosition.MovingObjectType.BLOCK && mc.objectMouseOver.getBlockPos() != null;
|
||||
}
|
||||
|
|
@ -1316,7 +1462,7 @@ public class KillAura extends Module {
|
|||
swapped = false;
|
||||
lag = false;
|
||||
firstEdge = firstGyatt = interactTicks = 0;
|
||||
firstCycle = false;
|
||||
firstCycle = true;
|
||||
}
|
||||
|
||||
public void sendDigPacket() {
|
||||
|
|
|
|||
|
|
@ -1,11 +1,13 @@
|
|||
package keystrokesmod.module.impl.combat;
|
||||
|
||||
import keystrokesmod.event.PreUpdateEvent;
|
||||
import keystrokesmod.event.ReceivePacketEvent;
|
||||
import keystrokesmod.event.SendPacketEvent;
|
||||
import keystrokesmod.module.Module;
|
||||
import keystrokesmod.module.ModuleManager;
|
||||
import keystrokesmod.module.impl.movement.LongJump;
|
||||
import keystrokesmod.module.setting.impl.ButtonSetting;
|
||||
import keystrokesmod.module.setting.impl.KeySetting;
|
||||
import keystrokesmod.module.setting.impl.SliderSetting;
|
||||
import keystrokesmod.utility.Utils;
|
||||
import keystrokesmod.utility.ModuleUtils;
|
||||
|
|
@ -18,20 +20,23 @@ import net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent;
|
|||
import org.lwjgl.input.Keyboard;
|
||||
|
||||
public class Velocity extends Module {
|
||||
private SliderSetting velocityModes;
|
||||
public static SliderSetting horizontal;
|
||||
public static SliderSetting vertical;
|
||||
public SliderSetting velocityModes;
|
||||
public static SliderSetting vertical, horizontal, reverseHorizontal;
|
||||
public static SliderSetting minExtraSpeed, extraSpeedBoost;
|
||||
private SliderSetting chance;
|
||||
private ButtonSetting onlyWhileAttacking;
|
||||
private ButtonSetting onlyWhileTargeting;
|
||||
private ButtonSetting disableS;
|
||||
private ButtonSetting zzWhileNotTargeting;
|
||||
private ButtonSetting disableExplosions;
|
||||
private ButtonSetting allowSelfFireball;
|
||||
public ButtonSetting allowSelfFireball;
|
||||
public static ButtonSetting reverseDebug;
|
||||
private KeySetting switchToReverse, switchToHypixel;
|
||||
private boolean stopFBvelo;
|
||||
public boolean disableVelo;
|
||||
private long delay;
|
||||
|
||||
private String[] velocityModesString = new String[] { "Normal", "Hypixel" };
|
||||
private String[] velocityModesString = new String[] { "Normal", "Hypixel", "Reverse" };
|
||||
|
||||
|
||||
public Velocity() {
|
||||
|
|
@ -39,6 +44,11 @@ public class Velocity extends Module {
|
|||
this.registerSetting(velocityModes = new SliderSetting("Mode", 0, velocityModesString));
|
||||
this.registerSetting(horizontal = new SliderSetting("Horizontal", 0.0, 0.0, 100.0, 1.0));
|
||||
this.registerSetting(vertical = new SliderSetting("Vertical", 0.0, 0.0, 100.0, 1.0));
|
||||
|
||||
this.registerSetting(reverseHorizontal = new SliderSetting("-Horizontal", 0.0, 0.0, 100.0, 1.0));
|
||||
this.registerSetting(minExtraSpeed = new SliderSetting("Maximum speed for extra boost", 0, 0, 0.7, 0.01));
|
||||
this.registerSetting(extraSpeedBoost = new SliderSetting("Extra speed boost multiplier", "%", 0, 0, 100, 1));
|
||||
|
||||
this.registerSetting(chance = new SliderSetting("Chance", "%", 100.0D, 0.0D, 100.0D, 1.0D));
|
||||
this.registerSetting(onlyWhileAttacking = new ButtonSetting("Only while attacking", false));
|
||||
this.registerSetting(onlyWhileTargeting = new ButtonSetting("Only while targeting", false));
|
||||
|
|
@ -46,6 +56,11 @@ public class Velocity extends Module {
|
|||
this.registerSetting(zzWhileNotTargeting = new ButtonSetting("00 while not targeting", false));
|
||||
this.registerSetting(disableExplosions = new ButtonSetting("Disable explosions", false));
|
||||
this.registerSetting(allowSelfFireball = new ButtonSetting("Allow self fireball", false));
|
||||
|
||||
this.registerSetting(switchToReverse = new KeySetting("Switch to reverse", Keyboard.KEY_SPACE));
|
||||
this.registerSetting(switchToHypixel = new KeySetting("Switch to hypixel", Keyboard.KEY_SPACE));
|
||||
|
||||
this.registerSetting(reverseDebug = new ButtonSetting("Show reverse debug messages", false));
|
||||
}
|
||||
|
||||
public void guiUpdate() {
|
||||
|
|
@ -56,12 +71,46 @@ public class Velocity extends Module {
|
|||
this.allowSelfFireball.setVisible(velocityModes.getInput() == 1, this);
|
||||
this.disableExplosions.setVisible(velocityModes.getInput() == 1, this);
|
||||
this.zzWhileNotTargeting.setVisible(velocityModes.getInput() == 1, this);
|
||||
|
||||
this.switchToReverse.setVisible(velocityModes.getInput() == 1, this);
|
||||
this.switchToHypixel.setVisible(velocityModes.getInput() == 2, this);
|
||||
|
||||
|
||||
|
||||
horizontal.setVisible(velocityModes.getInput() != 2, this);
|
||||
vertical.setVisible(velocityModes.getInput() != 2, this);
|
||||
chance.setVisible(velocityModes.getInput() != 2, this);
|
||||
reverseHorizontal.setVisible(velocityModes.getInput() == 2, this);
|
||||
|
||||
minExtraSpeed.setVisible(velocityModes.getInput() == 2, this);
|
||||
extraSpeedBoost.setVisible(velocityModes.getInput() == 2, this);
|
||||
reverseDebug.setVisible(velocityModes.getInput() == 2, this);
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public void onPreUpdate(PreUpdateEvent e) {
|
||||
if (Utils.tabbedIn()) {
|
||||
if (switchToReverse.isPressed() && velocityModes.getInput() == 1 && delay == 0) {
|
||||
velocityModes.setValue(2);
|
||||
delay = Utils.time();
|
||||
Utils.print(Utils.formatColor("&7[&dR&7]&7 Switched to &bReverse&7 Velocity mode"));
|
||||
}
|
||||
if (switchToHypixel.isPressed() && velocityModes.getInput() == 2 && delay == 0) {
|
||||
velocityModes.setValue(1);
|
||||
delay = Utils.time();
|
||||
Utils.print(Utils.formatColor("&7[&dR&7]&7 Switched to &bHypixel&7 Velocity mode"));
|
||||
}
|
||||
}
|
||||
if (delay > 0 && (Utils.time() - delay) > 100) {
|
||||
delay = 0;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public void onReceivePacket(ReceivePacketEvent e) {
|
||||
if (velocityModes.getInput() == 1) {
|
||||
if (!Utils.nullCheck() || LongJump.stopVelocity || e.isCanceled() || ModuleManager.bedAura.cancelKnockback()) {
|
||||
if (!Utils.nullCheck() || LongJump.stopVelocity || e.isCanceled() || ModuleManager.bedAura.cancelKnockback() || velocityModes.getInput() == 2 && ModuleUtils.firstDamage || ModuleManager.bhop.isEnabled() && ModuleManager.bhop.damageBoost.isToggled() && ModuleUtils.firstDamage && (!ModuleManager.bhop.damageBoostRequireKey.isToggled() || ModuleManager.bhop.damageBoostKey.isPressed())) {
|
||||
return;
|
||||
}
|
||||
if (e.getPacket() instanceof S27PacketExplosion) {
|
||||
|
|
|
|||
|
|
@ -1,34 +1,48 @@
|
|||
package keystrokesmod.module.impl.movement;
|
||||
|
||||
import keystrokesmod.event.PostMotionEvent;
|
||||
import keystrokesmod.event.PostPlayerInputEvent;
|
||||
import keystrokesmod.event.PreMotionEvent;
|
||||
import keystrokesmod.module.Module;
|
||||
import keystrokesmod.module.ModuleManager;
|
||||
import keystrokesmod.module.impl.client.Settings;
|
||||
import keystrokesmod.module.impl.combat.Velocity;
|
||||
import keystrokesmod.module.setting.impl.ButtonSetting;
|
||||
import keystrokesmod.module.setting.impl.GroupSetting;
|
||||
import keystrokesmod.module.setting.impl.KeySetting;
|
||||
import keystrokesmod.module.setting.impl.SliderSetting;
|
||||
import keystrokesmod.utility.ModuleUtils;
|
||||
import keystrokesmod.utility.RotationUtils;
|
||||
import keystrokesmod.utility.Utils;
|
||||
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
|
||||
import org.lwjgl.input.Keyboard;
|
||||
|
||||
public class Bhop extends Module {
|
||||
public SliderSetting mode;
|
||||
public static SliderSetting speedSetting;
|
||||
private ButtonSetting liquidDisable;
|
||||
private ButtonSetting sneakDisable;
|
||||
public ButtonSetting rotateYawOption;
|
||||
public String[] modes = new String[]{"Strafe", "Ground", "8 tick", "7 tick"};
|
||||
public boolean hopping, lowhop, didMove, collided, setRotation;
|
||||
private ButtonSetting sneakDisable, jumpMoving;
|
||||
public ButtonSetting rotateYawOption, damageBoost, airStrafe, damageBoostRequireKey;
|
||||
public GroupSetting damageBoostGroup;
|
||||
public KeySetting damageBoostKey;
|
||||
public String[] modes = new String[]{"Strafe", "Ground", "9 tick", "8 tick", "7 tick"};
|
||||
public boolean hopping, lowhop, didMove, setRotation;
|
||||
private int motionTick = 0;
|
||||
|
||||
public Bhop() {
|
||||
super("Bhop", Module.category.movement);
|
||||
this.registerSetting(mode = new SliderSetting("Mode", 0, modes));
|
||||
this.registerSetting(speedSetting = new SliderSetting("Speed", 2.0, 0.5, 8.0, 0.1));
|
||||
this.registerSetting(speedSetting = new SliderSetting("Speed", 2.0, 0.8, 1.2, 0.01));
|
||||
this.registerSetting(liquidDisable = new ButtonSetting("Disable in liquid", true));
|
||||
this.registerSetting(sneakDisable = new ButtonSetting("Disable while sneaking", true));
|
||||
this.registerSetting(jumpMoving = new ButtonSetting("Only jump when moving", true));
|
||||
this.registerSetting(rotateYawOption = new ButtonSetting("Rotate yaw", false));
|
||||
this.registerSetting(damageBoostGroup = new GroupSetting("Damage boost"));
|
||||
this.registerSetting(damageBoost = new ButtonSetting(damageBoostGroup, "Enable", false));
|
||||
this.registerSetting(damageBoostRequireKey = new ButtonSetting(damageBoostGroup,"Require key", false));
|
||||
this.registerSetting(damageBoostKey = new KeySetting(damageBoostGroup,"Enable key", 51));
|
||||
}
|
||||
|
||||
public void guiUpdate() {
|
||||
this.damageBoostKey.setVisible(damageBoostRequireKey.isToggled(), this);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -54,44 +68,46 @@ public class Bhop extends Module {
|
|||
if (ModuleManager.bedAura.isEnabled() && ModuleManager.bedAura.disableBHop.isToggled() && ModuleManager.bedAura.currentBlock != null && RotationUtils.inRange(ModuleManager.bedAura.currentBlock, ModuleManager.bedAura.range.getInput())) {
|
||||
return;
|
||||
}
|
||||
if (ModuleManager.scaffold.moduleEnabled && (ModuleManager.tower.canTower() || ModuleManager.scaffold.fastScaffoldKeepY)) {
|
||||
if (ModuleManager.scaffold.moduleEnabled || ModuleManager.scaffold.lowhop) {
|
||||
return;
|
||||
}
|
||||
if (ModuleManager.LongJump.function) {
|
||||
return;
|
||||
}
|
||||
motionTick = 0;
|
||||
if (mode.getInput() >= 1) {
|
||||
if (mc.thePlayer.isCollidedHorizontally) {
|
||||
collided = true;
|
||||
} else if (mc.thePlayer.onGround) {
|
||||
collided = false;
|
||||
}
|
||||
if (mc.thePlayer.onGround) {
|
||||
if (mc.thePlayer.onGround && (!jumpMoving.isToggled() || Utils.isMoving())) {
|
||||
if (mc.thePlayer.moveForward <= -0.5 && mc.thePlayer.moveStrafing == 0 && !ModuleManager.killAura.isTargeting && !Utils.noSlowingBackWithBow() && !ModuleManager.scaffold.isEnabled && !mc.thePlayer.isCollidedHorizontally) {
|
||||
setRotation = true;
|
||||
}
|
||||
mc.thePlayer.jump();
|
||||
double horizontalSpeed = Utils.getHorizontalSpeed();
|
||||
double speedModifier = 0.48;
|
||||
double speed = (speedSetting.getInput() - 0.52);
|
||||
double speedModifier = speed;
|
||||
final int speedAmplifier = Utils.getSpeedAmplifier();
|
||||
switch (speedAmplifier) {
|
||||
case 1:
|
||||
speedModifier = 0.5;
|
||||
speedModifier = speed + 0.02;
|
||||
break;
|
||||
case 2:
|
||||
speedModifier = 0.52;
|
||||
speedModifier = speed + 0.04;
|
||||
break;
|
||||
case 3:
|
||||
speedModifier = 0.58;
|
||||
speedModifier = speed + 0.1;
|
||||
break;
|
||||
}
|
||||
double additionalSpeed = speedModifier * ((speedSetting.getInput() - 1.0) / 3.0 + 1.0);
|
||||
if (horizontalSpeed < additionalSpeed) {
|
||||
horizontalSpeed = additionalSpeed;
|
||||
}
|
||||
|
||||
if (Utils.isMoving() && !Utils.noSlowingBackWithBow() && !ModuleManager.sprint.disableBackwards()) {
|
||||
Utils.setSpeed(horizontalSpeed);
|
||||
Utils.setSpeed(speedModifier - Utils.randomizeDouble(0.0003, 0.0001));
|
||||
didMove = true;
|
||||
}
|
||||
hopping = true;
|
||||
}
|
||||
if (mc.thePlayer.moveForward <= 0.5 && hopping) {
|
||||
ModuleUtils.handleSlow();
|
||||
}
|
||||
if (!mc.thePlayer.onGround) {
|
||||
hopping = false;
|
||||
}
|
||||
}
|
||||
switch ((int) mode.getInput()) {
|
||||
case 0:
|
||||
|
|
@ -107,45 +123,7 @@ public class Bhop extends Module {
|
|||
break;
|
||||
case 1:
|
||||
break;
|
||||
case 2:
|
||||
if (mode.getInput() == 2 && didMove) {
|
||||
int simpleY = (int) Math.round((e.posY % 1) * 10000);
|
||||
|
||||
if (mc.thePlayer.hurtTime == 0 && !collided) {
|
||||
switch (simpleY) {
|
||||
case 13:
|
||||
mc.thePlayer.motionY = mc.thePlayer.motionY - 0.02483;
|
||||
break;
|
||||
case 2000:
|
||||
mc.thePlayer.motionY = mc.thePlayer.motionY - 0.1913;
|
||||
didMove = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
if (mode.getInput() == 3 && didMove) {
|
||||
int simpleY = (int) Math.round((e.posY % 1) * 10000);
|
||||
|
||||
if (mc.thePlayer.hurtTime == 0 && !collided) {
|
||||
switch (simpleY) {
|
||||
case 4200:
|
||||
mc.thePlayer.motionY = 0.39;
|
||||
lowhop = true;
|
||||
break;
|
||||
case 1138:
|
||||
mc.thePlayer.motionY = mc.thePlayer.motionY - 0.13;
|
||||
lowhop = false;
|
||||
break;
|
||||
case 2031:
|
||||
mc.thePlayer.motionY = mc.thePlayer.motionY - 0.2;
|
||||
didMove = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
//lowhops
|
||||
}
|
||||
/*if (rotateYawOption.isToggled()) {
|
||||
if (!ModuleManager.killAura.isTargeting && !Utils.noSlowingBackWithBow() && !ModuleManager.scaffold.isEnabled && !mc.thePlayer.isCollidedHorizontally && mc.thePlayer.onGround) {
|
||||
|
|
@ -153,6 +131,11 @@ public class Bhop extends Module {
|
|||
e.setYaw(yaw - hardcodedYaw());
|
||||
}
|
||||
}*/
|
||||
|
||||
//if (airStrafe.isToggled()) {
|
||||
//airStrafe();
|
||||
//}
|
||||
|
||||
}
|
||||
|
||||
public float hardcodedYaw() {
|
||||
|
|
@ -171,6 +154,39 @@ public class Bhop extends Module {
|
|||
return simpleYaw;
|
||||
}
|
||||
|
||||
void airStrafe() {
|
||||
if (!mc.thePlayer.onGround && mc.thePlayer.hurtTime < 3 && Utils.isMoving()) {
|
||||
float moveDirection = moveDirection(Utils.getLastReportedYaw());
|
||||
float strafeDirection = strafeDirection();
|
||||
float diff = Math.abs(moveDirection - strafeDirection);
|
||||
int range = 70;
|
||||
|
||||
if (diff > 180 - range && diff < 180 + range) {
|
||||
Utils.setSpeed(Utils.getHorizontalSpeed() * Utils.randomizeDouble(0.831, 0.8405));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
float moveDirection(float rawYaw) {
|
||||
float yaw = ((rawYaw % 360) + 360) % 360 > 180 ? ((rawYaw % 360) + 360) % 360 - 360 : ((rawYaw % 360) + 360) % 360;
|
||||
float forward = 1;
|
||||
|
||||
if (mc.thePlayer.moveForward < 0) yaw += 180;
|
||||
if (mc.thePlayer.moveForward < 0) forward = -0.5F;
|
||||
if (mc.thePlayer.moveForward > 0) forward = 0.5F;
|
||||
|
||||
if (mc.thePlayer.moveStrafing > 0) yaw -= 90 * forward;
|
||||
if (mc.thePlayer.moveStrafing < 0) yaw += 90 * forward;
|
||||
|
||||
return (float) (yaw);
|
||||
}
|
||||
|
||||
float strafeDirection() {
|
||||
float yaw = (float) Math.toDegrees(Math.atan2(-mc.thePlayer.motionX, mc.thePlayer.motionZ));
|
||||
if (yaw < 0) yaw += 360;
|
||||
return yaw;
|
||||
}
|
||||
|
||||
public void onDisable() {
|
||||
hopping = false;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,35 +1,48 @@
|
|||
package keystrokesmod.module.impl.movement;
|
||||
|
||||
import keystrokesmod.event.PostMotionEvent;
|
||||
import keystrokesmod.event.PreMotionEvent;
|
||||
import keystrokesmod.event.PrePlayerInputEvent;
|
||||
import keystrokesmod.module.Module;
|
||||
import keystrokesmod.module.ModuleManager;
|
||||
import keystrokesmod.module.setting.impl.ButtonSetting;
|
||||
import keystrokesmod.module.setting.impl.SliderSetting;
|
||||
import keystrokesmod.utility.RenderUtils;
|
||||
import keystrokesmod.utility.Utils;
|
||||
import net.minecraftforge.fml.common.eventhandler.EventPriority;
|
||||
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
|
||||
import net.minecraftforge.fml.common.gameevent.TickEvent;
|
||||
import org.apache.commons.lang3.RandomUtils;
|
||||
|
||||
public class Fly extends Module {
|
||||
private SliderSetting mode;
|
||||
public SliderSetting mode;
|
||||
public static SliderSetting horizontalSpeed;
|
||||
private SliderSetting verticalSpeed;
|
||||
private ButtonSetting showBPS;
|
||||
private ButtonSetting stopMotion;
|
||||
private boolean d;
|
||||
private boolean a = false;
|
||||
private String[] modes = new String[]{"Vanilla", "Fast", "Fast 2"};
|
||||
private float firstYaw, firstPitch;
|
||||
private String[] modes = new String[]{"Vanilla", "Fast", "Fast 2", "Freeze"};
|
||||
|
||||
public Fly() {
|
||||
super("Fly", category.movement);
|
||||
this.registerSetting(mode = new SliderSetting("Fly", 0, modes));
|
||||
this.registerSetting(horizontalSpeed = new SliderSetting("Horizontal speed", 2.0, 1.0, 9.0, 0.1));
|
||||
this.registerSetting(verticalSpeed = new SliderSetting("Vertical speed", 2.0, 1.0, 9.0, 0.1));
|
||||
this.registerSetting(horizontalSpeed = new SliderSetting("Horizontal speed", 2.0, 0.0, 9.0, 0.1));
|
||||
this.registerSetting(verticalSpeed = new SliderSetting("Vertical speed", 2.0, 0.0, 9.0, 0.1));
|
||||
this.registerSetting(showBPS = new ButtonSetting("Show BPS", false));
|
||||
this.registerSetting(stopMotion = new ButtonSetting("Stop motion", false));
|
||||
}
|
||||
|
||||
public void guiUpdate() {
|
||||
horizontalSpeed.setVisible(mode.getInput() < 3, this);
|
||||
this.verticalSpeed.setVisible(mode.getInput() < 3, this);
|
||||
}
|
||||
|
||||
public void onEnable() {
|
||||
this.d = mc.thePlayer.capabilities.isFlying;
|
||||
firstYaw = mc.thePlayer.rotationYaw;
|
||||
firstPitch = mc.thePlayer.rotationPitch;
|
||||
}
|
||||
|
||||
public void onUpdate() {
|
||||
|
|
@ -70,10 +83,32 @@ public class Fly extends Module {
|
|||
mc.thePlayer.motionY = 0.0;
|
||||
setSpeed(0.4 * horizontalSpeed.getInput());
|
||||
break;
|
||||
case 3:
|
||||
mc.thePlayer.motionX = 0;
|
||||
mc.thePlayer.motionY = 0;
|
||||
mc.thePlayer.motionZ = 0;
|
||||
Utils.setSpeed(0);
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@SubscribeEvent(priority = EventPriority.LOWEST) // called last in order to apply fix
|
||||
public void onMoveInput(PrePlayerInputEvent e) {
|
||||
if (mode.getInput() == 3) {
|
||||
e.setForward(0);
|
||||
e.setStrafe(0);
|
||||
}
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public void onPreMotion(PreMotionEvent e) {
|
||||
if (mode.getInput() == 3) {
|
||||
e.setYaw(firstYaw);
|
||||
e.setPitch(firstPitch);
|
||||
}
|
||||
}
|
||||
|
||||
public void onDisable() {
|
||||
if (mc.thePlayer.capabilities.allowFlying) {
|
||||
mc.thePlayer.capabilities.isFlying = this.d;
|
||||
|
|
|
|||
|
|
@ -1,18 +1,23 @@
|
|||
package keystrokesmod.module.impl.movement;
|
||||
|
||||
import keystrokesmod.Raven;
|
||||
import keystrokesmod.event.PrePlayerInputEvent;
|
||||
import keystrokesmod.event.*;
|
||||
import keystrokesmod.mixin.impl.accessor.IAccessorMinecraft;
|
||||
import keystrokesmod.mixin.interfaces.IMixinItemRenderer;
|
||||
import keystrokesmod.module.Module;
|
||||
import keystrokesmod.module.ModuleManager;
|
||||
import keystrokesmod.module.setting.impl.ButtonSetting;
|
||||
import keystrokesmod.module.setting.impl.KeySetting;
|
||||
import keystrokesmod.module.setting.impl.SliderSetting;
|
||||
import keystrokesmod.utility.ModuleUtils;
|
||||
import keystrokesmod.utility.PacketUtils;
|
||||
import keystrokesmod.utility.Utils;
|
||||
import net.minecraft.init.Items;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.network.Packet;
|
||||
import net.minecraft.network.play.client.C08PacketPlayerBlockPlacement;
|
||||
import net.minecraft.network.play.client.C09PacketHeldItemChange;
|
||||
import net.minecraft.network.play.server.*;
|
||||
import net.minecraft.potion.PotionEffect;
|
||||
import net.minecraftforge.fml.common.eventhandler.EventPriority;
|
||||
|
|
@ -35,6 +40,7 @@ public class LongJump extends Module {
|
|||
private ButtonSetting invertYaw;
|
||||
private ButtonSetting stopMovement;
|
||||
private ButtonSetting hideExplosion;
|
||||
public ButtonSetting spoofItem;
|
||||
|
||||
private KeySetting temporaryFlightKey;
|
||||
private SliderSetting pitchVal;
|
||||
|
|
@ -48,10 +54,10 @@ public class LongJump extends Module {
|
|||
|
||||
private boolean notMoving;
|
||||
private boolean enabled;
|
||||
public boolean function;
|
||||
public static boolean function;
|
||||
|
||||
private int boostTicks;
|
||||
private int lastSlot = -1;
|
||||
public int lastSlot = -1;
|
||||
private int stopTime;
|
||||
private int rotateTick;
|
||||
private int motionDecayVal;
|
||||
|
|
@ -65,6 +71,8 @@ public class LongJump extends Module {
|
|||
public static boolean slotReset;
|
||||
public static int slotResetTicks;
|
||||
|
||||
private int firstSlot = -1;
|
||||
|
||||
public LongJump() {
|
||||
super("Long Jump", category.movement);
|
||||
this.registerSetting(mode = new SliderSetting("Mode", 0, modes));
|
||||
|
|
@ -80,6 +88,7 @@ public class LongJump extends Module {
|
|||
this.registerSetting(invertYaw = new ButtonSetting("Invert yaw", true));
|
||||
this.registerSetting(stopMovement = new ButtonSetting("Stop movement", false));
|
||||
this.registerSetting(hideExplosion = new ButtonSetting("Hide explosion", false));
|
||||
this.registerSetting(spoofItem = new ButtonSetting("Spoof item", false));
|
||||
|
||||
this.registerSetting(temporaryFlightKey = new KeySetting("Vertical key", Keyboard.KEY_SPACE));
|
||||
}
|
||||
|
|
@ -98,6 +107,11 @@ public class LongJump extends Module {
|
|||
return;
|
||||
}
|
||||
if (!manual.isToggled()) {
|
||||
if (mc.thePlayer.getHealth() <= 3) {
|
||||
Utils.print("&7[&dR&7] &cPrevented throwing fireball due to low health");
|
||||
disable();
|
||||
return;
|
||||
}
|
||||
enabled();
|
||||
}
|
||||
}
|
||||
|
|
@ -144,6 +158,11 @@ public class LongJump extends Module {
|
|||
return;
|
||||
}
|
||||
|
||||
if (spoofItem.isToggled()) {
|
||||
((IMixinItemRenderer) mc.getItemRenderer()).setCancelUpdate(true);
|
||||
((IMixinItemRenderer) mc.getItemRenderer()).setCancelReset(true);
|
||||
}
|
||||
|
||||
if (enabled) {
|
||||
if (!Utils.isMoving()) notMoving = true;
|
||||
if (boostSetting.getInput() == 0 && verticalMotion.getInput() == 0) {
|
||||
|
|
@ -155,7 +174,10 @@ public class LongJump extends Module {
|
|||
if (fireballSlot != -1) {
|
||||
if (!manual.isToggled()) {
|
||||
lastSlot = mc.thePlayer.inventory.currentItem;
|
||||
mc.thePlayer.inventory.currentItem = fireballSlot;
|
||||
if (mc.thePlayer.inventory.currentItem != fireballSlot) {
|
||||
mc.thePlayer.inventory.currentItem = fireballSlot;
|
||||
}
|
||||
|
||||
}
|
||||
//("Set fireball slot");
|
||||
rotateTick = 1;
|
||||
|
|
@ -201,6 +223,10 @@ public class LongJump extends Module {
|
|||
if (mc.thePlayer.onGround && boostTicks > 2) {
|
||||
disabled();
|
||||
}
|
||||
|
||||
if (firstSlot != -1) {
|
||||
mc.thePlayer.inventory.currentItem = firstSlot;
|
||||
}
|
||||
}
|
||||
|
||||
@SubscribeEvent(priority = EventPriority.LOWEST)
|
||||
|
|
@ -227,10 +253,10 @@ public class LongJump extends Module {
|
|||
rotateTick = 0;
|
||||
int fireballSlot = setupFireballSlot(false);
|
||||
if (fireballSlot != -1) {
|
||||
fireballTime = System.currentTimeMillis();
|
||||
if (!manual.isToggled()) {
|
||||
mc.thePlayer.inventory.currentItem = fireballSlot; // we are probably already on the slot but make sure
|
||||
fireballTime = System.currentTimeMillis();
|
||||
((IAccessorMinecraft) mc).callRightClickMouse();
|
||||
mc.getNetHandler().addToSendQueue(new C08PacketPlayerBlockPlacement(mc.thePlayer.getHeldItem()));
|
||||
//((IAccessorMinecraft) mc).callRightClickMouse();
|
||||
}
|
||||
mc.thePlayer.swingItem();
|
||||
mc.getItemRenderer().resetEquippedProgress();
|
||||
|
|
@ -319,7 +345,6 @@ public class LongJump extends Module {
|
|||
slotReset = false;
|
||||
slotResetTicks = 0;
|
||||
enabled = function = true;
|
||||
ModuleManager.bhop.disable();
|
||||
|
||||
stopModules = true;
|
||||
}
|
||||
|
|
@ -350,8 +375,13 @@ public class LongJump extends Module {
|
|||
|
||||
private void resetSlot() {
|
||||
if (lastSlot != -1 && !manual.isToggled()) {
|
||||
if (spoofItem.isToggled()) {
|
||||
((IMixinItemRenderer) mc.getItemRenderer()).setCancelUpdate(false);
|
||||
((IMixinItemRenderer) mc.getItemRenderer()).setCancelReset(false);
|
||||
}
|
||||
mc.thePlayer.inventory.currentItem = lastSlot;
|
||||
lastSlot = -1;
|
||||
firstSlot = -1;
|
||||
}
|
||||
slotReset = true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,13 +5,12 @@ import keystrokesmod.event.*;
|
|||
import keystrokesmod.mixin.impl.accessor.IAccessorItemFood;
|
||||
import keystrokesmod.module.Module;
|
||||
import keystrokesmod.module.ModuleManager;
|
||||
import keystrokesmod.module.impl.player.Safewalk;
|
||||
import keystrokesmod.module.setting.impl.ButtonSetting;
|
||||
import keystrokesmod.module.setting.impl.DescriptionSetting;
|
||||
import keystrokesmod.module.setting.impl.SliderSetting;
|
||||
import keystrokesmod.utility.*;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.BlockSlab;
|
||||
import net.minecraft.block.BlockStairs;
|
||||
import net.minecraft.block.*;
|
||||
import net.minecraft.client.settings.KeyBinding;
|
||||
import net.minecraft.enchantment.Enchantment;
|
||||
import net.minecraft.enchantment.EnchantmentHelper;
|
||||
|
|
@ -22,6 +21,7 @@ import net.minecraft.network.play.client.C02PacketUseEntity;
|
|||
import net.minecraft.network.play.client.C07PacketPlayerDigging;
|
||||
import net.minecraft.network.play.client.C08PacketPlayerBlockPlacement;
|
||||
import net.minecraft.network.play.client.C09PacketHeldItemChange;
|
||||
import net.minecraft.potion.PotionEffect;
|
||||
import net.minecraft.util.BlockPos;
|
||||
import net.minecraftforge.client.event.MouseEvent;
|
||||
import net.minecraftforge.fml.common.eventhandler.EventPriority;
|
||||
|
|
@ -39,10 +39,11 @@ public class NoSlow extends Module {
|
|||
private String[] modes = new String[]{"Vanilla", "Pre", "Post", "Alpha", "Float"};
|
||||
private boolean postPlace;
|
||||
public static boolean canFloat;
|
||||
private boolean reSendConsume;
|
||||
public static boolean noSlowing, offset;
|
||||
private boolean reSendConsume, requireJump;
|
||||
public static boolean noSlowing, offset, fix;
|
||||
private int ticksOffStairs = 30;
|
||||
private boolean setCancelled;
|
||||
private boolean setCancelled, didC;
|
||||
private int grounded;
|
||||
|
||||
public NoSlow() {
|
||||
super("NoSlow", category.movement, 0);
|
||||
|
|
@ -107,7 +108,7 @@ public class NoSlow extends Module {
|
|||
public void onPostPlayerInput(PostPlayerInputEvent e) {
|
||||
if (canFloat && noSlowing && offset && mc.thePlayer.onGround) {
|
||||
if (groundSpeedOption.isToggled() && !Utils.jumpDown() && !ModuleManager.bhop.isEnabled() && Utils.keysDown() && !Utils.bowBackwards()) {
|
||||
Utils.setSpeed(getSpeedModifier());
|
||||
Utils.setSpeed(getFloatSpeed(getSpeedLevel()));
|
||||
//Utils.print("ground speed");
|
||||
}
|
||||
}
|
||||
|
|
@ -126,7 +127,7 @@ public class NoSlow extends Module {
|
|||
}
|
||||
|
||||
private void handleFloatSetup() {
|
||||
if (mode.getInput() != 4 || canFloat || reSendConsume || getSlowed() == 0.2f) {
|
||||
if (mode.getInput() != 4 || canFloat || reSendConsume || requireJump || getSlowed() == 0.2f || BlockUtils.isInteractable(mc.objectMouseOver) || !Utils.tabbedIn()) {
|
||||
return;
|
||||
}
|
||||
if (!Mouse.isButtonDown(1) || (mc.thePlayer.getHeldItem() == null || !holdingConsumable(mc.thePlayer.getHeldItem()))) {
|
||||
|
|
@ -153,7 +154,7 @@ public class NoSlow extends Module {
|
|||
}
|
||||
|
||||
if (e.getPacket() instanceof C08PacketPlayerBlockPlacement) {
|
||||
if (mode.getInput() != 4 || canFloat || reSendConsume || !mc.thePlayer.onGround || getSlowed() == 0.2f) {
|
||||
if (mode.getInput() != 4 || canFloat || reSendConsume || requireJump || getSlowed() == 0.2f || BlockUtils.isInteractable(mc.objectMouseOver) || !Utils.tabbedIn()) {
|
||||
return;
|
||||
}
|
||||
if (!Mouse.isButtonDown(1) || (mc.thePlayer.getHeldItem() == null || !holdingConsumable(mc.thePlayer.getHeldItem()))) {
|
||||
|
|
@ -173,20 +174,34 @@ public class NoSlow extends Module {
|
|||
else {
|
||||
ticksOffStairs++;
|
||||
}*/
|
||||
|
||||
if (ModuleUtils.inAirTicks > 1) {
|
||||
requireJump = false;
|
||||
}
|
||||
if (ModuleManager.bedAura.stopAutoblock || mode.getInput() != 4) {
|
||||
resetFloat();
|
||||
return;
|
||||
}
|
||||
postPlace = false;
|
||||
if (!Mouse.isButtonDown(1) || (mc.thePlayer.getHeldItem() == null || !holdingConsumable(mc.thePlayer.getHeldItem()))) {
|
||||
if (mc.thePlayer.getHeldItem() != null && holdingConsumable(mc.thePlayer.getHeldItem())) {
|
||||
KeyBinding.setKeyBindState(mc.gameSettings.keyBindUseItem.getKeyCode(), false);
|
||||
}
|
||||
resetFloat();
|
||||
return;
|
||||
}
|
||||
if (mc.thePlayer.getHeldItem() != null && holdingConsumable(mc.thePlayer.getHeldItem()) && !Mouse.isButtonDown(1)) {
|
||||
KeyBinding.setKeyBindState(mc.gameSettings.keyBindUseItem.getKeyCode(), false);
|
||||
if (!floatConditions()) {
|
||||
grounded = 0;
|
||||
didC = true;
|
||||
}
|
||||
else if (didC) {
|
||||
grounded++;
|
||||
if (grounded > 30) {
|
||||
fix = true;
|
||||
}
|
||||
}
|
||||
if (reSendConsume) {
|
||||
if (ModuleUtils.inAirTicks > 0) {
|
||||
if (ModuleUtils.inAirTicks > 1) {
|
||||
KeyBinding.setKeyBindState(mc.gameSettings.keyBindUseItem.getKeyCode(), true);
|
||||
reSendConsume = false;
|
||||
canFloat = true;
|
||||
|
|
@ -194,7 +209,8 @@ public class NoSlow extends Module {
|
|||
}
|
||||
noSlowing = true;
|
||||
|
||||
if (ticksOffStairs < 30) {
|
||||
if (!floatConditions() || requireJump) {
|
||||
requireJump = true;
|
||||
offset = false;
|
||||
return;
|
||||
}
|
||||
|
|
@ -229,13 +245,40 @@ public class NoSlow extends Module {
|
|||
else if (mc.thePlayer.getHeldItem().getItem() instanceof ItemPotion && !ItemPotion.isSplash(mc.thePlayer.getHeldItem().getItemDamage()) && disablePotions.isToggled()) {
|
||||
return 0.2f;
|
||||
}
|
||||
else if (fix) {
|
||||
return 0.2f;
|
||||
}
|
||||
}
|
||||
float val = (100.0F - (float) slowed.getInput()) / 100.0F;
|
||||
return val;
|
||||
}
|
||||
|
||||
private boolean floatConditions() {
|
||||
Block block = BlockUtils.getBlock(new BlockPos(mc.thePlayer.posX, mc.thePlayer.posY, mc.thePlayer.posZ));
|
||||
int edgeY = (int) Math.round((mc.thePlayer.posY % 1.0D) * 100.0D);
|
||||
if (mc.thePlayer.posY % 1 == 0) {
|
||||
return true;
|
||||
}
|
||||
if (edgeY < 10) {
|
||||
return true;
|
||||
}
|
||||
if (!mc.thePlayer.onGround) {
|
||||
return true;
|
||||
}
|
||||
if (block instanceof BlockSnow) {
|
||||
return true;
|
||||
}
|
||||
if (block instanceof BlockCarpet) {
|
||||
return true;
|
||||
}
|
||||
if (block instanceof BlockSlab) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public static boolean groundSpeed() {
|
||||
return groundSpeedOption.isToggled() && noSlowing && canFloat && offset && Utils.isMoving() && !Utils.jumpDown();
|
||||
return groundSpeedOption.isToggled() && noSlowing && canFloat && offset && Utils.isMoving() && !Utils.jumpDown() && !Utils.noSlowingBackWithBow();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -244,7 +287,8 @@ public class NoSlow extends Module {
|
|||
}
|
||||
|
||||
private void resetFloat() {
|
||||
reSendConsume = canFloat = noSlowing = offset = false;
|
||||
reSendConsume = canFloat = noSlowing = offset = didC = fix = requireJump = false;
|
||||
grounded = 0;
|
||||
}
|
||||
|
||||
public static boolean hasArrows(ItemStack stack) {
|
||||
|
|
@ -252,27 +296,25 @@ public class NoSlow extends Module {
|
|||
return flag || mc.thePlayer.inventory.hasItem(Items.arrow);
|
||||
}
|
||||
|
||||
private double getSpeedModifier() {
|
||||
double speedModifier = 0.2;
|
||||
final int speedAmplifier = Utils.getSpeedAmplifier();
|
||||
switch (speedAmplifier) {
|
||||
case 0:
|
||||
speedModifier = 0.2;
|
||||
break;
|
||||
case 1:
|
||||
speedModifier = 0.23;
|
||||
break;
|
||||
case 2:
|
||||
speedModifier = 0.28;
|
||||
break;
|
||||
case 3:
|
||||
speedModifier = 0.32;
|
||||
break;
|
||||
case 4:
|
||||
speedModifier = 0.37;
|
||||
break;
|
||||
double[] floatSpeedLevels = {0.2, 0.23, 0.28, 0.32, 0.37};
|
||||
|
||||
double getFloatSpeed(int speedLevel) {
|
||||
double min = 0;
|
||||
if (mc.thePlayer.moveStrafing != 0 && mc.thePlayer.moveForward != 0) min = 0.003;
|
||||
if (speedLevel >= 0) {
|
||||
return floatSpeedLevels[speedLevel] - min;
|
||||
}
|
||||
return speedModifier - 0.005;
|
||||
return floatSpeedLevels[0] - min;
|
||||
}
|
||||
|
||||
private int getSpeedLevel() {
|
||||
for (PotionEffect potionEffect : mc.thePlayer.getActivePotionEffects()) {
|
||||
if (potionEffect.getEffectName().equals("potion.moveSpeed")) {
|
||||
return potionEffect.getAmplifier() + 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
private boolean holdingConsumable(ItemStack itemStack) {
|
||||
|
|
|
|||
|
|
@ -5,20 +5,28 @@ import keystrokesmod.event.PreUpdateEvent;
|
|||
import keystrokesmod.mixin.impl.accessor.IAccessorEntityPlayerSP;
|
||||
import keystrokesmod.module.Module;
|
||||
import keystrokesmod.module.ModuleManager;
|
||||
import keystrokesmod.module.impl.player.Safewalk;
|
||||
import keystrokesmod.module.setting.impl.ButtonSetting;
|
||||
import keystrokesmod.module.setting.impl.DescriptionSetting;
|
||||
import keystrokesmod.module.setting.impl.SliderSetting;
|
||||
import keystrokesmod.utility.BlockUtils;
|
||||
import keystrokesmod.utility.ModuleUtils;
|
||||
import keystrokesmod.utility.RenderUtils;
|
||||
import keystrokesmod.utility.Utils;
|
||||
import net.minecraft.block.*;
|
||||
import net.minecraft.client.gui.GuiButton;
|
||||
import net.minecraft.client.gui.GuiScreen;
|
||||
import net.minecraft.client.gui.ScaledResolution;
|
||||
import net.minecraft.client.settings.KeyBinding;
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.potion.PotionEffect;
|
||||
import net.minecraft.util.BlockPos;
|
||||
import net.minecraft.util.MathHelper;
|
||||
import net.minecraftforge.fml.client.config.GuiButtonExt;
|
||||
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
|
||||
import net.minecraftforge.fml.common.gameevent.TickEvent;
|
||||
import org.lwjgl.input.Keyboard;
|
||||
import org.lwjgl.input.Mouse;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
|
|
@ -31,8 +39,9 @@ public class Sprint extends Module {
|
|||
public float posX = 5;
|
||||
public float posY = 5;
|
||||
private float limit;
|
||||
private boolean canFloat, requireJump;
|
||||
|
||||
private String[] omniDirectionalModes = new String[] { "Disabled", "Vanilla", "Hypixel" };
|
||||
private String[] omniDirectionalModes = new String[] { "Disabled", "Vanilla", "Hypixel", "Float" };
|
||||
|
||||
public Sprint() {
|
||||
super("Sprint", category.movement, 0);
|
||||
|
|
@ -49,23 +58,116 @@ public class Sprint extends Module {
|
|||
|
||||
@SubscribeEvent
|
||||
public void onPreMotion(PreMotionEvent e) {
|
||||
|
||||
if (ModuleUtils.groundTicks <= 8 || floatConditions()) {
|
||||
canFloat = true;
|
||||
}
|
||||
if (!floatConditions()) {
|
||||
canFloat = false;
|
||||
}
|
||||
if (!mc.thePlayer.onGround) {
|
||||
requireJump = false;
|
||||
}
|
||||
|
||||
if (canFloat && floatConditions() && !requireJump && omniSprint()) {
|
||||
e.setPosY(e.getPosY() + ModuleUtils.offsetValue);
|
||||
if (Utils.isMoving()) Utils.setSpeed(getFloatSpeed(getSpeedLevel()));
|
||||
}
|
||||
|
||||
if (rotationConditions()) {
|
||||
float yaw = mc.thePlayer.rotationYaw;
|
||||
e.setYaw(yaw - 55);
|
||||
}
|
||||
}
|
||||
|
||||
private boolean floatConditions() {
|
||||
int edgeY = (int) Math.round((mc.thePlayer.posY % 1.0D) * 100.0D);
|
||||
if (ModuleUtils.stillTicks > 20) {
|
||||
requireJump = true;
|
||||
return false;
|
||||
}
|
||||
if (!(mc.thePlayer.posY % 1 == 0) && edgeY >= 10 && !allowedBlocks()) {
|
||||
requireJump = true;
|
||||
return false;
|
||||
}
|
||||
if (Safewalk.canSafeWalk()) {
|
||||
requireJump = true;
|
||||
return false;
|
||||
}
|
||||
if (ModuleManager.scaffold.isEnabled || ModuleManager.bhop.isEnabled()) {
|
||||
requireJump = true;
|
||||
return false;
|
||||
}
|
||||
if (ModuleManager.sprint.omniDirectional.getInput() != 3) {
|
||||
return false;
|
||||
}
|
||||
if (!mc.thePlayer.onGround) {
|
||||
return false;
|
||||
}
|
||||
if (Utils.jumpDown()) {
|
||||
return false;
|
||||
}
|
||||
if (ModuleManager.LongJump.function) {
|
||||
return false;
|
||||
}
|
||||
if (Keyboard.isKeyDown(mc.gameSettings.keyBindSneak.getKeyCode())) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
private boolean allowedBlocks() {
|
||||
Block block = BlockUtils.getBlock(new BlockPos(mc.thePlayer.posX, mc.thePlayer.posY, mc.thePlayer.posZ));
|
||||
if (block instanceof BlockSnow) {
|
||||
return true;
|
||||
}
|
||||
if (block instanceof BlockCarpet) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
private boolean rotationConditions() {
|
||||
if (Utils.noSlowingBackWithBow()) {
|
||||
ModuleManager.bhop.setRotation = false;
|
||||
return;
|
||||
return false;
|
||||
}
|
||||
if (ModuleManager.sprint.isEnabled() && ModuleManager.sprint.omniDirectional.getInput() == 2) {
|
||||
if (mc.thePlayer.onGround && mc.thePlayer.moveForward <= -0.5 && mc.thePlayer.moveStrafing == 0 && !Utils.jumpDown()) {
|
||||
if (!ModuleManager.killAura.isTargeting && !Utils.noSlowingBackWithBow() && !ModuleManager.safeWalk.canSafeWalk() && !ModuleManager.scaffold.isEnabled && !ModuleManager.bhop.isEnabled() && !mc.thePlayer.isCollidedHorizontally) {
|
||||
float yaw = mc.thePlayer.rotationYaw;
|
||||
e.setYaw(yaw - 55);
|
||||
}
|
||||
}
|
||||
if (omniDirectional.getInput() < 2) {
|
||||
return false;
|
||||
}
|
||||
if (!mc.thePlayer.onGround) {
|
||||
return false;
|
||||
}
|
||||
if (mc.thePlayer.moveForward >= 0 || mc.thePlayer.moveStrafing != 0) {
|
||||
return false;
|
||||
}
|
||||
if (Utils.jumpDown()) {
|
||||
return false;
|
||||
}
|
||||
if (ModuleManager.killAura.isTargeting) {
|
||||
return false;
|
||||
}
|
||||
if (Safewalk.canSafeWalk()) {
|
||||
return false;
|
||||
}
|
||||
if (ModuleManager.scaffold.isEnabled || ModuleManager.bhop.isEnabled()) {
|
||||
return false;
|
||||
}
|
||||
if (Utils.holdingFireball() && mc.thePlayer.moveStrafing == 0 && mc.thePlayer.moveForward <= -0.5) {
|
||||
return false;
|
||||
}
|
||||
if (mc.thePlayer.getHeldItem() != null && mc.thePlayer.getHeldItem().getItem() instanceof ItemBlock && Mouse.isButtonDown(1) && mc.thePlayer.moveStrafing == 0 && mc.thePlayer.moveForward <= -0.8) {
|
||||
return false;
|
||||
}
|
||||
if (Keyboard.isKeyDown(mc.gameSettings.keyBindSneak.getKeyCode())) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public boolean disableBackwards() {
|
||||
limit = MathHelper.wrapAngleTo180_float(mc.thePlayer.rotationYaw - Utils.getLastReportedYaw());
|
||||
double limitVal = 125;
|
||||
double limitVal = 145;
|
||||
if (!disableBackwards.isToggled()) {
|
||||
return false;
|
||||
}
|
||||
|
|
@ -99,18 +201,54 @@ public class Sprint extends Module {
|
|||
}
|
||||
|
||||
public boolean omniSprint() {
|
||||
if (Utils.noSlowingBackWithBow() || Utils.safeWalkBackwards() || !Utils.isMoving()) {
|
||||
if (!this.isEnabled()) {
|
||||
return false;
|
||||
}
|
||||
if (Utils.safeWalkBackwards()) {
|
||||
return false;
|
||||
}
|
||||
if (!Utils.isMoving()) {
|
||||
return false;
|
||||
}
|
||||
if (mc.thePlayer.moveForward <= 0.5 && Utils.jumpDown()) {
|
||||
return false;
|
||||
}
|
||||
if (ModuleManager.sprint.omniDirectional.getInput() > 0) {
|
||||
if (Utils.noSlowingBackWithBow()) {
|
||||
return false;
|
||||
}
|
||||
if (Utils.holdingFireball() && mc.thePlayer.moveStrafing == 0 && mc.thePlayer.moveForward <= -0.5) {
|
||||
return false;
|
||||
}
|
||||
if (mc.thePlayer.getHeldItem() != null && mc.thePlayer.getHeldItem().getItem() instanceof ItemBlock && Mouse.isButtonDown(1) && mc.thePlayer.moveStrafing == 0 && mc.thePlayer.moveForward <= -0.8) {
|
||||
return false;
|
||||
}
|
||||
if (omniDirectional.getInput() > 0) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
double[] floatSpeedLevels = {0.2, 0.22, 0.28, 0.29, 0.3};
|
||||
|
||||
double getFloatSpeed(int speedLevel) {
|
||||
double min = 0;
|
||||
if (mc.thePlayer.moveStrafing != 0 && mc.thePlayer.moveForward != 0) min = 0.003;
|
||||
if (speedLevel >= 0) {
|
||||
return floatSpeedLevels[speedLevel] - min;
|
||||
}
|
||||
return floatSpeedLevels[0] - min;
|
||||
}
|
||||
|
||||
private int getSpeedLevel() {
|
||||
for (PotionEffect potionEffect : mc.thePlayer.getActivePotionEffects()) {
|
||||
if (potionEffect.getEffectName().equals("potion.moveSpeed")) {
|
||||
return potionEffect.getAmplifier() + 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
private boolean exceptions() {
|
||||
return ModuleManager.scaffold.isEnabled || mc.thePlayer.hurtTime > 0 || !mc.thePlayer.onGround;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ public class DelayRemover extends Module {
|
|||
((IAccessorEntityLivingBase) mc.thePlayer).setJumpTicks(0);
|
||||
break;
|
||||
case 2:
|
||||
if (!mc.thePlayer.onGround && mc.thePlayer.isCollidedVertically) {
|
||||
if (!mc.thePlayer.onGround && mc.thePlayer.isCollidedVertically || Utils.isMoving()) {
|
||||
((IAccessorEntityLivingBase) mc.thePlayer).setJumpTicks(0);
|
||||
}
|
||||
break;
|
||||
|
|
|
|||
|
|
@ -3,19 +3,23 @@ package keystrokesmod.module.impl.player;
|
|||
import keystrokesmod.event.*;
|
||||
import keystrokesmod.module.Module;
|
||||
import keystrokesmod.module.ModuleManager;
|
||||
import keystrokesmod.module.impl.render.HUD;
|
||||
import keystrokesmod.module.setting.impl.ButtonSetting;
|
||||
import keystrokesmod.utility.Theme;
|
||||
import keystrokesmod.utility.Utils;
|
||||
import net.minecraft.client.gui.ScaledResolution;
|
||||
import net.minecraft.client.settings.KeyBinding;
|
||||
import net.minecraft.network.play.client.C0BPacketEntityAction;
|
||||
import net.minecraft.network.play.server.S08PacketPlayerPosLook;
|
||||
import net.minecraftforge.event.entity.EntityJoinWorldEvent;
|
||||
import net.minecraftforge.fml.common.eventhandler.EventPriority;
|
||||
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
|
||||
import net.minecraftforge.fml.common.gameevent.TickEvent;
|
||||
|
||||
import java.awt.*;
|
||||
import java.util.Objects;
|
||||
|
||||
public class Disabler extends Module {
|
||||
public ButtonSetting motion;
|
||||
public ButtonSetting bridging;
|
||||
|
||||
private final int defaultSetbacks = 20;
|
||||
private final long joinDelay = 200, delay = 0, checkDisabledTime = 4000, timeout = 12000;
|
||||
|
|
@ -26,35 +30,29 @@ public class Disabler extends Module {
|
|||
private int setbackCount, airTicks, disablerAirTicks;
|
||||
private double minSetbacks, zOffset;
|
||||
private float savedYaw, savedPitch;
|
||||
private boolean noRotateWasEnabled;
|
||||
private Class<? extends Module> noRotate;
|
||||
|
||||
private boolean hasSneaked, hasWentInAir;
|
||||
private int lastSneakTicks;
|
||||
private int lastY;
|
||||
private int color = new Color(0, 187, 255, 255).getRGB();
|
||||
|
||||
//private String text;
|
||||
private String text;
|
||||
private int[] disp;
|
||||
private int width;
|
||||
|
||||
public Disabler() {
|
||||
super("Disabler", Module.category.player);
|
||||
|
||||
this.registerSetting(motion = new ButtonSetting("Motion", false));
|
||||
this.registerSetting(bridging = new ButtonSetting("Bridging", false));
|
||||
}
|
||||
|
||||
private void resetVars() {
|
||||
if (noRotateWasEnabled) {
|
||||
Objects.requireNonNull(getModule(noRotate)).enable();
|
||||
}
|
||||
awaitJoin = joinTick = awaitSetback = noRotateWasEnabled = awaitJump = false;
|
||||
awaitJoin = joinTick = awaitSetback = awaitJump = false;
|
||||
minSetbacks = zOffset = lobbyTime = finished = setbackCount = 0;
|
||||
}
|
||||
|
||||
public void onDisable() {
|
||||
resetVars();
|
||||
}
|
||||
|
||||
@SubscribeEvent(priority = EventPriority.LOWEST)
|
||||
public void onPreMotion(PreMotionEvent e) {
|
||||
/*long now = System.currentTimeMillis();
|
||||
long now = System.currentTimeMillis();
|
||||
|
||||
if (!awaitGround && !mc.thePlayer.onGround) {
|
||||
disablerAirTicks++;
|
||||
|
|
@ -64,17 +62,20 @@ public class Disabler extends Module {
|
|||
}
|
||||
|
||||
if (awaitJoin && now >= joinTime + joinDelay) {
|
||||
ItemStack item = mc.thePlayer.inventory.getStackInSlot(8);
|
||||
if (Utils.getBedwarsStatus() == 1 || Utils.isBedwarsPractice() || Utils.skywarsQueue()) {
|
||||
if (ModuleManager.noRotate.isEnabled() && Utils.skywarsQueue()) {
|
||||
Objects.requireNonNull(getModule(noRotate)).disable();
|
||||
noRotateWasEnabled = true;
|
||||
}
|
||||
if (Utils.getBedwarsStatus() == 1 || Utils.isBedwarsPractice() || Utils.getSkyWarsStatus() == 1) {
|
||||
awaitJoin = false;
|
||||
joinTick = true;
|
||||
}
|
||||
}
|
||||
|
||||
if (awaitSetback) {
|
||||
color = Theme.getGradient((int) HUD.theme.getInput(), 0);
|
||||
text = "§7running disabler " + "§r" + Utils.round((now - lobbyTime) / 1000d, 1) + "s " + ((int) Utils.round(100 * (setbackCount / minSetbacks), 0)) + "%";
|
||||
width = mc.fontRendererObj.getStringWidth(text) / 2 - 2;
|
||||
} else {
|
||||
text = null;
|
||||
}
|
||||
|
||||
if (finished != 0 && mc.thePlayer.onGround && now - finished > checkDisabledTime) {
|
||||
Utils.print("&7[&dR&7] &adisabler enabled");
|
||||
finished = 0;
|
||||
|
|
@ -91,12 +92,11 @@ public class Disabler extends Module {
|
|||
}
|
||||
|
||||
if (joinTick) {
|
||||
joinTick = false;
|
||||
Utils.print("&7[&dR&7] running disabler...");
|
||||
if (mc.thePlayer.onGround || (mc.thePlayer.fallDistance < 0.3 && !Utils.isBedwarsPractice())) {
|
||||
awaitJump = true;
|
||||
mc.thePlayer.jump();
|
||||
//client.print("Jump");
|
||||
joinTick = false;
|
||||
KeyBinding.setKeyBindState(mc.gameSettings.keyBindJump.getKeyCode(), true);
|
||||
} else {
|
||||
minSetbacks = defaultSetbacks;
|
||||
savedYaw = e.getYaw(); // pitch will be 0
|
||||
|
|
@ -123,56 +123,23 @@ public class Disabler extends Module {
|
|||
mc.thePlayer.motionX = 0;
|
||||
mc.thePlayer.motionY = 0;
|
||||
mc.thePlayer.motionZ = 0;
|
||||
//client.print("2");
|
||||
if (Utils.skywarsQueue()) {
|
||||
|
||||
if (mc.thePlayer.ticksExisted % 2 == 0) {
|
||||
//e.setPosX(mc.thePlayer.posX + 0.11);
|
||||
}
|
||||
|
||||
if (Utils.getSkyWarsStatus() == 1) {
|
||||
zOffset = min_offset * 0.7;
|
||||
if (mc.thePlayer.ticksExisted % 2 == 0) {
|
||||
zOffset *= -1;
|
||||
}
|
||||
e.setPosZ(e.getPosZ() + zOffset);
|
||||
} else {
|
||||
e.setPosZ(zOffset + min_offset);
|
||||
}
|
||||
}
|
||||
}*/
|
||||
|
||||
if (bridging.isToggled()) {
|
||||
if (mc.gameSettings.keyBindSneak.isKeyDown() || !Safewalk.canSafeWalk() && !ModuleManager.scaffold.isEnabled) {
|
||||
lastSneakTicks = 0;
|
||||
}
|
||||
if (mc.thePlayer.onGround) { // Switching Y levels doesnt stop flagging
|
||||
if ((int) mc.thePlayer.posY != lastY && hasWentInAir) {
|
||||
lastSneakTicks = 0;
|
||||
Utils.print("Dif Y");
|
||||
}
|
||||
lastY = (int) mc.thePlayer.posY;
|
||||
hasWentInAir = false;
|
||||
}
|
||||
else {
|
||||
hasWentInAir = true;
|
||||
}
|
||||
lastSneakTicks++;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public void onPostPlayerInput(PostPlayerInputEvent e) {
|
||||
if (bridging.isToggled()) {
|
||||
if (hasSneaked) {
|
||||
if (!mc.gameSettings.keyBindSneak.isKeyDown()) {
|
||||
mc.thePlayer.sendQueue.addToSendQueue(new C0BPacketEntityAction(mc.thePlayer, C0BPacketEntityAction.Action.STOP_SNEAKING));
|
||||
}
|
||||
hasSneaked = false;
|
||||
lastSneakTicks = 0;
|
||||
} else if (lastSneakTicks >= 19) {
|
||||
if (!mc.gameSettings.keyBindSneak.isKeyDown() && (Safewalk.canSafeWalk() || ModuleManager.scaffold.isEnabled) && mc.thePlayer.onGround) {
|
||||
mc.thePlayer.sendQueue.addToSendQueue(new C0BPacketEntityAction(mc.thePlayer, C0BPacketEntityAction.Action.START_SNEAKING));
|
||||
hasSneaked = true;
|
||||
Utils.print("Sneak packet");
|
||||
e.setPosZ(e.getPosZ() + (zOffset += min_offset));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@SubscribeEvent()
|
||||
|
|
@ -180,6 +147,7 @@ public class Disabler extends Module {
|
|||
if (awaitSetback) {
|
||||
e.setForward(0);
|
||||
e.setStrafe(0);
|
||||
mc.thePlayer.movementInput.jump = false;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -191,14 +159,22 @@ public class Disabler extends Module {
|
|||
}
|
||||
}
|
||||
|
||||
/*void onRenderTick(float partialTicks) {
|
||||
if (awaitSetback) {
|
||||
if (hideProgress || text == null) {
|
||||
@SubscribeEvent
|
||||
public void onRenderTick(TickEvent.RenderTickEvent ev) {
|
||||
if (!Utils.nullCheck()) {
|
||||
return;
|
||||
}
|
||||
if (ev.phase == TickEvent.Phase.END) {
|
||||
if (mc.currentScreen != null || !awaitSetback || text == null) {
|
||||
return;
|
||||
}
|
||||
render.text(text, disp[0] / 2 - width, disp[1] / 2 + 13, 1, -1, true);
|
||||
}
|
||||
}*/
|
||||
float widthOffset = 0;
|
||||
color = Theme.getGradient((int) HUD.theme.getInput(), 0);
|
||||
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 onWorldJoin(EntityJoinWorldEvent e) {
|
||||
|
|
@ -206,8 +182,8 @@ public class Disabler extends Module {
|
|||
long joinTime = System.currentTimeMillis();
|
||||
if (awaitSetback) {
|
||||
Utils.print("&7[&dR&7] &cdisabing disabler");
|
||||
resetVars();
|
||||
}
|
||||
resetVars();
|
||||
awaitJoin = awaitGround = true;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -67,7 +67,7 @@ public class NoFall extends Module {
|
|||
}
|
||||
if (isFalling && mode.getInput() == 2) {
|
||||
if (distanceFallen >= dynamic) {
|
||||
Utils.getTimer().timerSpeed = 0.7199789F;
|
||||
Utils.getTimer().timerSpeed = 0.7099789F;
|
||||
mc.getNetHandler().addToSendQueue(new C03PacketPlayer(true));
|
||||
initialY = mc.thePlayer.posY;
|
||||
}
|
||||
|
|
@ -87,7 +87,7 @@ public class NoFall extends Module {
|
|||
}
|
||||
if (isFalling && mode.getInput() == 4) {
|
||||
Utils.getTimer().timerSpeed = 1F;
|
||||
if (distanceFallen >= 8) {
|
||||
if (distanceFallen >= 7) {
|
||||
Utils.getTimer().timerSpeed = 0.7F;
|
||||
mc.getNetHandler().addToSendQueue(new C03PacketPlayer(true));
|
||||
initialY = mc.thePlayer.posY;
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ import keystrokesmod.Raven;
|
|||
import keystrokesmod.event.PreMotionEvent;
|
||||
import keystrokesmod.event.PreUpdateEvent;
|
||||
import keystrokesmod.event.ReceivePacketEvent;
|
||||
import keystrokesmod.event.SlotUpdateEvent;
|
||||
import keystrokesmod.mixin.interfaces.IMixinItemRenderer;
|
||||
import keystrokesmod.module.Module;
|
||||
import keystrokesmod.module.ModuleManager;
|
||||
|
|
@ -27,6 +28,7 @@ import net.minecraftforge.client.event.MouseEvent;
|
|||
import net.minecraftforge.fml.common.FMLCommonHandler;
|
||||
import net.minecraftforge.fml.common.eventhandler.EventPriority;
|
||||
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
|
||||
import org.lwjgl.input.Keyboard;
|
||||
import org.lwjgl.input.Mouse;
|
||||
|
||||
import java.util.*;
|
||||
|
|
@ -46,7 +48,6 @@ public class Scaffold extends Module {
|
|||
public ButtonSetting safeWalk;
|
||||
public ButtonSetting showBlockCount;
|
||||
private ButtonSetting silentSwing;
|
||||
private ButtonSetting limitMotionWhileKeepY;
|
||||
|
||||
private String[] rotationModes = new String[] { "None", "Simple", "Offset", "Precise" };
|
||||
private String[] sprintModes = new String[] { "None", "Vanilla", "Float" };
|
||||
|
|
@ -63,13 +64,12 @@ public class Scaffold extends Module {
|
|||
private boolean hasPlaced;
|
||||
|
||||
private boolean rotateForward;
|
||||
private int onGroundTicks;
|
||||
private double startYPos = -1;
|
||||
public boolean fastScaffoldKeepY;
|
||||
private boolean firstKeepYPlace;
|
||||
private boolean rotatingForward;
|
||||
private int keepYTicks;
|
||||
private boolean lowhop;
|
||||
public boolean lowhop;
|
||||
private int rotationDelay;
|
||||
private int blockSlot = -1;
|
||||
|
||||
|
|
@ -99,19 +99,25 @@ public class Scaffold extends Module {
|
|||
|
||||
private boolean was451, was452;
|
||||
|
||||
private float minOffset;
|
||||
private float minOffset, pOffset, minPitch;
|
||||
|
||||
private long firstStroke, strokeDelay = 575;
|
||||
private float lastEdge, lastEdge2, yawAngle;
|
||||
private float edge;
|
||||
|
||||
private long firstStroke;
|
||||
private float lastEdge, lastEdge2, yawAngle, theYaw;
|
||||
private boolean lastAir;
|
||||
private double thisX, thisY, thisZ;
|
||||
|
||||
private int speedEdge;
|
||||
|
||||
private EnumFacing[] facings = { EnumFacing.EAST, EnumFacing.WEST, EnumFacing.NORTH, EnumFacing.SOUTH, EnumFacing.UP };
|
||||
private BlockPos[] offsets = { new BlockPos(-1, 0, 0), new BlockPos(1, 0, 0), new BlockPos(0, 0, 1), new BlockPos(0, 0, -1), new BlockPos(0, -1, 0) };
|
||||
|
||||
//private final SliderSetting offsetAmount;
|
||||
|
||||
public Scaffold() {
|
||||
super("Scaffold", category.player);
|
||||
this.registerSetting(motion = new SliderSetting("Motion", "x", 1.0, 0.5, 1.2, 0.01));
|
||||
this.registerSetting(motion = new SliderSetting("Motion", "%", 100, 50, 150, 1));
|
||||
this.registerSetting(rotation = new SliderSetting("Rotation", 1, rotationModes));
|
||||
this.registerSetting(sprint = new SliderSetting("Sprint mode", 0, sprintModes));
|
||||
this.registerSetting(fastScaffold = new SliderSetting("Fast scaffold", 0, fastScaffoldModes));
|
||||
|
|
@ -124,7 +130,9 @@ public class Scaffold extends Module {
|
|||
this.registerSetting(safeWalk = new ButtonSetting("Safewalk", true));
|
||||
this.registerSetting(showBlockCount = new ButtonSetting("Show block count", true));
|
||||
this.registerSetting(silentSwing = new ButtonSetting("Silent swing", false));
|
||||
this.registerSetting(limitMotionWhileKeepY = new ButtonSetting("Limit motion while Keep Y", false));
|
||||
//this.registerSetting(pitchOffset = new SliderSetting("Pitch offset", "", 9, 0, 30, 1));
|
||||
|
||||
//this.registerSetting(offsetAmount = new SliderSetting("Offset amount", "%", 100, 0, 100, 0.25));
|
||||
|
||||
this.alwaysOn = true;
|
||||
}
|
||||
|
|
@ -141,6 +149,7 @@ public class Scaffold extends Module {
|
|||
isEnabled = true;
|
||||
moduleEnabled = true;
|
||||
ModuleUtils.fadeEdge = 0;
|
||||
edge = -999999929;
|
||||
|
||||
FMLCommonHandler.instance().bus().register(scaffoldBlockCount = new ScaffoldBlockCount(mc));
|
||||
lastSlot.set(-1);
|
||||
|
|
@ -163,7 +172,6 @@ public class Scaffold extends Module {
|
|||
if (!Utils.nullCheck()) {
|
||||
return;
|
||||
}
|
||||
onGroundTicks = !mc.thePlayer.onGround ? 0 : ++onGroundTicks;
|
||||
if (!isEnabled) {
|
||||
return;
|
||||
}
|
||||
|
|
@ -198,32 +206,20 @@ public class Scaffold extends Module {
|
|||
startYPos = -1;
|
||||
keepYTicks = speedEdge = 0;
|
||||
}
|
||||
if (lowhop) {
|
||||
switch (simpleY) {
|
||||
case 4200:
|
||||
mc.thePlayer.motionY = 0.39;
|
||||
break;
|
||||
case 1138:
|
||||
mc.thePlayer.motionY = mc.thePlayer.motionY - 0.13;
|
||||
break;
|
||||
case 2031:
|
||||
mc.thePlayer.motionY = mc.thePlayer.motionY - 0.2;
|
||||
lowhop = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
//Float
|
||||
if (sprint.getInput() == 2 && !usingFastScaffold() && !ModuleManager.bhop.isEnabled() && !ModuleManager.tower.canTower() && !ModuleManager.LongJump.function) {
|
||||
floatWasEnabled = true;
|
||||
if (!floatStarted) {
|
||||
if (onGroundTicks > 8 && mc.thePlayer.onGround) {
|
||||
if (ModuleUtils.groundTicks > 8 && mc.thePlayer.onGround) {
|
||||
floatKeepY = true;
|
||||
startYPos = e.posY;
|
||||
mc.thePlayer.jump();
|
||||
Utils.setSpeed(Utils.getHorizontalSpeed() - Utils.randomizeDouble(0.0001, 0.001));
|
||||
if (Utils.isMoving()) {
|
||||
Utils.setSpeed(getSpeed(getSpeedLevel()) - Utils.randomizeDouble(0.0003, 0.0001));
|
||||
}
|
||||
floatJumped = true;
|
||||
} else if (onGroundTicks <= 8 && mc.thePlayer.onGround) {
|
||||
} else if (ModuleUtils.groundTicks <= 8 && mc.thePlayer.onGround) {
|
||||
floatStarted = true;
|
||||
}
|
||||
if (floatJumped && !mc.thePlayer.onGround) {
|
||||
|
|
@ -246,17 +242,6 @@ public class Scaffold extends Module {
|
|||
floatStarted = floatJumped = floatKeepY = floatWasEnabled = false;
|
||||
}
|
||||
|
||||
if (limitMotionWhileKeepY.isToggled()) {
|
||||
if (startYPos != -1) {
|
||||
if (hasPlaced && !mc.thePlayer.onGround) {
|
||||
if (ModuleUtils.inAirTicks > 4) {
|
||||
mc.thePlayer.motionX *= 0.965;
|
||||
mc.thePlayer.motionZ *= 0.965;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (targetBlock != null) {
|
||||
Vec3 lookAt = new Vec3(targetBlock.xCoord - lookVec.xCoord, targetBlock.yCoord - lookVec.yCoord, targetBlock.zCoord - lookVec.zCoord);
|
||||
|
|
@ -266,7 +251,9 @@ public class Scaffold extends Module {
|
|||
|
||||
switch ((int) rotation.getInput()) {
|
||||
case 1:
|
||||
e.setRotations(mc.thePlayer.rotationYaw - hardcodedYaw(), 81.150F);
|
||||
yaw = mc.thePlayer.rotationYaw - hardcodedYaw();
|
||||
pitch = 80F;
|
||||
e.setRotations(yaw, pitch);
|
||||
break;
|
||||
case 2:
|
||||
float moveAngle = (float) getMovementAngle();
|
||||
|
|
@ -275,86 +262,52 @@ public class Scaffold extends Module {
|
|||
float quad = normalizedYaw % 90;
|
||||
|
||||
float side = MathHelper.wrapAngleTo180_float(getMotionYaw() - yaw);
|
||||
float offset = yawAngle;//(!Utils.scaffoldDiagonal(false)) ? 125.500F : 143.500F;
|
||||
float yawBackwards = MathHelper.wrapAngleTo180_float(mc.thePlayer.rotationYaw) - hardcodedYaw();
|
||||
float blockYawOffset = MathHelper.wrapAngleTo180_float(yawBackwards - blockYaw);
|
||||
int quadVal = 0;
|
||||
|
||||
float minPitch = 78.650f;
|
||||
long strokeDelay = 225;
|
||||
|
||||
float firstStraight = 128.50f;
|
||||
float secondStraight = 129.50f;
|
||||
float thirdStraight = 130.50f;
|
||||
float firstDiag = 130.50f;
|
||||
float secondDiag = 131.50f;
|
||||
float thirdDiag = 134.50f;
|
||||
float fourthDiag = 139f;
|
||||
|
||||
float firstOffset = 16;
|
||||
float secondOffset = 14;
|
||||
float thirdOffset = 10;
|
||||
float fourthOffset = 9;
|
||||
float fifthOffset = 8;
|
||||
float sixthOffset = 5;
|
||||
float seventhOffset = 2;
|
||||
|
||||
//first straight
|
||||
if (quad <= 5 || quad >= 85) {
|
||||
yawAngle = firstStraight;
|
||||
minOffset = firstOffset;
|
||||
quadVal = 1;
|
||||
yawAngle = 127F;//(float) first.getInput();
|
||||
minOffset = 18;//(int) first1.getInput();
|
||||
minPitch = 71.08F;
|
||||
}
|
||||
else if (quad > 5 || quad < 85) {
|
||||
|
||||
//second straight
|
||||
if (quad >= 80 || quad < 10) {
|
||||
yawAngle = secondStraight;
|
||||
minOffset = secondOffset;
|
||||
quadVal = 2;
|
||||
|
||||
//third straight
|
||||
} else if (quad >= 65 || quad < 25) {
|
||||
yawAngle = thirdStraight;
|
||||
minOffset = thirdOffset;
|
||||
quadVal = 3;
|
||||
|
||||
//first diag
|
||||
} else if (quad >= 55 || quad < 35) {
|
||||
yawAngle = firstDiag;
|
||||
minOffset = fourthOffset;
|
||||
quadVal = 4;
|
||||
|
||||
//second diag
|
||||
} else if (quad >= 15 && quad < 45) {
|
||||
yawAngle = secondDiag;
|
||||
minOffset = fifthOffset;
|
||||
quadVal = 5;
|
||||
if (quad >= 38) {
|
||||
yawAngle = thirdDiag;
|
||||
minOffset = sixthOffset;
|
||||
quadVal = 6;
|
||||
if (quad >= 42) {
|
||||
yawAngle = fourthDiag;
|
||||
minOffset = seventhOffset;
|
||||
quadVal = 7;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
yawAngle = secondDiag;
|
||||
minOffset = fifthOffset;
|
||||
quadVal = 5;
|
||||
if (quad >= 45 && quad < 52) {
|
||||
yawAngle = thirdDiag;
|
||||
minOffset = sixthOffset;
|
||||
quadVal = 6;
|
||||
if (quad < 48) {
|
||||
yawAngle = fourthDiag;
|
||||
minOffset = seventhOffset;
|
||||
quadVal = 7;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (quad > 5 && quad <= 15 || quad >= 75 && quad < 85) {
|
||||
yawAngle = 128F;//(float) second.getInput();
|
||||
minOffset = 15;//(int) second1.getInput();
|
||||
minPitch = 71.84F;
|
||||
}
|
||||
if (quad > 15 && quad <= 25 || quad >= 65 && quad < 75) {
|
||||
yawAngle = 129F;//(float) three.getInput();
|
||||
minOffset = 12;//(int) three1.getInput();
|
||||
minPitch = 72.45F;
|
||||
}
|
||||
if (quad > 25 && quad <= 32 || quad >= 58 && quad < 65) {
|
||||
yawAngle = 130F;//(float) four.getInput();
|
||||
minOffset = 9;//(int) four1.getInput();
|
||||
minPitch = 75.43F;
|
||||
}
|
||||
if (quad > 32 && quad <= 38 || quad >= 52 && quad < 58) {
|
||||
yawAngle = 131F;//(float) five.getInput();
|
||||
minOffset = 7;//(int) five1.getInput();
|
||||
minPitch = 75.8F;
|
||||
}
|
||||
if (quad > 38 && quad <= 42 || quad >= 48 && quad < 52) {
|
||||
yawAngle = 132.50F;//(float) six.getInput();
|
||||
minOffset = 5;//(int) six1.getInput();
|
||||
minPitch = 76.84F;
|
||||
}
|
||||
if (quad > 42 && quad <= 45 || quad >= 45 && quad < 48) {
|
||||
yawAngle = 137F;//(float) seven.getInput();
|
||||
minOffset = 3;//(int) seven1.getInput();
|
||||
minPitch = 78.1F;
|
||||
}
|
||||
//float offsetAmountD = ((((float) offsetAmount.getInput() / 10) - 10) * -2) - (((float) offsetAmount.getInput() / 10) - 10);
|
||||
//yawAngle += offsetAmountD;
|
||||
//Utils.print("" + offsetAmountD);
|
||||
|
||||
float offset = yawAngle;//(!Utils.scaffoldDiagonal(false)) ? 125.500F : 143.500F;
|
||||
|
||||
|
||||
if (firstStroke > 0 && (System.currentTimeMillis() - firstStroke) > strokeDelay) {
|
||||
firstStroke = 0;
|
||||
|
|
@ -364,37 +317,34 @@ public class Scaffold extends Module {
|
|||
blockYaw = blockRotations[0];
|
||||
pitch = blockRotations[1];
|
||||
yawOffset = blockYawOffset;
|
||||
if (Utils.getHorizontalSpeed() < 0.6) {
|
||||
//pitch = 80F;
|
||||
}
|
||||
if (firstStroke == 0) {
|
||||
strokeDelay = 300;
|
||||
if (pitch < minPitch) {
|
||||
pitch = minPitch;
|
||||
}
|
||||
} else {
|
||||
firstStroke = Utils.time();
|
||||
pitch = 80F;
|
||||
if (edge == 1) {
|
||||
firstStroke = Utils.time();
|
||||
}
|
||||
yawOffset = 0;
|
||||
pitch = minPitch;
|
||||
strokeDelay = 200;
|
||||
}
|
||||
minOffset = 0;//turning this off for now
|
||||
//minOffset = 0;//turning this off for now
|
||||
Block blockBelow = BlockUtils.getBlock(new BlockPos(Utils.getPosDirectionX(2), mc.thePlayer.posY - 1, Utils.getPosDirectionZ(2)));
|
||||
lastAir = blockBelow instanceof BlockAir;
|
||||
|
||||
if (!Utils.isMoving() || Utils.getHorizontalSpeed() == 0.0D) {
|
||||
e.setRotations(yaw, pitch);
|
||||
e.setRotations(theYaw, pitch);
|
||||
break;
|
||||
}
|
||||
|
||||
float motionYaw = getMotionYaw();
|
||||
|
||||
float lastYaw = Utils.getLastReportedYaw();
|
||||
float newYaw = motionYaw - offset * Math.signum(
|
||||
MathHelper.wrapAngleTo180_float(motionYaw - yaw)
|
||||
);
|
||||
yaw = applyGcd(
|
||||
lastYaw + MathHelper.wrapAngleTo180_float(newYaw - lastYaw)
|
||||
);
|
||||
yaw = MathHelper.wrapAngleTo180_float(newYaw);
|
||||
|
||||
if (quadVal != 1) {
|
||||
if (quad >= 0 && quad < 45F) {
|
||||
if (quad > 5 && quad < 85) {
|
||||
if (quad < 45F) {
|
||||
if (firstStroke == 0) {
|
||||
if (side >= 0) {
|
||||
set2 = false;
|
||||
|
|
@ -423,15 +373,17 @@ public class Scaffold extends Module {
|
|||
}
|
||||
}
|
||||
|
||||
double minSwitch = (!Utils.scaffoldDiagonal(false)) ? 0 : 15;
|
||||
double minSwitch = (!Utils.scaffoldDiagonal(false)) ? 9 : 15;
|
||||
if (side >= 0) {
|
||||
if (quadVal == 1) {
|
||||
if (yawOffset <= -minSwitch && firstStroke == 0) {
|
||||
if (yawOffset <= -minSwitch && firstStroke == 0) {
|
||||
if (quad <= 5 || quad >= 85) {
|
||||
if (set2) {
|
||||
firstStroke = Utils.time();
|
||||
}
|
||||
set2 = false;
|
||||
} else if (yawOffset >= 0 && firstStroke == 0) {
|
||||
}
|
||||
} else if (yawOffset >= 0 && firstStroke == 0) {
|
||||
if (quad <= 5 || quad >= 85) {
|
||||
if (yawOffset >= minSwitch) {
|
||||
if (!set2) {
|
||||
firstStroke = Utils.time();
|
||||
|
|
@ -444,16 +396,19 @@ public class Scaffold extends Module {
|
|||
if (yawOffset <= -0) yawOffset = -0;
|
||||
if (yawOffset >= minOffset) yawOffset = minOffset;
|
||||
e.setRotations((yaw + offset * 2) - yawOffset, pitch);
|
||||
theYaw = e.getYaw();
|
||||
break;
|
||||
}
|
||||
} else if (side <= -0) {
|
||||
if (quadVal == 1) {
|
||||
if (yawOffset >= minSwitch && firstStroke == 0) {
|
||||
if (yawOffset >= minSwitch && firstStroke == 0) {
|
||||
if (quad <= 5 || quad >= 85) {
|
||||
if (set2) {
|
||||
firstStroke = Utils.time();
|
||||
}
|
||||
set2 = false;
|
||||
} else if (yawOffset <= 0 && firstStroke == 0) {
|
||||
}
|
||||
} else if (yawOffset <= 0 && firstStroke == 0) {
|
||||
if (quad <= 5 || quad >= 85) {
|
||||
if (yawOffset <= -minSwitch) {
|
||||
if (!set2) {
|
||||
firstStroke = Utils.time();
|
||||
|
|
@ -466,6 +421,7 @@ public class Scaffold extends Module {
|
|||
if (yawOffset >= 0) yawOffset = 0;
|
||||
if (yawOffset <= -minOffset) yawOffset = -minOffset;
|
||||
e.setRotations((yaw - offset * 2) - yawOffset, pitch);
|
||||
theYaw = e.getYaw();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
@ -478,17 +434,26 @@ public class Scaffold extends Module {
|
|||
if (yawOffset >= minOffset) yawOffset = minOffset;
|
||||
}
|
||||
e.setRotations(yaw - yawOffset, pitch);
|
||||
set2 = false;
|
||||
theYaw = e.getYaw();
|
||||
break;
|
||||
case 3:
|
||||
if (blockRotations != null) {
|
||||
e.setRotations(blockRotations[0], blockRotations[1]);
|
||||
yaw = blockRotations[0];
|
||||
pitch = blockRotations[1];
|
||||
}
|
||||
else {
|
||||
e.setRotations(mc.thePlayer.rotationYaw - hardcodedYaw(), 81.150F);
|
||||
yaw = mc.thePlayer.rotationYaw - hardcodedYaw();
|
||||
pitch = 80F;
|
||||
}
|
||||
|
||||
e.setRotations(yaw, pitch);
|
||||
theYaw = e.getYaw();
|
||||
break;
|
||||
}
|
||||
if (edge != 1) {
|
||||
firstStroke = Utils.time();
|
||||
edge = 1;
|
||||
}
|
||||
|
||||
//get yaw - player yaw offset
|
||||
float yv = MathHelper.wrapAngleTo180_float(mc.thePlayer.rotationYaw) - hardcodedYaw();
|
||||
|
|
@ -529,6 +494,14 @@ public class Scaffold extends Module {
|
|||
}
|
||||
}
|
||||
|
||||
//Smoothing
|
||||
float yawDifference = getAngleDifference(lastEdge2, e.getYaw());
|
||||
float smoothingFactor = (1.0f - (30.0f / 100.0f));
|
||||
if (!mc.thePlayer.onGround) {
|
||||
//e.setYaw(lastEdge2 + yawDifference * smoothingFactor);
|
||||
}
|
||||
lastEdge2 = e.getYaw();
|
||||
|
||||
//pitch fix
|
||||
if (e.getPitch() > 89.9F) {
|
||||
e.setPitch(89.9F);
|
||||
|
|
@ -539,12 +512,24 @@ public class Scaffold extends Module {
|
|||
if (rotationDelay > 0) --rotationDelay;
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public void onSlotUpdate(SlotUpdateEvent e) {
|
||||
if (isEnabled) {
|
||||
lastSlot.set(e.slot);
|
||||
//Utils.print("Switched slot | " + e.slot);
|
||||
}
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public void onPreUpdate(PreUpdateEvent e) {
|
||||
if (!isEnabled) {
|
||||
return;
|
||||
}
|
||||
if (LongJump.function) {
|
||||
startYPos = -1;
|
||||
}
|
||||
if (holdingBlocks() && setSlot()) {
|
||||
|
||||
if (LongJump.stopModules) {
|
||||
//Utils.print("Stopped scaffold due to longjump swapping");
|
||||
return;
|
||||
|
|
@ -635,8 +620,8 @@ public class Scaffold extends Module {
|
|||
targetBlock = null;
|
||||
blockInfo = null;
|
||||
blockRotations = null;
|
||||
fastScaffoldKeepY = firstKeepYPlace = rotateForward = rotatingForward = lowhop = floatStarted = floatJumped = floatWasEnabled = towerEdge =
|
||||
was451 = was452 = false;
|
||||
fastScaffoldKeepY = firstKeepYPlace = rotateForward = rotatingForward = floatStarted = floatJumped = floatWasEnabled = towerEdge =
|
||||
was451 = was452 = lastAir = false;
|
||||
rotationDelay = keepYTicks = scaffoldTicks = speedEdge = 0;
|
||||
firstStroke = 0;
|
||||
startYPos = -1;
|
||||
|
|
@ -714,8 +699,12 @@ public class Scaffold extends Module {
|
|||
}
|
||||
}
|
||||
|
||||
private boolean usingFloat() {
|
||||
return sprint.getInput() == 2 && Utils.isMoving() && !usingFastScaffold();
|
||||
}
|
||||
|
||||
private boolean usingFastScaffold() {
|
||||
return fastScaffold.getInput() > 0 && (!fastOnRMB.isToggled() || Mouse.isButtonDown(1) && Utils.tabbedIn());
|
||||
return fastScaffold.getInput() > 0 && (!fastOnRMB.isToggled() || (Mouse.isButtonDown(1) || ModuleManager.bhop.isEnabled()) && Utils.tabbedIn());
|
||||
}
|
||||
|
||||
public boolean safewalk() {
|
||||
|
|
@ -1052,6 +1041,10 @@ public class Scaffold extends Module {
|
|||
return MathHelper.wrapAngleTo180_float((float) Math.toDegrees(Math.atan2(mc.thePlayer.motionZ, mc.thePlayer.motionX)) - 90.0F);
|
||||
}
|
||||
|
||||
float getMotionYaw2() {
|
||||
return (float) Math.toDegrees(Math.atan2(mc.thePlayer.motionZ, mc.thePlayer.motionX)) - 90.0F;
|
||||
}
|
||||
|
||||
private int getSpeedLevel() {
|
||||
for (PotionEffect potionEffect : mc.thePlayer.getActivePotionEffects()) {
|
||||
if (potionEffect.getEffectName().equals("potion.moveSpeed")) {
|
||||
|
|
@ -1074,18 +1067,25 @@ public class Scaffold extends Module {
|
|||
double[] floatSpeedLevels = {0.2, 0.22, 0.28, 0.29, 0.3};
|
||||
|
||||
double getFloatSpeed(int speedLevel) {
|
||||
double min = 0;
|
||||
double value = 0;
|
||||
double input = (motion.getInput() / 100);
|
||||
if (mc.thePlayer.moveStrafing != 0 && mc.thePlayer.moveForward != 0) min = 0.003;
|
||||
value = floatSpeedLevels[0] - min;
|
||||
if (speedLevel >= 0) {
|
||||
return floatSpeedLevels[speedLevel];
|
||||
value = floatSpeedLevels[speedLevel] - min;
|
||||
}
|
||||
return floatSpeedLevels[0];
|
||||
value *= input;
|
||||
return value;
|
||||
}
|
||||
|
||||
private void handleMotion() {
|
||||
if (handleFastScaffolds() > 0 || ModuleManager.tower.canTower()) {
|
||||
return;
|
||||
}
|
||||
mc.thePlayer.motionX *= motion.getInput();
|
||||
mc.thePlayer.motionZ *= motion.getInput();
|
||||
double input = (motion.getInput() / 100);
|
||||
mc.thePlayer.motionX *= input;
|
||||
mc.thePlayer.motionZ *= input;
|
||||
}
|
||||
|
||||
public float hardcodedYaw() {
|
||||
|
|
@ -1150,6 +1150,10 @@ public class Scaffold extends Module {
|
|||
return slot;
|
||||
}
|
||||
|
||||
public static boolean bypassRots() {
|
||||
return (ModuleManager.scaffold.rotation.getInput() == 2 || ModuleManager.scaffold.rotation.getInput() == 0);
|
||||
}
|
||||
|
||||
public boolean setSlot() {
|
||||
int slot = getSlot();
|
||||
if (slot == -1) {
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@ import keystrokesmod.module.setting.impl.SliderSetting;
|
|||
import keystrokesmod.utility.ModuleUtils;
|
||||
import keystrokesmod.utility.RotationUtils;
|
||||
import keystrokesmod.utility.Utils;
|
||||
import net.minecraft.client.settings.KeyBinding;
|
||||
import net.minecraft.network.play.client.*;
|
||||
import net.minecraft.potion.PotionEffect;
|
||||
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
|
||||
|
|
@ -60,6 +61,9 @@ public class Tower extends Module {
|
|||
if (tower) {
|
||||
towerTicks = mc.thePlayer.onGround ? 0 : ++towerTicks;
|
||||
}
|
||||
if (disableWhileHurt.isToggled() && ModuleUtils.damage) {
|
||||
return;
|
||||
}
|
||||
switch ((int) towerMove.getInput()) {
|
||||
case 1:
|
||||
|
||||
|
|
@ -87,6 +91,9 @@ public class Tower extends Module {
|
|||
int valY = (int) Math.round((mc.thePlayer.posY % 1) * 10000);
|
||||
if (canTower() && Utils.keysDown()) {
|
||||
wasTowering = true;
|
||||
if (disableWhileHurt.isToggled() && ModuleUtils.damage) {
|
||||
return;
|
||||
}
|
||||
switch ((int) towerMove.getInput()) {
|
||||
case 1:
|
||||
mc.thePlayer.motionY = 0.41965;
|
||||
|
|
@ -124,7 +131,7 @@ public class Tower extends Module {
|
|||
}
|
||||
break;
|
||||
case 3:
|
||||
if (mc.thePlayer.posY % 1 == 0 && mc.thePlayer.onGround && !setLowMotion) {
|
||||
if (mc.thePlayer.posY % 1 == 0 && !setLowMotion) {
|
||||
tower = true;
|
||||
}
|
||||
if (tower) {
|
||||
|
|
@ -150,9 +157,10 @@ public class Tower extends Module {
|
|||
else if (setLowMotion) {
|
||||
++cMotionTicks;
|
||||
if (cMotionTicks == 1) {
|
||||
mc.thePlayer.motionY = 0.06F;
|
||||
mc.thePlayer.motionY = 0.08F;
|
||||
Utils.setSpeed(getTowerSpeed(getSpeedLevel()));
|
||||
}
|
||||
else if (cMotionTicks == 3) {
|
||||
else if (cMotionTicks == 4) {
|
||||
cMotionTicks = 0;
|
||||
setLowMotion = false;
|
||||
tower = true;
|
||||
|
|
@ -163,7 +171,7 @@ public class Tower extends Module {
|
|||
case 4:
|
||||
speed = false;
|
||||
int simpleY = (int) Math.round((mc.thePlayer.posY % 1.0D) * 100.0D);
|
||||
if (mc.thePlayer.posY % 1 == 0 && mc.thePlayer.onGround) {
|
||||
if (mc.thePlayer.posY % 1 == 0) {
|
||||
tower = true;
|
||||
}
|
||||
if (tower) {
|
||||
|
|
@ -190,12 +198,15 @@ public class Tower extends Module {
|
|||
}
|
||||
}
|
||||
else {
|
||||
if (wasTowering && slowedTicks.getInput() > 0 && modulesEnabled()) {
|
||||
if (slowTicks++ < slowedTicks.getInput()) {
|
||||
if (wasTowering && modulesEnabled()) {
|
||||
if (slowedTicks.getInput() > 0 && slowedTicks.getInput() != 100 && slowTicks++ < slowedTicks.getInput()) {
|
||||
mc.thePlayer.motionX *= slowedSpeed.getInput() / 100;
|
||||
mc.thePlayer.motionZ *= slowedSpeed.getInput() / 100;
|
||||
}
|
||||
else {
|
||||
ModuleUtils.handleSlow();
|
||||
}
|
||||
if (slowTicks >= slowedTicks.getInput()) {
|
||||
slowTicks = 0;
|
||||
wasTowering = false;
|
||||
}
|
||||
|
|
@ -320,10 +331,7 @@ public class Tower extends Module {
|
|||
}
|
||||
|
||||
public boolean canTower() {
|
||||
if (!Utils.nullCheck() || !Utils.jumpDown()) {
|
||||
return false;
|
||||
}
|
||||
else if (disableWhileHurt.isToggled() && ModuleUtils.damage) {
|
||||
if (!Utils.nullCheck() || !Utils.jumpDown() || !Utils.tabbedIn()) {
|
||||
return false;
|
||||
}
|
||||
else if (mc.thePlayer.isCollidedHorizontally) {
|
||||
|
|
|
|||
|
|
@ -6,7 +6,6 @@ import keystrokesmod.module.ModuleManager;
|
|||
import keystrokesmod.module.setting.impl.ButtonSetting;
|
||||
import keystrokesmod.module.setting.impl.SliderSetting;
|
||||
import keystrokesmod.utility.BlockUtils;
|
||||
import keystrokesmod.utility.Reflection;
|
||||
import keystrokesmod.utility.Utils;
|
||||
import net.minecraft.block.BlockBed;
|
||||
import net.minecraft.client.renderer.GlStateManager;
|
||||
|
|
@ -114,4 +113,4 @@ public class BreakProgress extends Module {
|
|||
this.block = null;
|
||||
this.progressStr = "";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1378,9 +1378,13 @@ public class ScriptDefaults {
|
|||
public static List<String> getBookContents() {
|
||||
if (mc.currentScreen instanceof GuiScreenBook) {
|
||||
List<String> contents = new ArrayList<>();
|
||||
int max = Math.min(128 / mc.fontRendererObj.FONT_HEIGHT, ((IAccessorGuiScreenBook) mc.currentScreen).getBookContents().size());
|
||||
List<IChatComponent> bookContents = ((IAccessorGuiScreenBook) mc.currentScreen).getBookContents();
|
||||
if (bookContents == null) {
|
||||
return contents;
|
||||
}
|
||||
int max = Math.min(128 / mc.fontRendererObj.FONT_HEIGHT, bookContents.size());
|
||||
for (int line = 0; line < max; ++line) {
|
||||
IChatComponent lineStr = ((IAccessorGuiScreenBook) mc.currentScreen).getBookContents().get(line);
|
||||
IChatComponent lineStr = bookContents.get(line);
|
||||
contents.add(lineStr.getUnformattedText());
|
||||
}
|
||||
if (!contents.isEmpty()) {
|
||||
|
|
|
|||
|
|
@ -375,6 +375,7 @@ public class Commands {
|
|||
print(name, 0);
|
||||
if (Settings.sendMessage.isToggled()) {
|
||||
Utils.sendMessage("&7Enabled profile: &b" + name);
|
||||
ModuleUtils.profileTicks = 0;
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,11 +1,15 @@
|
|||
package keystrokesmod.utility;
|
||||
|
||||
import keystrokesmod.event.*;
|
||||
import keystrokesmod.module.impl.combat.Velocity;
|
||||
import keystrokesmod.module.impl.movement.LongJump;
|
||||
import keystrokesmod.module.impl.render.HUD;
|
||||
import keystrokesmod.utility.command.CommandManager;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.BlockAir;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import keystrokesmod.module.ModuleManager;
|
||||
import net.minecraft.client.settings.KeyBinding;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.network.Packet;
|
||||
import net.minecraft.network.play.client.*;
|
||||
|
|
@ -34,22 +38,26 @@ public class ModuleUtils {
|
|||
private int isBreakingTick;
|
||||
public static long MAX_EXPLOSION_DIST_SQ = 10;
|
||||
private long FIREBALL_TIMEOUT = 500L, fireballTime = 0;
|
||||
public static int inAirTicks, groundTicks;
|
||||
public static int inAirTicks, groundTicks, stillTicks;
|
||||
public static int fadeEdge;
|
||||
public static int lastFaceDifference;
|
||||
private int lastFace;
|
||||
public static float offsetValue = 1E-12F;
|
||||
public static double offsetValue = 0.0000000000201;
|
||||
public static boolean isAttacking;
|
||||
private int attackingTicks;
|
||||
private int unTargetTicks;
|
||||
public static int profileTicks = -1;
|
||||
public static boolean lastTickOnGround, lastTickPos1;
|
||||
private boolean thisTickOnGround, thisTickPos1;
|
||||
public static boolean firstDamage;
|
||||
|
||||
public static boolean isBlocked;
|
||||
|
||||
public static boolean damage;
|
||||
private int damageTicks;
|
||||
private boolean lowhopAir;
|
||||
|
||||
public static boolean canSlow, didSlow, setSlow;
|
||||
|
||||
@SubscribeEvent
|
||||
public void onSendPacketNoEvent(NoEventPacketEvent e) {
|
||||
|
|
@ -165,7 +173,7 @@ public class ModuleUtils {
|
|||
if (e.getPacket() instanceof S12PacketEntityVelocity) {
|
||||
if (((S12PacketEntityVelocity) e.getPacket()).getEntityID() == mc.thePlayer.getEntityId()) {
|
||||
|
||||
damage = true;
|
||||
damage = firstDamage = true;
|
||||
damageTicks = 0;
|
||||
|
||||
}
|
||||
|
|
@ -176,7 +184,7 @@ public class ModuleUtils {
|
|||
public void onPreUpdate(PreUpdateEvent e) {
|
||||
|
||||
if (damage && ++damageTicks >= 8) {
|
||||
damage = false;
|
||||
damage = firstDamage = false;
|
||||
damageTicks = 0;
|
||||
}
|
||||
|
||||
|
|
@ -277,6 +285,43 @@ public class ModuleUtils {
|
|||
}
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public void onPostMotion(PostMotionEvent e) {
|
||||
if (bhopBoostConditions()) {
|
||||
if (firstDamage) {
|
||||
Utils.setSpeed(Utils.getHorizontalSpeed());
|
||||
firstDamage = false;
|
||||
}
|
||||
}
|
||||
if (veloBoostConditions()) {
|
||||
if (firstDamage) {
|
||||
double added = 0;
|
||||
if (Utils.getHorizontalSpeed() <= Velocity.minExtraSpeed.getInput()) {
|
||||
added = Velocity.extraSpeedBoost.getInput() / 100;
|
||||
if (Velocity.reverseDebug.isToggled()) {
|
||||
Utils.print("&7[&dR&7] Applied extra boost | Original speed: " + Utils.getHorizontalSpeed());
|
||||
}
|
||||
}
|
||||
Utils.setSpeed((Utils.getHorizontalSpeed() * (Velocity.reverseHorizontal.getInput() / 100)) * (1 + added));
|
||||
firstDamage = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private boolean bhopBoostConditions() {
|
||||
if (ModuleManager.bhop.isEnabled() && ModuleManager.bhop.damageBoost.isToggled() && (!ModuleManager.bhop.damageBoostRequireKey.isToggled() || ModuleManager.bhop.damageBoostKey.isPressed())) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
private boolean veloBoostConditions() {
|
||||
if (ModuleManager.velocity.isEnabled() && ModuleManager.velocity.velocityModes.getInput() == 2) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public void onPreMotion(PreMotionEvent e) {
|
||||
int simpleY = (int) Math.round((e.posY % 1) * 10000);
|
||||
|
|
@ -287,34 +332,92 @@ public class ModuleUtils {
|
|||
lastTickPos1 = thisTickPos1;
|
||||
thisTickPos1 = mc.thePlayer.posY % 1 == 0;
|
||||
|
||||
if (inAirTicks <= 20) {
|
||||
inAirTicks = mc.thePlayer.onGround ? 0 : ++inAirTicks;
|
||||
}
|
||||
else {
|
||||
inAirTicks = 19;
|
||||
}
|
||||
inAirTicks = mc.thePlayer.onGround ? 0 : ++inAirTicks;
|
||||
groundTicks = !mc.thePlayer.onGround ? 0 : ++groundTicks;
|
||||
stillTicks = Utils.isMoving() ? 0 : ++stillTicks;
|
||||
|
||||
// 7 tick needs to always finish the motion or itll lag back
|
||||
if (!ModuleManager.bhop.isEnabled() && ModuleManager.bhop.mode.getInput() == 3 && ModuleManager.bhop.didMove) {
|
||||
Block blockBelow = BlockUtils.getBlock(new BlockPos(mc.thePlayer.posX, mc.thePlayer.posY - 1, mc.thePlayer.posZ));
|
||||
Block blockBelow2 = BlockUtils.getBlock(new BlockPos(mc.thePlayer.posX, mc.thePlayer.posY - 2, mc.thePlayer.posZ));
|
||||
Block block = BlockUtils.getBlock(new BlockPos(mc.thePlayer.posX, mc.thePlayer.posY, mc.thePlayer.posZ));
|
||||
|
||||
if (mc.thePlayer.hurtTime == 0) {
|
||||
switch (simpleY) {
|
||||
case 4200:
|
||||
mc.thePlayer.motionY = 0.39;
|
||||
break;
|
||||
case 1138:
|
||||
mc.thePlayer.motionY = mc.thePlayer.motionY - 0.13;
|
||||
ModuleManager.bhop.lowhop = false;
|
||||
ModuleManager.bhop.didMove = false;
|
||||
break;
|
||||
/*case 2031:
|
||||
mc.thePlayer.motionY = mc.thePlayer.motionY - 0.2;
|
||||
didMove = false;
|
||||
break;*/
|
||||
|
||||
if (ModuleManager.bhop.didMove || ModuleManager.scaffold.lowhop) {
|
||||
|
||||
if ((!ModuleUtils.damage || Velocity.vertical.getInput() == 0) && !mc.thePlayer.isCollidedHorizontally) {
|
||||
|
||||
if (ModuleManager.scaffold.lowhop && !ModuleManager.bhop.didMove) {
|
||||
switch (simpleY) {
|
||||
case 4200:
|
||||
mc.thePlayer.motionY = 0.39;
|
||||
break;
|
||||
case 1138:
|
||||
mc.thePlayer.motionY = mc.thePlayer.motionY - 0.13;
|
||||
break;
|
||||
case 2031:
|
||||
mc.thePlayer.motionY = mc.thePlayer.motionY - 0.2;
|
||||
resetLowhop();
|
||||
break;
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (!(block instanceof BlockAir) || (blockBelow instanceof BlockAir && blockBelow2 instanceof BlockAir)) {
|
||||
resetLowhop();
|
||||
}
|
||||
switch ((int) ModuleManager.bhop.mode.getInput()) {
|
||||
case 2: // 9 tick
|
||||
switch (simpleY) {
|
||||
case 13:
|
||||
mc.thePlayer.motionY = mc.thePlayer.motionY - 0.02483;
|
||||
break;
|
||||
case 2000:
|
||||
mc.thePlayer.motionY = mc.thePlayer.motionY - 0.1913;
|
||||
break;
|
||||
case 7016:
|
||||
mc.thePlayer.motionY = mc.thePlayer.motionY + 0.08;
|
||||
break;
|
||||
}
|
||||
if (ModuleUtils.inAirTicks > 6 && Utils.isMoving()) {
|
||||
Utils.setSpeed(Utils.getHorizontalSpeed(mc.thePlayer));
|
||||
}
|
||||
if (ModuleUtils.inAirTicks > 8) {
|
||||
resetLowhop();
|
||||
}
|
||||
break;
|
||||
case 3: // 8 tick
|
||||
switch (simpleY) {
|
||||
case 13:
|
||||
mc.thePlayer.motionY = mc.thePlayer.motionY - 0.045;//0.02483;
|
||||
break;
|
||||
case 2000:
|
||||
mc.thePlayer.motionY = mc.thePlayer.motionY - 0.175;//0.1913;
|
||||
resetLowhop();
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case 4: // 7 tick
|
||||
switch (simpleY) {
|
||||
case 4200:
|
||||
mc.thePlayer.motionY = 0.39;
|
||||
break;
|
||||
case 1138:
|
||||
mc.thePlayer.motionY = mc.thePlayer.motionY - 0.13;
|
||||
break;
|
||||
case 2031:
|
||||
mc.thePlayer.motionY = mc.thePlayer.motionY - 0.2;
|
||||
resetLowhop();
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!mc.thePlayer.onGround) {
|
||||
lowhopAir = true;
|
||||
}
|
||||
else if (lowhopAir) {
|
||||
resetLowhop();
|
||||
}
|
||||
|
||||
if (ModuleManager.bhop.setRotation) {
|
||||
if (!ModuleManager.killAura.isTargeting && !ModuleManager.scaffold.isEnabled) {
|
||||
|
|
@ -331,6 +434,34 @@ public class ModuleUtils {
|
|||
fadeEdge = 0;
|
||||
ModuleManager.scaffold.highlight.clear();
|
||||
}
|
||||
|
||||
if ((canSlow || ModuleManager.scaffold.moduleEnabled && !ModuleManager.tower.canTower()) && !mc.thePlayer.onGround) {
|
||||
double motionVal = 0.9 - ((double) inAirTicks / 10000) - Utils.randomizeDouble(0.00001, 0.00006);
|
||||
if (mc.thePlayer.hurtTime == 0 && inAirTicks > 4 && !setSlow) {
|
||||
mc.thePlayer.motionX *= motionVal;
|
||||
mc.thePlayer.motionZ *= motionVal;
|
||||
setSlow = true;
|
||||
//Utils.print("Slow " + motionVal);
|
||||
}
|
||||
didSlow = true;
|
||||
}
|
||||
else if (didSlow) {
|
||||
canSlow = didSlow = false;
|
||||
}
|
||||
if (mc.thePlayer.onGround) {
|
||||
setSlow = false;
|
||||
}
|
||||
}
|
||||
|
||||
private void resetLowhop() {
|
||||
ModuleManager.bhop.lowhop = ModuleManager.scaffold.lowhop = false;
|
||||
ModuleManager.bhop.didMove = false;
|
||||
lowhopAir = false;
|
||||
}
|
||||
|
||||
public static void handleSlow() {
|
||||
didSlow = false;
|
||||
canSlow = true;
|
||||
}
|
||||
|
||||
@SubscribeEvent(priority = EventPriority.HIGHEST)
|
||||
|
|
|
|||
|
|
@ -36,9 +36,9 @@ public class RotationUtils {
|
|||
}
|
||||
|
||||
public static float[] getRotations(BlockPos blockPos) {
|
||||
double x = blockPos.getX() + 0.45 - mc.thePlayer.posX;
|
||||
double y = blockPos.getY() + 0.45 - (mc.thePlayer.posY + mc.thePlayer.getEyeHeight());
|
||||
double z = blockPos.getZ() + 0.45 - mc.thePlayer.posZ;
|
||||
double x = blockPos.getX() + 0.5D - mc.thePlayer.posX;
|
||||
double y = blockPos.getY() + 0.5D - (mc.thePlayer.posY + mc.thePlayer.getEyeHeight());
|
||||
double z = blockPos.getZ() + 0.5D - mc.thePlayer.posZ;
|
||||
|
||||
float angleToBlock = (float) (Math.atan2(z, x) * (180 / Math.PI)) - 90.0f;
|
||||
float deltaYaw = MathHelper.wrapAngleTo180_float(angleToBlock - mc.thePlayer.rotationYaw);
|
||||
|
|
@ -55,9 +55,9 @@ public class RotationUtils {
|
|||
}
|
||||
|
||||
public static float[] getRotations(Vec3 vec3) {
|
||||
double x = vec3.xCoord + 1.0 - mc.thePlayer.posX;
|
||||
double y = vec3.yCoord + 1.0 - (mc.thePlayer.posY + mc.thePlayer.getEyeHeight());
|
||||
double z = vec3.zCoord + 1.0 - mc.thePlayer.posZ;
|
||||
double x = vec3.xCoord + 1.0D - mc.thePlayer.posX;
|
||||
double y = vec3.yCoord + 1.0D - (mc.thePlayer.posY + mc.thePlayer.getEyeHeight());
|
||||
double z = vec3.zCoord + 1.0D - mc.thePlayer.posZ;
|
||||
|
||||
float angleToBlock = (float) (Math.atan2(z, x) * (180 / Math.PI)) - 90.0f;
|
||||
float deltaYaw = MathHelper.wrapAngleTo180_float(angleToBlock - mc.thePlayer.rotationYaw);
|
||||
|
|
@ -74,9 +74,9 @@ public class RotationUtils {
|
|||
}
|
||||
|
||||
public static float[] getRotations(double posX, double posY, double posZ) {
|
||||
double x = posX + 1.0 - mc.thePlayer.posX;
|
||||
double y = posY + 1.0 - (mc.thePlayer.posY + mc.thePlayer.getEyeHeight());
|
||||
double z = posZ + 1.0 - mc.thePlayer.posZ;
|
||||
double x = posX + 1.0D - mc.thePlayer.posX;
|
||||
double y = posY + 1.0D - (mc.thePlayer.posY + mc.thePlayer.getEyeHeight());
|
||||
double z = posZ + 1.0D - mc.thePlayer.posZ;
|
||||
|
||||
float angleToBlock = (float) (Math.atan2(z, x) * (180 / Math.PI)) - 90.0f;
|
||||
float deltaYaw = MathHelper.wrapAngleTo180_float(angleToBlock - mc.thePlayer.rotationYaw);
|
||||
|
|
|
|||
|
|
@ -82,6 +82,45 @@ public class Utils {
|
|||
return false;
|
||||
}
|
||||
|
||||
public static double getPosDirectionX(double posOffset) {
|
||||
if (!isMoving()) {
|
||||
return mc.thePlayer.posX;
|
||||
}
|
||||
float yaw = MathHelper.wrapAngleTo180_float(mc.thePlayer.rotationYaw);
|
||||
if (yaw > 45 && yaw <= 90) {
|
||||
return mc.thePlayer.posX + posOffset;
|
||||
} else if (yaw > 90 && yaw <= 135) {
|
||||
return mc.thePlayer.posX + posOffset;
|
||||
} else if (yaw > 135 && yaw <= 180) {
|
||||
return mc.thePlayer.posX + posOffset;
|
||||
} else if (yaw < -90 && yaw >= -135) {
|
||||
return mc.thePlayer.posX - posOffset;
|
||||
} else if (yaw < -45 && yaw >= -90) {
|
||||
return mc.thePlayer.posX - posOffset;
|
||||
} else if (yaw <= -0 && yaw > -45) {
|
||||
return mc.thePlayer.posX - posOffset;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
public static double getPosDirectionZ(double posOffset) {
|
||||
if (!isMoving()) {
|
||||
return mc.thePlayer.posX;
|
||||
}
|
||||
float yaw = MathHelper.wrapAngleTo180_float(mc.thePlayer.rotationYaw);
|
||||
if (yaw >= 0 && yaw <= 45) {
|
||||
return mc.thePlayer.posZ - posOffset;
|
||||
} else if (yaw > 135 && yaw <= 180) {
|
||||
return mc.thePlayer.posZ + 1;
|
||||
} else if (yaw < -135 && yaw >= -180) {
|
||||
return mc.thePlayer.posZ + posOffset;
|
||||
} else if (yaw <= -0 && yaw > -45) {
|
||||
return mc.thePlayer.posZ - posOffset;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
public static boolean holdingEdible(ItemStack stack) {
|
||||
if (stack.getItem() instanceof ItemFood && mc.thePlayer.getFoodStats().getFoodLevel() == 20) {
|
||||
ItemFood food = (ItemFood) stack.getItem();
|
||||
|
|
@ -679,7 +718,7 @@ public class Utils {
|
|||
return false;
|
||||
}
|
||||
final ScoreObjective objective = scoreboard.getObjectiveInDisplaySlot(1);
|
||||
if (objective != null || stripString(objective.getDisplayName()).contains("SKYWARS")) {
|
||||
if (stripString(objective.getDisplayName()).contains("SKYWARS")) {
|
||||
Utils.print("Skywars");
|
||||
return true;
|
||||
}
|
||||
|
|
@ -1455,6 +1494,9 @@ public class Utils {
|
|||
if (ModuleManager.autoTool.isEnabled() && ModuleManager.autoTool.spoofItem.isToggled()) {
|
||||
return mc.thePlayer.inventory.getStackInSlot(ModuleManager.autoTool.previousSlot == -1 ? mc.thePlayer.inventory.currentItem : ModuleManager.autoTool.previousSlot);
|
||||
}
|
||||
if (ModuleManager.LongJump.isEnabled() && ModuleManager.LongJump.spoofItem.isToggled()) {
|
||||
return mc.thePlayer.inventory.getStackInSlot(ModuleManager.LongJump.lastSlot == -1 ? mc.thePlayer.inventory.currentItem : ModuleManager.LongJump.lastSlot);
|
||||
}
|
||||
return original;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -38,6 +38,7 @@ public class ProfileModule extends Module {
|
|||
|
||||
if (Settings.sendMessage.isToggled()) {
|
||||
Utils.sendMessage("&7Enabled profile: &b" + this.getName());
|
||||
ModuleUtils.profileTicks = 0;
|
||||
}
|
||||
saved = true;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue