From e829bf12de7c337f0c72422abacb65160570f073 Mon Sep 17 00:00:00 2001 From: 1zuna <1zuna@ccbluex.net> Date: Mon, 2 Dec 2024 04:41:39 +0100 Subject: [PATCH] feat(FakeLag): flush options (#4785) --- .../module/modules/combat/ModuleFakeLag.kt | 29 +++++++++++++++---- 1 file changed, 24 insertions(+), 5 deletions(-) diff --git a/src/main/kotlin/net/ccbluex/liquidbounce/features/module/modules/combat/ModuleFakeLag.kt b/src/main/kotlin/net/ccbluex/liquidbounce/features/module/modules/combat/ModuleFakeLag.kt index 6cd055c03ba..9fbf01ae0d8 100644 --- a/src/main/kotlin/net/ccbluex/liquidbounce/features/module/modules/combat/ModuleFakeLag.kt +++ b/src/main/kotlin/net/ccbluex/liquidbounce/features/module/modules/combat/ModuleFakeLag.kt @@ -54,6 +54,10 @@ object ModuleFakeLag : ClientModule("FakeLag", Category.COMBAT) { private val delay by intRange("Delay", 300..600, 0..1000, "ms") private val mode by enumChoice("Mode", Mode.DYNAMIC).apply { tagBy(this) } + private val flushOnEntityInteract by boolean("FlushOnEntityInteract", true) + private val flushOnBlockInteract by boolean("FlushOnBlockInteract", true) + private val flushOnAction by boolean("FlushOnAction", true) + private enum class Mode(override val choiceName: String) : NamedChoice { CONSTANT("Constant"), DYNAMIC("Dynamic") @@ -107,15 +111,30 @@ object ModuleFakeLag : ClientModule("FakeLag", Category.COMBAT) { when (val packet = event.packet) { is PlayerPositionLookS2CPacket, - is PlayerInteractBlockC2SPacket, - is PlayerActionC2SPacket, - is UpdateSignC2SPacket, - is PlayerInteractEntityC2SPacket, - is HandSwingC2SPacket, is ResourcePackStatusC2SPacket -> { return@handler } + is PlayerInteractEntityC2SPacket, + is HandSwingC2SPacket -> { + if (flushOnEntityInteract) { + return@handler + } + } + + is PlayerInteractBlockC2SPacket, + is UpdateSignC2SPacket -> { + if (flushOnBlockInteract) { + return@handler + } + } + + is PlayerActionC2SPacket -> { + if (flushOnAction) { + return@handler + } + } + // Flush on knockback is EntityVelocityUpdateS2CPacket -> { if (packet.entityId == player.id && (packet.velocityX != 0 || packet.velocityY != 0 || packet.velocityZ != 0)) {