Bypass matrix today (Matrix7145FlagLongJump outdated)
package net.ccbluex.liquidbounce.features.module.modules.movement.longjump.modes
import net.ccbluex.liquidbounce.config.types.Choice
import net.ccbluex.liquidbounce.config.types.ChoiceConfigurable
import net.ccbluex.liquidbounce.config.types.NamedChoice
import net.ccbluex.liquidbounce.event.events.PacketEvent
import net.ccbluex.liquidbounce.event.handler
import net.ccbluex.liquidbounce.event.tickHandler
import net.ccbluex.liquidbounce.features.module.modules.movement.longjump.ModuleLongJump
import net.ccbluex.liquidbounce.utils.entity.withStrafe
import net.ccbluex.liquidbounce.utils.math.copy
import net.minecraft.network.packet.c2s.play.PlayerMoveC2SPacket
import net.minecraft.network.packet.s2c.play.PlayerPositionLookS2CPacket
internal object MatrixNewLongJump : Choice("MatrixNew") {
override val parent: ChoiceConfigurable<*>
get() = ModuleLongJump.mode
private enum class MotionMode(override val choiceName: String) : NamedChoice {
Stable("Stable"),
Last("Last")
}
private enum class BypassMethod(override val choiceName: String) : NamedChoice {
Fall("Fall"),
NoGround("NoGround")
}
private val motionMode by enumChoice("MotionMode", MotionMode.Stable)
private val bypassMethod by enumChoice("BypassMethod", BypassMethod.Fall)
private val boostSpeed by float("MatrixNew-BoostSpeed", 2.1f, -3.0f..8.0f)
private val motionY by float("MotionY", 0.42f, 0.0f..5.0f)
private var savedX = 0.0
private var savedY = 0.0
private var savedZ = 0.0
private var receivedFlag = false
private var canBoost = false
private var boosted = false
private var touchGround = false
override fun enable() {
receivedFlag = false
canBoost = false
boosted = false
touchGround = false
if (bypassMethod == BypassMethod.NoGround) {
if (player.isOnGround) player.jump()
touchGround = true
}
}
override fun disable() {
receivedFlag = false
canBoost = false
boosted = false
touchGround = false
}
@Suppress("unused")
private val packetRecv = handler<PacketEvent> {
val packet = it.packet
if (packet is PlayerPositionLookS2CPacket) {
receivedFlag = true
if (motionMode == MotionMode.Last) {
canBoost = false
val vel = player.velocity
savedX = vel.x
savedY = vel.y
savedZ = vel.z
}
}
}
@Suppress("unused")
private val packetSend = handler<PacketEvent> {
val packet = it.packet
if (packet is PlayerMoveC2SPacket) {
if (motionMode == MotionMode.Last && receivedFlag) {
player.velocity = player.velocity.copy(x = savedX, y = savedY, z = savedZ)
canBoost = false
receivedFlag = false
}
}
}
@Suppress("unused")
private val tick = tickHandler {
if (!player.isOnGround && touchGround) touchGround = false
if (player.isOnGround && !touchGround) {
player.jump()
boosted = false
if (bypassMethod == BypassMethod.NoGround && !boosted) {
canBoost = true
}
}
if (player.fallDistance >= 0.25f && !boosted && bypassMethod == BypassMethod.Fall) {
canBoost = true
}
if (canBoost) {
val yaw = player.yaw
player.velocity = player.velocity
.withStrafe(speed = boostSpeed.toDouble(), yaw = yaw, input = null)
.copy(y = motionY.toDouble())
boosted = true
}
if (receivedFlag && boosted) {
canBoost = false
receivedFlag = false
}
}
}
ported from - https://yougame.biz/threads/360241/