Skip to content

Commit 6796a7e

Browse files
committed
fix: (killaura) always swing before the attack so jump-attacks pass Grim PacketOrderB
The swing (C0A) was skipped while airborne under FailSwing (only sent when onGround), but the attack (C02) still fired -> GrimAC PacketOrderB 'did not swing for attack' spammed on every jump-attack. The vanilla 1.8 order is swing-then-attack, so send the swing before every real attack regardless of onGround. FailSwing only swings on the miss path (which never issues a real attack), so this cannot double-swing.
1 parent 5113925 commit 6796a7e

1 file changed

Lines changed: 6 additions & 2 deletions

File tree

  • src/main/java/net/ccbluex/liquidbounce/features/module/modules/combat

src/main/java/net/ccbluex/liquidbounce/features/module/modules/combat/KillAura.kt

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1011,8 +1011,12 @@ object KillAura : Module("KillAura", Category.COMBAT, Category.SubCategory.COMBA
10111011
if (!blinkAutoBlock || !BlinkUtils.isBlinking) {
10121012
val affectSprint = false.takeIf { KeepSprint.handleEvents() || keepSprint }
10131013

1014-
// Optimized attack call
1015-
if (swing && (!failSwing || mc.thePlayer.onGround)) {
1014+
// The swing (C0A) must always immediately precede the attack (C02) — that is the vanilla
1015+
// 1.8 order GrimAC's PacketOrderB enforces ("did not swing for attack"). The old airborne
1016+
// skip (only swing when onGround under FailSwing) meant a jump-attack sent the attack with
1017+
// no preceding swing, spamming PacketOrderB. FailSwing only swings on the miss path (which
1018+
// never reaches a real attack), so swinging here every hit cannot double-swing.
1019+
if (swing) {
10161020
thePlayer.swingItem()
10171021
}
10181022
thePlayer.attackEntityWithModifiedSprint(entity, affectSprint) {}

0 commit comments

Comments
 (0)