Skip to content

Commit

Permalink
Added SimulatedPlayer.
Browse files Browse the repository at this point in the history
  • Loading branch information
mems01 committed Jan 9, 2024
1 parent 691aa63 commit 4456662
Show file tree
Hide file tree
Showing 4 changed files with 1,456 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,9 @@ import net.ccbluex.liquidbounce.features.module.modules.misc.AntiBot.isBot
import net.ccbluex.liquidbounce.features.module.modules.misc.Teams
import net.ccbluex.liquidbounce.features.module.modules.player.Blink
import net.ccbluex.liquidbounce.injection.implementations.IMixinEntity
import net.ccbluex.liquidbounce.utils.PacketUtils
import net.ccbluex.liquidbounce.utils.*
import net.ccbluex.liquidbounce.utils.extensions.*
import net.ccbluex.liquidbounce.utils.misc.StringUtils.contains
import net.ccbluex.liquidbounce.utils.realX
import net.ccbluex.liquidbounce.utils.realY
import net.ccbluex.liquidbounce.utils.realZ
import net.ccbluex.liquidbounce.utils.render.ColorUtils.rainbow
import net.ccbluex.liquidbounce.utils.render.RenderUtils.drawBacktrackBox
import net.ccbluex.liquidbounce.utils.render.RenderUtils.glColor
Expand Down Expand Up @@ -337,11 +334,41 @@ object Backtrack : Module("Backtrack", ModuleCategory.COMBAT) {
}

"modern" -> {
if (!shouldBacktrack() || packetQueue.isEmpty() || !shouldDraw || !esp)
return
val player = mc.thePlayer ?: return

val renderManager = mc.renderManager

val simPlayer = SimulatedPlayer.fromClientPlayer(player.movementInput)

repeat(delay) {
simPlayer.tick()

val (x1, y1, z1) = simPlayer.pos

val x =
x1 - renderManager.renderPosX
val y =
y1 - renderManager.renderPosY
val z =
z1 - renderManager.renderPosZ

val axisAlignedBB = simPlayer.box.offset(-x1, -y1, -z1).offset(x, y, z)

drawBacktrackBox(
AxisAlignedBB.fromBounds(
axisAlignedBB.minX,
axisAlignedBB.minY,
axisAlignedBB.minZ,
axisAlignedBB.maxX,
axisAlignedBB.maxY,
axisAlignedBB.maxZ
), color
)
}

if (!shouldBacktrack() || packetQueue.isEmpty() || !shouldDraw || !esp)
return

target?.run {
val targetEntity = target as IMixinEntity

Expand Down
14 changes: 14 additions & 0 deletions src/main/java/net/ccbluex/liquidbounce/utils/PlayerSimulation.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
/*
* LiquidBounce Hacked Client
* A free open source mixin-based injection hacked client for Minecraft using Minecraft Forge.
* https://github.com/CCBlueX/LiquidBounce/
*/
package net.ccbluex.liquidbounce.utils

import net.minecraft.util.Vec3

interface PlayerSimulation {
val pos: Vec3

fun tick()
}
Loading

0 comments on commit 4456662

Please sign in to comment.