Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -170,6 +170,9 @@ object ModuleSpeed : ClientModule("Speed", Category.MOVEMENT) {
get() = when {
!inGame || isDestructed -> false
!ModuleSpeed.enabled || !this.enabled || !passesRequirements() -> false
// TODO: right now OnlyInCombat has the priority over OnlyOnPotionEffect
// and this might not be always correct
OnlyInCombat.enabled && CombatManager.isInCombat -> false
else -> potionEffects.activeChoice.checkPotionEffects()
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,6 @@ import net.ccbluex.liquidbounce.event.events.PlayerAfterJumpEvent
import net.ccbluex.liquidbounce.event.events.PlayerJumpEvent
import net.ccbluex.liquidbounce.event.handler
import net.ccbluex.liquidbounce.event.sequenceHandler
import net.ccbluex.liquidbounce.features.module.modules.movement.speed.ModuleSpeed
import net.ccbluex.liquidbounce.utils.client.Timer
import net.ccbluex.liquidbounce.utils.entity.moving
import net.ccbluex.liquidbounce.utils.entity.sqrtSpeed
Expand Down Expand Up @@ -191,7 +190,7 @@ class SpeedCustom(override val parent: ChoiceConfigurable<*>) : SpeedBHopBase("C
}

if (timerSpeed != 1f) {
Timer.requestTimerSpeed(timerSpeed, Priority.IMPORTANT_FOR_USAGE_1, ModuleSpeed)
Timer.requestTimerSpeed(timerSpeed, Priority.IMPORTANT_FOR_USAGE_1, parent.eventListener)
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@ package net.ccbluex.liquidbounce.features.module.modules.movement.speed.modes.in

import net.ccbluex.liquidbounce.config.types.nesting.ChoiceConfigurable
import net.ccbluex.liquidbounce.event.tickHandler
import net.ccbluex.liquidbounce.features.module.modules.movement.speed.ModuleSpeed
import net.ccbluex.liquidbounce.features.module.modules.movement.speed.modes.SpeedBHopBase
import net.ccbluex.liquidbounce.utils.client.Timer
import net.ccbluex.liquidbounce.utils.entity.airTicks
Expand Down Expand Up @@ -50,7 +49,7 @@ class SpeedIntave14Fast(override val parent: ChoiceConfigurable<*>) : SpeedBHopB
}

if (timer) {
Timer.requestTimerSpeed(1.002f, Priority.NOT_IMPORTANT, ModuleSpeed)
Timer.requestTimerSpeed(1.002f, Priority.NOT_IMPORTANT, parent.eventListener)
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@ import net.ccbluex.liquidbounce.event.EventListener
import net.ccbluex.liquidbounce.event.events.PlayerJumpEvent
import net.ccbluex.liquidbounce.event.handler
import net.ccbluex.liquidbounce.event.tickHandler
import net.ccbluex.liquidbounce.features.module.modules.movement.speed.ModuleSpeed
import net.ccbluex.liquidbounce.features.module.modules.movement.speed.modes.SpeedBHopBase
import net.ccbluex.liquidbounce.utils.client.Timer
import net.ccbluex.liquidbounce.utils.entity.moving
Expand Down Expand Up @@ -119,7 +118,7 @@ class SpeedNCP(override val parent: ChoiceConfigurable<*>) : SpeedBHopBase("NCP"
}

if (timerBoost) {
Timer.requestTimerSpeed(1.08f, priority = Priority.IMPORTANT_FOR_USAGE_1, provider = ModuleSpeed)
Timer.requestTimerSpeed(1.08f, priority = Priority.IMPORTANT_FOR_USAGE_1, provider = parent.eventListener)
}

if (player.hurtTime >= 1 && damageBoost) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@ import net.ccbluex.liquidbounce.config.types.nesting.Choice
import net.ccbluex.liquidbounce.config.types.nesting.ChoiceConfigurable
import net.ccbluex.liquidbounce.event.events.PlayerMoveEvent
import net.ccbluex.liquidbounce.event.handler
import net.ccbluex.liquidbounce.features.module.modules.movement.speed.ModuleSpeed
import net.ccbluex.liquidbounce.utils.client.MovePacketType
import net.ccbluex.liquidbounce.utils.client.Timer
import net.ccbluex.liquidbounce.utils.entity.airTicks
Expand Down Expand Up @@ -94,7 +93,7 @@ class SpeedSpartanV4043FastFall(override val parent: ChoiceConfigurable<*>) : Ch

event.movement.y = 0.42
} else if (player.airTicks == 1) {
Timer.requestTimerSpeed(0.5f, Priority.NORMAL, ModuleSpeed, 0)
Timer.requestTimerSpeed(0.5f, Priority.NORMAL, parent.eventListener, 0)

network.sendPacket(MovePacketType.FULL.generatePacket().apply { // for some reason full works best
onGround = true
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@ import net.ccbluex.liquidbounce.event.events.PlayerAfterJumpEvent
import net.ccbluex.liquidbounce.event.events.PlayerMoveEvent
import net.ccbluex.liquidbounce.event.handler
import net.ccbluex.liquidbounce.event.tickHandler
import net.ccbluex.liquidbounce.features.module.modules.movement.speed.ModuleSpeed
import net.ccbluex.liquidbounce.features.module.modules.movement.speed.modes.SpeedBHopBase
import net.ccbluex.liquidbounce.utils.client.Timer
import net.ccbluex.liquidbounce.utils.entity.moving
Expand Down Expand Up @@ -57,7 +56,7 @@ class SpeedVerusB3882(override val parent: ChoiceConfigurable<*>) : SpeedBHopBas

@Suppress("unused")
private val timerHandler = tickHandler {
Timer.requestTimerSpeed(2.0F, Priority.IMPORTANT_FOR_USAGE_1, ModuleSpeed)
Timer.requestTimerSpeed(2.0F, Priority.IMPORTANT_FOR_USAGE_1, parent.eventListener)
waitTicks(101)
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@ package net.ccbluex.liquidbounce.utils.client
import net.ccbluex.liquidbounce.event.EventListener
import net.ccbluex.liquidbounce.event.events.GameTickEvent
import net.ccbluex.liquidbounce.event.handler
import net.ccbluex.liquidbounce.features.module.ClientModule
import net.ccbluex.liquidbounce.utils.client.Timer.requestTimerSpeed
import net.ccbluex.liquidbounce.utils.kotlin.EventPriorityConvention.FIRST_PRIORITY
import net.ccbluex.liquidbounce.utils.kotlin.Priority
Expand All @@ -43,10 +42,10 @@ object Timer : EventListener {
}

/**
* Requests a timer speed change. If another module requests with a higher priority,
* the other module is prioritized.
* Requests a timer speed change. If another event listener requests with a higher priority,
* the other event listener is prioritized.
*/
fun requestTimerSpeed(timerSpeed: Float, priority: Priority, provider: ClientModule, resetAfterTicks: Int = 1) {
fun requestTimerSpeed(timerSpeed: Float, priority: Priority, provider: EventListener, resetAfterTicks: Int = 1) {
requestHandler.request(
RequestHandler.Request(
// this prevents requests from being instantly removed
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
*/
package net.ccbluex.liquidbounce.utils.kotlin

import net.ccbluex.liquidbounce.features.module.ClientModule
import net.ccbluex.liquidbounce.event.EventListener
import net.minecraft.client.MinecraftClient
import java.util.concurrent.PriorityBlockingQueue

Expand Down Expand Up @@ -63,6 +63,6 @@ class RequestHandler<T> {
* @param provider module which requested value
*/
class Request<T>(
var expiresIn: Int, val priority: Int, val provider: ClientModule, val value: T
var expiresIn: Int, val priority: Int, val provider: EventListener, val value: T
)
}