Wierd crits
-
Criticals
/* * 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 net.ccbluex.liquidbounce.LiquidBounce import net.ccbluex.liquidbounce.event.AttackEvent import net.ccbluex.liquidbounce.event.EventTarget import net.ccbluex.liquidbounce.event.MotionEvent 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.ccbluex.liquidbounce.features.module.modules.movement.Fly import net.ccbluex.liquidbounce.utils.timer.MSTimer import net.ccbluex.liquidbounce.value.BoolValue import net.ccbluex.liquidbounce.value.FloatValue import net.ccbluex.liquidbounce.value.IntegerValue import net.ccbluex.liquidbounce.value.ListValue import net.minecraft.entity.EntityLivingBase import net.minecraft.network.play.client.C03PacketPlayer import net.minecraft.network.play.client.C03PacketPlayer.C04PacketPlayerPosition @ModuleInfo(name = "Criticals", description = "Automatically deals critical hits.", category = ModuleCategory.COMBAT) class Criticals : Module() { val modeValue = ListValue("Mode", arrayOf("Packet", "NoGround", "Hop", "TPHop", "HighJump", "HighJump2", "HighJump3", "HighJump4", "HighJump5", "Jump", "LowJump", "LowJump2", "LowJump3", "LowJump4", "RedeskyFlag", "RedeskyFlag2", "RedeskyFlag3", "RedeskyFlag4"), "Packet") val delayValue = IntegerValue("Delay", 0, 0, 500) val noGroundModeValue = ListValue("NoGroundMode", arrayOf("Normal", "Normal2", "LatestNCP"), "Normal") val packetModeValue = ListValue("PacketMode", arrayOf("Normal", "Normal2", "Normal3", "OldNCP", "OldSpartan"), "OldNCP") private val hurtTimeValue = IntegerValue("HurtTime", 10, 0, 10) val msTimer = MSTimer() override fun onEnable() { if (noGroundModeValue.get().equals("Normal", ignoreCase = true) || noGroundModeValue.get().equals("LatestNCP", ignoreCase = true) && modeValue.get().equals("NoGround", ignoreCase = true)) { mc.thePlayer.jump() } } @EventTarget fun onAttack(event: AttackEvent) { if (event.targetEntity is EntityLivingBase) { val entity = event.targetEntity if (!mc.thePlayer.onGround || mc.thePlayer.isOnLadder || mc.thePlayer.isInWeb || mc.thePlayer.isInWater || mc.thePlayer.isInLava || mc.thePlayer.ridingEntity != null || entity.hurtTime > hurtTimeValue.get() || LiquidBounce.moduleManager[Fly::class.java]!!.state || !msTimer.hasTimePassed(delayValue.get().toLong())) return val x = mc.thePlayer.posX val y = mc.thePlayer.posY val z = mc.thePlayer.posZ when (modeValue.get().toLowerCase()) { "packet" -> { packetModeValue.get() } "hop" -> { mc.thePlayer.motionY = 0.2 mc.thePlayer.fallDistance = 0.1f mc.thePlayer.onGround = false } "hop2" -> { mc.thePlayer.motionY = 0.15 mc.thePlayer.fallDistance = 0.1f mc.thePlayer.onGround = false } "hop3" -> { mc.thePlayer.motionY = 0.10 mc.thePlayer.fallDistance = 0.1f mc.thePlayer.onGround = false } "hop4" -> { mc.thePlayer.motionY = 0.05 mc.thePlayer.fallDistance = 0.1f mc.thePlayer.onGround = false } "tphop" -> { mc.netHandler.addToSendQueue(C04PacketPlayerPosition(x, y + 0.02, z, false)) mc.netHandler.addToSendQueue(C04PacketPlayerPosition(x, y + 0.01, z, false)) mc.thePlayer.setPosition(x, y + 0.01, z) } "highjump" -> mc.thePlayer.motionY = 0.84 "highjump2" -> mc.thePlayer.motionY = 0.75 "highjump3" -> mc.thePlayer.motionY = 0.70 "highjump4" -> mc.thePlayer.motionY = 0.65 "highjump5" -> mc.thePlayer.motionY = 0.60 "jump" -> mc.thePlayer.motionY = 0.42 "lowjump" -> mc.thePlayer.motionY = 0.3425 "lowjump2" -> mc.thePlayer.motionY = 0.2509 "lowjump3" -> mc.thePlayer.motionY = 0.20 "lowjump4" -> mc.thePlayer.motionY = 0.15 "redeskyflag" -> mc.thePlayer.motionY = 0.01 "redeskyflag2" -> mc.thePlayer.motionY = 0.001 "redeskyflag3" -> mc.thePlayer.motionY = 0.0001 "redeskyflag4" -> mc.thePlayer.motionY = 0.00005 } when (packetModeValue.get().toLowerCase()) { "normal" -> { mc.netHandler.addToSendQueue(C04PacketPlayerPosition(x, y + 0.0625, z, true)) mc.netHandler.addToSendQueue(C04PacketPlayerPosition(x, y, z, false)) mc.netHandler.addToSendQueue(C04PacketPlayerPosition(x, y + 1.1E-5, z, false)) mc.netHandler.addToSendQueue(C04PacketPlayerPosition(x, y, z, false)) mc.thePlayer.onCriticalHit(entity) } "oldncp" -> { mc.netHandler.addToSendQueue(C04PacketPlayerPosition(mc.thePlayer.posX, mc.thePlayer.posY + 0.1625, mc.thePlayer.posZ, false)) mc.netHandler.addToSendQueue(C04PacketPlayerPosition(mc.thePlayer.posX, mc.thePlayer.posY, mc.thePlayer.posZ, false)) mc.netHandler.addToSendQueue(C04PacketPlayerPosition(mc.thePlayer.posX, mc.thePlayer.posY + 4.0E-6, mc.thePlayer.posZ, false)) mc.netHandler.addToSendQueue(C04PacketPlayerPosition(mc.thePlayer.posX, mc.thePlayer.posY, mc.thePlayer.posZ, false)) mc.netHandler.addToSendQueue(C04PacketPlayerPosition(mc.thePlayer.posX, mc.thePlayer.posY + 1.0E-6, mc.thePlayer.posZ, false)) mc.netHandler.addToSendQueue(C04PacketPlayerPosition(mc.thePlayer.posX, mc.thePlayer.posY, mc.thePlayer.posZ, false)) mc.netHandler.addToSendQueue(C03PacketPlayer()) mc.thePlayer.onCriticalHit(entity) } "oldspartan" -> { mc.netHandler.addToSendQueue(C04PacketPlayerPosition(mc.thePlayer.posX, mc.thePlayer.posY + 0.42, mc.thePlayer.posZ, false)) mc.netHandler.addToSendQueue(C04PacketPlayerPosition(mc.thePlayer.posX, mc.thePlayer.posY, mc.thePlayer.posZ, false)) mc.thePlayer.onCriticalHit(entity) } "normal2" -> { mc.netHandler.addToSendQueue(C04PacketPlayerPosition(x, y + 0.11, z, false)) mc.netHandler.addToSendQueue(C04PacketPlayerPosition(x, y + 0.1100013579, z, false)) mc.netHandler.addToSendQueue(C04PacketPlayerPosition(x, y + 0.0000013579, z, false)) mc.thePlayer.onCriticalHit(entity) } "normal3" -> { mc.netHandler.addToSendQueue(C04PacketPlayerPosition(mc.thePlayer.posX, mc.thePlayer.posY + 0.05000000074505806, mc.thePlayer.posZ, false)) mc.netHandler.addToSendQueue(C04PacketPlayerPosition(mc.thePlayer.posX, mc.thePlayer.posY, mc.thePlayer.posZ, false)) mc.netHandler.addToSendQueue(C04PacketPlayerPosition(mc.thePlayer.posX, mc.thePlayer.posY + 0.012511000037193298, mc.thePlayer.posZ, false)) mc.netHandler.addToSendQueue(C04PacketPlayerPosition(mc.thePlayer.posX, mc.thePlayer.posY, mc.thePlayer.posZ, false)) } } when (noGroundModeValue.get().toLowerCase()) { "normal2" -> { mc.thePlayer.onCriticalHit(entity) } } msTimer.reset() } } @EventTarget fun onPacket(event: PacketEvent) { val packet = event.packet if (packet is C03PacketPlayer && modeValue.get().equals("NoGround", ignoreCase = true) && noGroundModeValue.get().equals("Normal", ignoreCase = true)) packet.onGround = false if(packet is C03PacketPlayer && modeValue.get().equals("NoGround", ignoreCase = true) && noGroundModeValue.get().equals("LatestNCP", ignoreCase = true) && !mc.thePlayer.onGround && !mc.thePlayer.isCollidedVertically && mc.thePlayer.fallDistance < 2) packet.onGround = true } override val tag: String? get() = modeValue.get() }
-
LatestNCP noground will not work