From d11c80ced326c965e9abdc8605bd2b617553a7cd Mon Sep 17 00:00:00 2001 From: noil Date: Sat, 6 Mar 2021 09:19:35 -0500 Subject: [PATCH] ElytraFly: AutoStart fixes --- .../impl/module/movement/ElytraFlyModule.java | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/src/main/java/me/rigamortis/seppuku/impl/module/movement/ElytraFlyModule.java b/src/main/java/me/rigamortis/seppuku/impl/module/movement/ElytraFlyModule.java index 44b5947..2bfba3c 100644 --- a/src/main/java/me/rigamortis/seppuku/impl/module/movement/ElytraFlyModule.java +++ b/src/main/java/me/rigamortis/seppuku/impl/module/movement/ElytraFlyModule.java @@ -44,7 +44,7 @@ public final class ElytraFlyModule extends Module { public final Value speedZ = new Value("SpeedZ", new String[]{"SpdZ", "amountZ", "sZ"}, "The Z speed factor (speed * this).", 1.0f, 0.1f, 5.0f, 0.1f); public final Value autoStart = new Value("AutoStart", new String[]{"AutoStart", "Auto-Start", "start", "autojump", "as"}, "Hold down the jump key to have an easy automated lift off.", true); - public final Value autoStartDelay = new Value("StartDelay", new String[]{"AutoStartDelay", "startdelay", "autojumpdelay", "asd"}, "Delay(ms) between auto-start attempts.", 20.0f, 0.0f, 200.0f, 5.0f); + public final Value autoStartDelay = new Value("StartDelay", new String[]{"AutoStartDelay", "startdelay", "autojumpdelay", "asd"}, "Delay(ms) between auto-start attempts.", 100.0f, 0.0f, 300.0f, 10.0f); public final Value autoEquip = new Value("AutoEquip", new String[]{"AutoEquipt", "AutoElytra", "Equip", "Equipt", "ae"}, "Automatically equips a durable elytra before or during flight. (inventory only, not hotbar!)", false); public final Value autoEquipDelay = new Value("EquipDelay", new String[]{"AutoEquipDelay", "AutoEquiptDelay", "equipdelay", "aed"}, "Delay(ms) between elytra equip swap attempts.", 200.0f, 0.0f, 1000.0f, 10.0f); public final Value stayAirborne = new Value("StayAirborne", new String[]{"Airborne", "StayInAir", "Stay-Airborne", "air", "sa"}, "Attempts to always keep the player airborne (only use when AutoEquip is enabled).", false); @@ -158,11 +158,17 @@ public final class ElytraFlyModule extends Module { // automatic jump start if (this.autoStart.getValue()) { - if (mc.gameSettings.keyBindJump.isKeyDown() && !mc.player.isElytraFlying()) { // jump is held, player is not elytra flying - if (mc.player.motionY < 0) { // player motion is falling - if (this.startDelayTimer.passed(this.autoStartDelay.getValue())) { - mc.player.connection.sendPacket(new CPacketEntityAction(mc.player, CPacketEntityAction.Action.START_FALL_FLYING)); - this.startDelayTimer.reset(); + if (!mc.player.isElytraFlying()) { + if (mc.player.onGround) { + this.startDelayTimer.reset(); + } + + if (mc.gameSettings.keyBindJump.isKeyDown()) { // jump is held, player is not elytra flying + if (mc.player.motionY < 0) { // player motion is falling + if (this.startDelayTimer.passed(this.autoStartDelay.getValue())) { + mc.player.connection.sendPacket(new CPacketEntityAction(mc.player, CPacketEntityAction.Action.START_FALL_FLYING)); + this.startDelayTimer.reset(); + } } } }