Skip to content

Commit

Permalink
Added AntiFrozen Module
Browse files Browse the repository at this point in the history
AntiObsidian Module
AntiSuffocation Module
Debugger Module
EntityJump Module
MixinInventoryEffectRenderer
MixinSkinManager
Improvements/fixes in Mixins Renders
Update MurderDetector Module
removed AutoGG module (useless)
  • Loading branch information
opZywl committed Jan 7, 2024
1 parent 31ce2c9 commit 7fa658f
Show file tree
Hide file tree
Showing 40 changed files with 786 additions and 183 deletions.
7 changes: 0 additions & 7 deletions src/main/java/net/ccbluex/liquidbounce/event/Events.kt
Original file line number Diff line number Diff line change
Expand Up @@ -187,13 +187,6 @@ class Render2DEvent(val partialTicks: Float, val scaledResolution: ScaledResolut
*/
class Render3DEvent(val partialTicks: Float) : Event()

/**
* Called when player jumps
*
* @param motion jump motion (y motion)
*/
class JumpEventFix(var motion: Float, var yaw: Float) : CancellableEvent()

/**
* Called when the screen changes
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,6 @@ class KillAura : Module() {
private val targetModeValue = ListValue("TargetMode", arrayOf("Single", "Switch", "Multi"), "Switch").displayable { modeDisplay.get() }
private val switchDelayValue = IntegerValue("SwitchDelay", 15, 1, 2000).displayable { targetModeValue.equals("Switch") && modeDisplay.get() }
private val limitedMultiTargetsValue = IntegerValue("LimitedMultiTargets", 0, 0, 50).displayable { targetModeValue.equals("Multi") && modeDisplay.get() }
private val movementFix = ListValue("MovementFix", arrayOf("Full", "Semi", "None"), "None").displayable { modeDisplay.get() && !rotationModeValue.get().equals("none", true) }

private val raycastValue = BoolValue("RayCast", true).displayable { modeDisplay.get() }
private val raycastTargetValue = BoolValue("RaycastOnlyTarget", false).displayable { raycastValue.get() && raycastValue.displayable }
Expand Down Expand Up @@ -995,14 +994,6 @@ class KillAura : Module() {
return true
}

@EventTarget
fun onJump(event: JumpEventFix) {
if (movementFix.get() == "Full" && currentTarget != null) {
mc.thePlayer.isSprinting = false
event.yaw = RotationUtils.serverRotation?.yaw!!
}
}

/**
* Check if enemy is hitable with current rotations
*/
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
/*
* FDPClient Hacked Client
* A free open source mixin-based injection hacked client for Minecraft using Minecraft Forge by LiquidBounce.
* https://github.com/SkidderMC/FDPClient/
*/
package net.ccbluex.liquidbounce.features.module.modules.exploit

import net.ccbluex.liquidbounce.event.EventTarget
import net.ccbluex.liquidbounce.event.PacketEvent
import net.ccbluex.liquidbounce.event.TeleportEvent
import net.ccbluex.liquidbounce.features.module.Module
import net.ccbluex.liquidbounce.features.module.ModuleCategory
import net.ccbluex.liquidbounce.features.module.ModuleInfo
import net.minecraft.network.play.client.*

@ModuleInfo(name = "Debugger", description = "", category = ModuleCategory.EXPLOIT)
class Debugger : Module() {

@EventTarget
fun onPacket(event: PacketEvent) {
val packet = event.packet

if (packet is C0DPacketCloseWindow)
chat("Close C0D // ${event.packet}")
if (packet is C08PacketPlayerBlockPlacement)
chat("Place C08 // ${event.packet}")
if (packet is C0EPacketClickWindow)
chat("Click C0E // ${event.packet}")
if (packet is C14PacketTabComplete)
chat("List C14 // ${event.packet}")
if (packet is C02PacketUseEntity)
chat("Attack C02 // ${event.packet}")
if (packet is C09PacketHeldItemChange)
chat("Switch C09 // ${event.packet}")
if (packet is C0APacketAnimation)
chat("Swing C0A // ${event.packet}")
}

@EventTarget
fun onTeleport(event: TeleportEvent) {
chat("Server Teleport")
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,156 @@
/*
* FDPClient Hacked Client
* A free open source mixin-based injection hacked client for Minecraft using Minecraft Forge by LiquidBounce.
* https://github.com/SkidderMC/FDPClient/
*/
package net.ccbluex.liquidbounce.features.module.modules.movement

import net.ccbluex.liquidbounce.event.EventTarget
import net.ccbluex.liquidbounce.event.UpdateEvent
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.utils.timer.MSTimer
import net.ccbluex.liquidbounce.value.*
import net.minecraft.entity.item.EntityBoat
import net.minecraft.network.play.client.C02PacketUseEntity
import net.minecraft.network.play.client.C0CPacketInput
import net.minecraft.util.Vec3
import kotlin.math.cos
import kotlin.math.sin

@ModuleInfo(name = "EntityJump", description = "", category = ModuleCategory.MOVEMENT)
class EntityJump : Module() {
private val modeValue = ListValue("Mode", arrayOf("Boost", "Launch", "Matrix"), "Boost")
private val hBoostValue = FloatValue("HBoost", 2f, 0f, 6f)
private val vBoostValue = FloatValue("VBoost", 2f, 0f, 6f)
private val matrixTimerStartValue = FloatValue("MatrixTimerStart", 0.3f, 0.1f, 1f).displayable { modeValue.equals("Matrix") }
private val matrixTimerAirValue = FloatValue("MatrixTimerAir", 0.5f, 0.1f, 1.5f).displayable { modeValue.equals("Matrix") }
private val launchRadiusValue = FloatValue("LaunchRadius", 4F, 3F, 10F).displayable { modeValue.equals("Launch") }
private val delayValue = IntegerValue("Delay", 200, 100, 500)
private val autoHitValue = BoolValue("AutoDestroy", false)

private var jumpState = 1
private val timer = MSTimer()
private val hitTimer = MSTimer()
private var lastRide = false
private var hasStopped = false

override val tag: String
get() = modeValue.get()

override fun onEnable() {
jumpState = 1
lastRide = false
}

override fun onDisable() {
hasStopped = false
mc.timer.timerSpeed = 1f
}

@EventTarget
fun onUpdate(event: UpdateEvent) {
// println(mc.timer.timerSpeed)
if (mc.thePlayer.onGround && !mc.thePlayer.isRiding) {
hasStopped = false
mc.timer.timerSpeed = 1f
}

when (modeValue.get().lowercase()) {
"matrix" -> {
if (hasStopped) {
mc.timer.timerSpeed = matrixTimerAirValue.get()
} else {
mc.timer.timerSpeed = 1f
}
}
}

if (mc.thePlayer.isRiding && jumpState == 1) {
if (!lastRide) {
timer.reset()
}

if (timer.hasTimePassed(delayValue.get().toLong())) {
jumpState = 2
when (modeValue.get().lowercase()) {
"matrix" -> {
mc.timer.timerSpeed = matrixTimerStartValue.get()
mc.netHandler.addToSendQueue(
C0CPacketInput(
mc.thePlayer.moveStrafing,
mc.thePlayer.moveForward,
false,
true
)
)
}

else -> {
mc.netHandler.addToSendQueue(
C0CPacketInput(
mc.thePlayer.moveStrafing,
mc.thePlayer.moveForward,
false,
true
)
)
}
}
}
} else if (jumpState == 2 && !mc.thePlayer.isRiding) {
val radiansYaw = mc.thePlayer.rotationYaw * Math.PI / 180

when (modeValue.get().lowercase()) {
"boost" -> {
mc.thePlayer.motionX = hBoostValue.get() * -sin(radiansYaw)
mc.thePlayer.motionZ = hBoostValue.get() * cos(radiansYaw)
mc.thePlayer.motionY = vBoostValue.get().toDouble()
jumpState = 1
}

"launch" -> {
mc.thePlayer.motionX += (hBoostValue.get() * 0.1) * -sin(radiansYaw)
mc.thePlayer.motionZ += (hBoostValue.get() * 0.1) * cos(radiansYaw)
mc.thePlayer.motionY += vBoostValue.get() * 0.1

var hasBoat = false
for (entity in mc.theWorld.loadedEntityList) {
if (entity is EntityBoat && mc.thePlayer.getDistanceToEntity(entity) < launchRadiusValue.get()) {
hasBoat = true
break
}
}
if (!hasBoat) {
jumpState = 1
}
}

"matrix" -> {
hasStopped = true
mc.timer.timerSpeed = matrixTimerAirValue.get()
mc.thePlayer.motionX = hBoostValue.get() * -sin(radiansYaw)
mc.thePlayer.motionZ = hBoostValue.get() * cos(radiansYaw)
mc.thePlayer.motionY = vBoostValue.get().toDouble()
jumpState = 1
}
}

timer.reset()
hitTimer.reset()
}

lastRide = mc.thePlayer.isRiding

if (autoHitValue.get() && !mc.thePlayer.isRiding && hitTimer.hasTimePassed(1500)) {
for (entity in mc.theWorld.loadedEntityList) {
if (entity is EntityBoat && mc.thePlayer.getDistanceToEntity(entity) < 3) {
mc.netHandler.addToSendQueue(C02PacketUseEntity(entity, Vec3(0.5, 0.5, 0.5)))
mc.netHandler.addToSendQueue(C02PacketUseEntity(entity, C02PacketUseEntity.Action.INTERACT))
hitTimer.reset()
}
}
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
/*
* FDPClient Hacked Client
* A free open source mixin-based injection hacked client for Minecraft using Minecraft Forge by LiquidBounce.
* https://github.com/SkidderMC/FDPClient/
*/
package net.ccbluex.liquidbounce.features.module.modules.other

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.ModuleInfo
import net.minecraft.network.play.server.S2DPacketOpenWindow
import java.util.*

@ModuleInfo(name = "AntiFrozen",description = "", category = ModuleCategory.OTHER)
class AntiFrozen : Module() {

@EventTarget
fun onPacket(event: PacketEvent) {
val packet = event.packet

if (packet is S2DPacketOpenWindow && packet.windowTitle.unformattedText.lowercase(Locale.getDefault())
.contains("frozen")
)
event.cancelEvent()
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
/*
* FDPClient Hacked Client
* A free open source mixin-based injection hacked client for Minecraft using Minecraft Forge by LiquidBounce.
* https://github.com/SkidderMC/FDPClient/
*/
package net.ccbluex.liquidbounce.features.module.modules.other

import net.ccbluex.liquidbounce.event.EventTarget
import net.ccbluex.liquidbounce.event.UpdateEvent
import net.ccbluex.liquidbounce.features.module.Module
import net.ccbluex.liquidbounce.features.module.ModuleCategory
import net.ccbluex.liquidbounce.features.module.ModuleInfo
import net.minecraft.block.Block
import net.minecraft.item.ItemShears
import net.minecraft.item.ItemSword
import net.minecraft.item.ItemTool
import net.minecraft.util.BlockPos
import net.minecraft.util.EnumFacing
import net.minecraft.util.Vec3

@ModuleInfo(name = "AntiObsidian", description = "", category = ModuleCategory.OTHER)
class AntiObsidian : Module() {

@EventTarget
fun onUpdate(event: UpdateEvent) {
val sand = BlockPos(Vec3(mc.thePlayer.posX, mc.thePlayer.posY + 3, mc.thePlayer.posZ))
val sandBlock = mc.theWorld.getBlockState(sand).block
val forge = BlockPos(Vec3(mc.thePlayer.posX, mc.thePlayer.posY + 2, mc.thePlayer.posZ))
val forgeBlock = mc.theWorld.getBlockState(forge).block
val obsidianPos = BlockPos(Vec3(mc.thePlayer.posX, mc.thePlayer.posY + 1, mc.thePlayer.posZ))
val obsidianBlock = mc.theWorld.getBlockState(obsidianPos).block
if (obsidianBlock === Block.getBlockById(49)) {
bestTool(
mc.objectMouseOver.blockPos.x, mc.objectMouseOver.blockPos.y,
mc.objectMouseOver.blockPos.z
)
val downPos = BlockPos(Vec3(mc.thePlayer.posX, mc.thePlayer.posY - 1, mc.thePlayer.posZ))
mc.playerController.onPlayerDamageBlock(downPos, EnumFacing.UP)
}
if (forgeBlock === Block.getBlockById(61)) {
bestTool(
mc.objectMouseOver.blockPos.x, mc.objectMouseOver.blockPos.y,
mc.objectMouseOver.blockPos.z
)
val downPos = BlockPos(Vec3(mc.thePlayer.posX, mc.thePlayer.posY - 1, mc.thePlayer.posZ))
mc.playerController.onPlayerDamageBlock(downPos, EnumFacing.UP)
}
if (sandBlock === Block.getBlockById(12) || sandBlock === Block.getBlockById(13)) {
bestTool(
mc.objectMouseOver.blockPos.x, mc.objectMouseOver.blockPos.y,
mc.objectMouseOver.blockPos.z
)
val downPos = BlockPos(Vec3(mc.thePlayer.posX, mc.thePlayer.posY + 3, mc.thePlayer.posZ))
mc.playerController.onPlayerDamageBlock(downPos, EnumFacing.UP)
}
}

private fun bestTool(x: Int, y: Int, z: Int) {
val blockId = Block.getIdFromBlock(mc.theWorld.getBlockState(BlockPos(x, y, z)).block)
var bestSlot = 0
var f = -1.0f
for (i1 in 36..44) {
try {
val curSlot = mc.thePlayer.inventoryContainer.getSlot(i1).stack
if ((curSlot.item is ItemTool || curSlot.item is ItemSword || curSlot.item is ItemShears) && curSlot.getStrVsBlock(
Block.getBlockById(blockId)
) > f
) {
bestSlot = i1 - 36
f = curSlot.getStrVsBlock(Block.getBlockById(blockId))
}
} catch (_: Exception) {
}
}
if (f != -1.0f) {
mc.thePlayer.inventory.currentItem = bestSlot
mc.playerController.updateController()
}
}
}
Loading

0 comments on commit 7fa658f

Please sign in to comment.