From 51559cb1db30b12e0aa2f6ce420a2fc83698a481 Mon Sep 17 00:00:00 2001 From: ManInMyVan Date: Fri, 26 Jan 2024 16:44:41 -0700 Subject: [PATCH] merge 1d2efa3 --- .../module/modules/movement/Freeze.kt | 47 +++++++++++++++++-- .../module/modules/movement/Sprint.kt | 19 ++++++++ .../module/modules/render/BedProtectionESP.kt | 2 +- 3 files changed, 62 insertions(+), 6 deletions(-) diff --git a/src/main/java/net/ccbluex/liquidbounce/features/module/modules/movement/Freeze.kt b/src/main/java/net/ccbluex/liquidbounce/features/module/modules/movement/Freeze.kt index 36db1e82..8a5d70b8 100644 --- a/src/main/java/net/ccbluex/liquidbounce/features/module/modules/movement/Freeze.kt +++ b/src/main/java/net/ccbluex/liquidbounce/features/module/modules/movement/Freeze.kt @@ -6,21 +6,58 @@ package net.ccbluex.liquidbounce.features.module.modules.movement import net.ccbluex.liquidbounce.event.EventTarget +import net.ccbluex.liquidbounce.event.PacketEvent import net.ccbluex.liquidbounce.event.UpdateEvent import net.ccbluex.liquidbounce.features.module.Module import net.ccbluex.liquidbounce.features.module.ModuleCategory +import net.minecraft.network.play.client.C03PacketPlayer +import net.minecraft.network.play.server.S08PacketPlayerPosLook object Freeze : Module("Freeze", ModuleCategory.MOVEMENT) { + private var motionX = 0.0 + private var motionY = 0.0 + private var motionZ = 0.0 + private var x = 0.0 + private var y = 0.0 + private var z = 0.0 + + override fun onEnable() { + mc.thePlayer ?: return + + x = mc.thePlayer.posX + y = mc.thePlayer.posY + z = mc.thePlayer.posZ + motionX = mc.thePlayer.motionX + motionY = mc.thePlayer.motionY + motionZ = mc.thePlayer.motionZ + } + @EventTarget fun onUpdate(event: UpdateEvent) { - val thePlayer = mc.thePlayer + mc.thePlayer.motionX = 0.0 + mc.thePlayer.motionY = 0.0 + mc.thePlayer.motionZ = 0.0 + mc.thePlayer.setPositionAndRotation(x, y, z, mc.thePlayer.rotationYaw, mc.thePlayer.rotationPitch) + } - thePlayer.isDead = true - thePlayer.rotationYaw = thePlayer.cameraYaw - thePlayer.rotationPitch = thePlayer.cameraPitch + @EventTarget + fun onPacket(event: PacketEvent) { + if (event.packet is C03PacketPlayer) + event.cancelEvent() + if (event.packet is S08PacketPlayerPosLook) { + x = event.packet.x + y = event.packet.y + z = event.packet.z + motionX = 0.0 + motionY = 0.0 + motionZ = 0.0 + } } override fun onDisable() { - mc.thePlayer?.isDead = false + mc.thePlayer.motionX = motionX + mc.thePlayer.motionY = motionY + mc.thePlayer.motionZ = motionZ + mc.thePlayer.setPositionAndRotation(x, y, z, mc.thePlayer.rotationYaw, mc.thePlayer.rotationPitch) } } diff --git a/src/main/java/net/ccbluex/liquidbounce/features/module/modules/movement/Sprint.kt b/src/main/java/net/ccbluex/liquidbounce/features/module/modules/movement/Sprint.kt index a21c0cda..dda19f82 100644 --- a/src/main/java/net/ccbluex/liquidbounce/features/module/modules/movement/Sprint.kt +++ b/src/main/java/net/ccbluex/liquidbounce/features/module/modules/movement/Sprint.kt @@ -5,6 +5,8 @@ */ package net.ccbluex.liquidbounce.features.module.modules.movement +import net.ccbluex.liquidbounce.event.EventTarget +import net.ccbluex.liquidbounce.event.PacketEvent import net.ccbluex.liquidbounce.features.module.Module import net.ccbluex.liquidbounce.features.module.ModuleCategory import net.ccbluex.liquidbounce.features.module.modules.world.Scaffold @@ -16,6 +18,7 @@ import net.ccbluex.liquidbounce.utils.inventory.InventoryUtils.serverOpenInvento import net.ccbluex.liquidbounce.value.BoolValue import net.ccbluex.liquidbounce.value.FloatValue import net.ccbluex.liquidbounce.value.ListValue +import net.minecraft.network.play.client.C0BPacketEntityAction import net.minecraft.potion.Potion import net.minecraft.util.MovementInput import kotlin.math.abs @@ -42,6 +45,7 @@ object Sprint : Module("Sprint", ModuleCategory.MOVEMENT, gameDetecting = false) private val checkServerSide by BoolValue("CheckServerSide", false) { mode == "Vanilla" } private val checkServerSideGround by BoolValue("CheckServerSideOnlyGround", false) { mode == "Vanilla" && checkServerSide } + private val noPackets by BoolValue("NoPackets", false) { mode == "Vanilla" } private var isSprinting = false @@ -143,4 +147,19 @@ object Sprint : Module("Sprint", ModuleCategory.MOVEMENT, gameDetecting = false) return modifiedForward < threshold } + + @EventTarget + fun onPacket(event: PacketEvent) { + if (mode == "Legit") { + return + } + + val packet = event.packet + if (packet !is C0BPacketEntityAction || !noPackets || event.isCancelled) { + return + } + if (packet.action == C0BPacketEntityAction.Action.STOP_SPRINTING || packet.action == C0BPacketEntityAction.Action.START_SPRINTING) { + event.cancelEvent() + } + } } diff --git a/src/main/java/net/ccbluex/liquidbounce/features/module/modules/render/BedProtectionESP.kt b/src/main/java/net/ccbluex/liquidbounce/features/module/modules/render/BedProtectionESP.kt index 84f0c15d..b9d3b1ad 100644 --- a/src/main/java/net/ccbluex/liquidbounce/features/module/modules/render/BedProtectionESP.kt +++ b/src/main/java/net/ccbluex/liquidbounce/features/module/modules/render/BedProtectionESP.kt @@ -44,7 +44,7 @@ object BedProtectionESP : Module("BedProtectionESP", ModuleCategory.RENDER, subj private val blocksToRender = mutableSetOf() private var thread: Thread? = null - private val breakableBlockIDs = arrayOf(35, 159, 121, 20, 5, 49) // wool, stained_clay, end_stone, glass, wood, obsidian + private val breakableBlockIDs = arrayOf(35, 24, 159, 121, 20, 5, 49) // wool, sandstone, stained_clay, end_stone, glass, wood, obsidian private fun getBlocksToRender(targetBlock: Block, maxLayers: Int, down: Boolean, allLayers: Boolean, blockLimit: Int) { val targetBlockID = getIdFromBlock(targetBlock)