Skip to content

Commit

Permalink
碧蓝档案光环
Browse files Browse the repository at this point in the history
  • Loading branch information
XeContrast committed Oct 27, 2024
1 parent eec6f78 commit a6247b6
Show file tree
Hide file tree
Showing 108 changed files with 1,128 additions and 587 deletions.
2 changes: 1 addition & 1 deletion src/main/java/net/ccbluex/liquidbounce/event/Events.kt
Original file line number Diff line number Diff line change
Expand Up @@ -201,6 +201,6 @@ class ClickWindowEvent(val windowId: Int, val slotId: Int, val mouseButtonClicke

object ClickUpdateEvent : CancellableEvent() {
fun reInit() {
isCancelled = false;
isCancelled = false
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -87,12 +87,12 @@ object HUDModule : Module() {
else -> {}
}
if (eatbar.get()) {
if (mc.thePlayer.heldItem.item != null && (mc.thePlayer.heldItem?.item is ItemFood || mc.thePlayer.heldItem
?.item is ItemPotion)
val heldItem = mc.thePlayer.heldItem ?: return
if (heldItem.item != null && (heldItem.item is ItemFood || heldItem.item is ItemPotion)
) {
val scaledResolution = StaticStorage.scaledResolution
val scaledResolution = StaticStorage.scaledResolution ?: return
val math: Double
val height: Double = scaledResolution?.scaledHeight!!.toDouble()
val height: Double = scaledResolution.scaledHeight.toDouble()
val width: Double = scaledResolution.scaledWidth.toDouble()
if (!(tick <= 0)) {
idk = (1f - (tick / 32))
Expand Down Expand Up @@ -203,7 +203,8 @@ object HUDModule : Module() {
fun onUpdate(event: UpdateEvent) {
FDPClient.hud.update()
if (eatbar.get()) {
if (mc.thePlayer.heldItem.item is ItemFood || mc.thePlayer.heldItem.item is ItemPotion
val helditem = mc.thePlayer.heldItem ?: return
if (helditem.item is ItemFood || helditem.item is ItemPotion
) {
if (tick < 0) {
tick = 0.0
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -133,8 +133,8 @@ class BackTrack : Module() {
private var attacked : Entity? = null

private var smoothPointer = System.nanoTime()
var needFreeze = false
var reversing = false
private var needFreeze = false
private var reversing = false

// @EventTarget
// for safety, see in met.minecraft.network.NetworkManager
Expand Down Expand Up @@ -558,7 +558,7 @@ class BackTrack : Module() {
else releasePacket(bestTimeStamp)
}

fun stopReverse() {
private fun stopReverse() {
if (storageSendPackets.isEmpty()) return
while (storageSendPackets.isNotEmpty()) {
storageSendPackets.removeAt(0).let {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -139,7 +139,7 @@ object Criticals : Module() {
*/
}

if (packet is C03PacketPlayer && (MovementUtils.isMoving() || syncTimer.hasTimePassed(1000L) || msTimer.hasTimePassed(
if (packet is C03PacketPlayer && (MovementUtils.isMoving || syncTimer.hasTimePassed(1000L) || msTimer.hasTimePassed(
((delayValue.get() / 5) + 75).toLong()
))
)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
/*
* 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.features.module.modules.combat

import kevin.utils.component1
Expand All @@ -10,19 +15,19 @@ import net.ccbluex.liquidbounce.features.module.Module
import net.ccbluex.liquidbounce.features.module.ModuleCategory
import net.ccbluex.liquidbounce.features.module.ModuleInfo
import net.ccbluex.liquidbounce.features.module.modules.player.Blink
import net.ccbluex.liquidbounce.features.module.modules.world.scaffold.Scaffold
import net.ccbluex.liquidbounce.features.module.modules.world.scaffold.Scaffold2
import net.ccbluex.liquidbounce.features.value.BoolValue
import net.ccbluex.liquidbounce.features.value.FloatValue
import net.ccbluex.liquidbounce.features.value.IntegerValue
import net.ccbluex.liquidbounce.injection.implementations.IMixinEntity
import net.ccbluex.liquidbounce.utils.PacketUtils
import net.ccbluex.liquidbounce.utils.MovementUtils.isMoving
import net.ccbluex.liquidbounce.utils.PacketUtils.sendPacket
import net.ccbluex.liquidbounce.utils.Rotation
import net.ccbluex.liquidbounce.utils.RotationUtils
import net.ccbluex.liquidbounce.utils.extensions.getNearestPointBB
import net.ccbluex.liquidbounce.utils.extensions.hitBox
import net.ccbluex.liquidbounce.utils.render.ColorUtils
import net.ccbluex.liquidbounce.utils.extensions.*
import net.ccbluex.liquidbounce.utils.render.ColorUtils.rainbow
import net.ccbluex.liquidbounce.utils.render.RenderUtils.glColor
import net.ccbluex.liquidbounce.utils.timer.MSTimer
import net.minecraft.client.gui.inventory.GuiContainer
import net.minecraft.entity.player.EntityPlayer
import net.minecraft.network.Packet
import net.minecraft.network.handshake.client.C00Handshake
Expand All @@ -37,14 +42,30 @@ import net.minecraft.util.Vec3
import org.lwjgl.opengl.GL11.*
import java.awt.Color

@ModuleInfo("FakeLag", category = ModuleCategory.COMBAT)
@ModuleInfo("FakeLag",category = ModuleCategory.COMBAT)
object FakeLag : Module() {

private val delay = IntegerValue("Delay", 550, 0,1000)
private val recoilTime = IntegerValue("RecoilTime", 750, 0,2000)
private val distanceToPlayers = FloatValue("AllowedDistanceToPlayers", 3.5f, 0.0f,6.0f)

private val maxAllowedDistToEnemy: FloatValue = object : FloatValue("MaxAllowedDistToEnemy", 3.5f, 0f,6f) {
override fun onChanged(oldValue: Float, newValue: Float) {
val i = minAllowedDistToEnemy.get()
if (i > newValue) set(i)
}
}
private val minAllowedDistToEnemy: FloatValue = object : FloatValue("MinAllowedDistToEnemy", 1.5f, 0f,6f) {
override fun onChanged(oldValue: Float, newValue: Float) {
val i = maxAllowedDistToEnemy.get()
if (i < newValue) set(i)
}
}

private val blinkOnAction = BoolValue("BlinkOnAction", true)

private val pauseOnNoMove = BoolValue("PauseOnNoMove", true)
private val pauseOnChest = BoolValue("PauseOnChest", false)

private val line = BoolValue("Line", true)
private val rainbow = BoolValue("Rainbow", false).displayable { line.get() }
private val red = IntegerValue("R",
Expand All @@ -63,7 +84,7 @@ object FakeLag : Module() {
private val packetQueue = LinkedHashMap<Packet<*>, Long>()
private val positions = LinkedHashMap<Vec3, Long>()
private val resetTimer = MSTimer()
private var wasNearPlayer = false
private var wasNearEnemy = false
private var ignoreWholeTick = false

override fun onDisable() {
Expand All @@ -87,12 +108,17 @@ object FakeLag : Module() {
if (event.isCancelled)
return

if (distanceToPlayers.get() > 0.0 && wasNearPlayer)
if (maxAllowedDistToEnemy.get() > 0.0 && wasNearEnemy)
return

if (ignoreWholeTick)
return

if (pauseOnNoMove.get() && !isMoving) {
blink()
return
}

// Flush on damaged received
if (player.health < player.maxHealth) {
if (player.hurtTime != 0) {
Expand All @@ -101,12 +127,23 @@ object FakeLag : Module() {
}
}

// Flush on scaffold/tower usage
if (FDPClient.moduleManager[Scaffold::class.java]!!.state || FDPClient.moduleManager[Scaffold2::class.java]!!.state) {
blink()
return
}

// Flush on attack/interact
if (blinkOnAction.get() && packet is C02PacketUseEntity) {
blink()
return
}

if (pauseOnChest.get() && mc.currentScreen is GuiContainer) {
blink()
return
}

when (packet) {
is C00Handshake, is C00PacketServerQuery, is C01PacketPing, is C01PacketChatMessage, is S01PacketPong -> return

Expand Down Expand Up @@ -148,9 +185,6 @@ object FakeLag : Module() {
synchronized(positions) {
positions[packetPos] = System.currentTimeMillis()
}
if (packet.rotating) {
RotationUtils.serverRotation = Rotation(packet.yaw, packet.pitch)
}
}
synchronized(packetQueue) {
packetQueue[packet] = System.currentTimeMillis()
Expand All @@ -165,16 +199,16 @@ object FakeLag : Module() {
blink(false)
}

private fun getTruePositionEyes(player: EntityPlayer): Vec3 {
val mixinPlayer = player as? IMixinEntity
return Vec3(mixinPlayer!!.trueX, mixinPlayer.trueY + player.getEyeHeight().toDouble(), mixinPlayer.trueZ)
private fun getTruePositionEyes(player: EntityPlayer): Vec3? {
val mixinPlayer = player as? IMixinEntity ?: return null
return Vec3(mixinPlayer.trueX, mixinPlayer.trueY + player.getEyeHeight().toDouble(), mixinPlayer.trueZ)
}

@EventTarget
fun onGameLoop(event: GameLoopEvent) {
val player = mc.thePlayer ?: return

if (distanceToPlayers.get() > 0) {
if (maxAllowedDistToEnemy.get() > 0) {
val playerPos = player.positionVector
val serverPos = positions.keys.firstOrNull() ?: playerPos

Expand All @@ -183,15 +217,15 @@ object FakeLag : Module() {
val (dx, dy, dz) = serverPos - playerPos
val playerBox = player.hitBox.offset(dx, dy, dz)

wasNearPlayer = false
wasNearEnemy = false

for (otherPlayer in otherPlayers) {
val entityMixin = otherPlayer as? IMixinEntity
if (entityMixin != null) {
val eyes = getTruePositionEyes(otherPlayer)
if (eyes.distanceTo(getNearestPointBB(eyes, playerBox)) <= distanceToPlayers.get().toDouble()) {
val eyes = getTruePositionEyes(otherPlayer) ?: return
if (eyes.distanceTo(getNearestPointBB(eyes, playerBox)) in minAllowedDistToEnemy.get()..maxAllowedDistToEnemy.get()) {
blink()
wasNearPlayer = true
wasNearEnemy = true
return
}
}
Expand All @@ -214,7 +248,7 @@ object FakeLag : Module() {
fun onRender3D(event: Render3DEvent) {
if (!line.get()) return

val color = if (rainbow.get()) ColorUtils.rainbow() else Color(red.get(), green.get(), blue.get())
val color = if (rainbow.get()) rainbow() else Color(red.get(), green.get(), blue.get())

if (FDPClient.moduleManager[Blink::class.java]!!.state)
return
Expand Down Expand Up @@ -278,4 +312,5 @@ object FakeLag : Module() {
positions.entries.removeAll { (_, timestamp) -> timestamp <= System.currentTimeMillis() - delay.get() }
}
}
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ object KillAura : Module() {

private val attackTimingValue =
ListValue("AttackTiming", arrayOf("All", "Pre", "Post"), "All").displayable { attackDisplay.get() }
val sprintmode = ListValue("SprintMode", arrayOf("KeepSprint","Ground","StopSprint","StopMotion","AttackSlow"),"KeepSprint").displayable { attackDisplay.get() }
val sprintmode = ListValue("SprintMode", arrayOf("KeepSprint","Ground","StopSprint","StopMotion"),"KeepSprint").displayable { attackDisplay.get() }

private val hitselectValue = BoolValue("HitSelect", false).displayable { attackDisplay.get() }
private val hitselectRangeValue = FloatValue(
Expand Down Expand Up @@ -654,6 +654,7 @@ object KillAura : Module() {
mc.netHandler.addToSendQueue(C09PacketHeldItemChange(curritem))
}


if (reachMode.equals("Air")) {
if (mc.thePlayer.onGround) {
rangeValue.set(groundRangeValue.get())
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ class LagRange : Module() {
private fun shouldStart(): Boolean {
if (mc.thePlayer == null || mc.theWorld == null) return false
if (onGround.get() && !mc.thePlayer.onGround) return false
if (!MovementUtils.isMoving()) return false
if (!MovementUtils.isMoving) return false
if (fov.get() == 0) return false
if (System.currentTimeMillis() - lastLagTime < delay.get()) return false

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ class SuperKnockback : Module() {
val angleDifferenceToPlayer = getAngleDifference(rotationToPlayer, target.rotationYaw)
if (angleDifferenceToPlayer > minEnemyRotDiffToIgnore.get() && !target.hitBox.isVecInside(player.eyes)) return
if (event.targetEntity.hurtTime > hurtTimeValue.get() || !timer.hasTimePassed(delayValue.get().toLong()) ||
(!MovementUtils.isMoving() && onlyMoveValue.get()) || (!mc.thePlayer.onGround && onlyGroundValue.get())) {
(!MovementUtils.isMoving && onlyMoveValue.get()) || (!mc.thePlayer.onGround && onlyGroundValue.get())) {
return
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -281,7 +281,7 @@ object Velocity : Module() {
private var intaveDamageTick = 0

@EventTarget(priority = -1)
private fun onPacket(event: PacketEvent) {
fun onPacket(event: PacketEvent) {
val packet = event.packet
val thePlayer = mc.thePlayer ?: return

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ class FakeCollideCritical : CriticalMode("FakeCollide") {
override fun onAttack(event: AttackEvent) {
val motionX: Double
val motionZ: Double
if (MovementUtils.isMoving()) {
if (MovementUtils.isMoving) {
motionX = mc.thePlayer.motionX
motionZ = mc.thePlayer.motionZ
} else {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ class MatrixDisabler : DisablerMode("Matrix") {

@Override
fun onPostMotion(event: PostMotionEvent) {
if (!matrixMoveOnly.get() || isMoving())
if (!matrixMoveOnly.get() || isMoving)
if (matrixNoCheck.get() || FDPClient.moduleManager[Flight::class.java]!!.state || FDPClient.moduleManager[Speed::class.java]!!.state) {
var changed = false
if (matrixHotbarChange.get()) for (i in 0..8) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ class BasicDisabler : DisablerMode("Basic") {
disabler.debugMessage("Cancel C13-Abilities")
}
if (packet is C03PacketPlayer && !(packet is C04PacketPlayerPosition || packet is C05PacketPlayerLook || packet is C06PacketPlayerPosLook) && cancelC03Value.get()) {
if (c03NoMoveValue.get() && MovementUtils.isMoving())
if (c03NoMoveValue.get() && MovementUtils.isMoving)
return
event.cancelEvent()
disabler.debugMessage("Cancel C03-Flying")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ class VulcanScaffold : DisablerMode("VulcanScaffold") {
override fun onUpdate(event: UpdateEvent) {
mc.netHandler.addToSendQueue(C0BPacketEntityAction(mc.thePlayer, C0BPacketEntityAction.Action.START_SPRINTING))
mc.netHandler.addToSendQueue(C0BPacketEntityAction(mc.thePlayer, C0BPacketEntityAction.Action.STOP_SPRINTING))
if (MovementUtils.isMoving() && mc.thePlayer.ticksExisted % 10 == 0 && mc.thePlayer.onGround) {
if (MovementUtils.isMoving && mc.thePlayer.ticksExisted % 10 == 0 && mc.thePlayer.onGround) {
mc.netHandler.addToSendQueue(C0BPacketEntityAction(mc.thePlayer, C0BPacketEntityAction.Action.START_SNEAKING))
mc.netHandler.addToSendQueue(C0BPacketEntityAction(mc.thePlayer, C0BPacketEntityAction.Action.STOP_SNEAKING))
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ object InvMove : Module() {

@EventTarget
fun onClick(event: ClickWindowEvent) {
if (noMoveClicksValue.get() && MovementUtils.isMoving()) {
if (noMoveClicksValue.get() && MovementUtils.isMoving) {
event.cancelEvent()
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ object LongJump : Module() {
}
}
mode.onUpdate(event)
if (autoJumpValue.get() && mc.thePlayer.onGround && MovementUtils.isMoving() && airTick < 2) {
if (autoJumpValue.get() && mc.thePlayer.onGround && MovementUtils.isMoving && airTick < 2) {
mode.onAttemptJump()
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -312,7 +312,7 @@ object NoSlow : Module() {
if (mc.thePlayer == null || mc.theWorld == null)
return

if ((!MovementUtils.isMoving() && onlyMove.get()) || (onlyGround.get() && !mc.thePlayer.onGround)) {
if ((!MovementUtils.isMoving && onlyMove.get()) || (onlyGround.get() && !mc.thePlayer.onGround)) {
return
}

Expand Down Expand Up @@ -745,7 +745,7 @@ object NoSlow : Module() {
}

"custom" -> {
if (MovementUtils.isMoving()) {
if (MovementUtils.isMoving) {
MovementUtils.strafe(teleportCustomSpeedValue.get())
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ object Parkour : Module() {

@EventTarget
fun onUpdate(event: UpdateEvent) {
if (MovementUtils.isMoving() && mc.thePlayer.onGround && !mc.thePlayer.isSneaking && !mc.gameSettings.keyBindSneak.isKeyDown && !mc.gameSettings.keyBindJump.isKeyDown &&
if (MovementUtils.isMoving && mc.thePlayer.onGround && !mc.thePlayer.isSneaking && !mc.gameSettings.keyBindSneak.isKeyDown && !mc.gameSettings.keyBindJump.isKeyDown &&
mc.theWorld.getCollidingBoundingBoxes(mc.thePlayer, mc.thePlayer.entityBoundingBox
.offset(0.0, -0.5, 0.0).expand(-0.001, 0.0, -0.001)).isEmpty()) {
mc.thePlayer.jump()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,14 +45,14 @@ object Speed : Module() {
@EventTarget
fun onUpdate(event: UpdateEvent) {
if (mc.thePlayer.isSneaking || (mc.thePlayer.isInWater && noWater.get())) return
if (MovementUtils.isMoving() && forceSprint.get()) mc.thePlayer.isSprinting = true
if (MovementUtils.isMoving && forceSprint.get()) mc.thePlayer.isSprinting = true
mode.onUpdate()
}

@EventTarget
fun onMotion(event: MotionEvent) {

if (MovementUtils.isMoving() && forceSprint.get()) {
if (MovementUtils.isMoving && forceSprint.get()) {
mc.thePlayer.isSprinting = true
}

Expand Down
Loading

0 comments on commit a6247b6

Please sign in to comment.