[Kotlin] Matrix new longjump
Scripts
1
Posts
1
Posters
41
Views
-
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/