package net.ccbluex.liquidbounce.features.module.modules.misc
import net.ccbluex.liquidbounce.event.EventTarget
import net.ccbluex.liquidbounce.event.PacketEvent
import net.ccbluex.liquidbounce.event.UpdateEvent
import net.ccbluex.liquidbounce.event.WorldEvent
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.value.ListValue
import net.minecraft.network.Packet
import net.minecraft.network.play.client.*
import net.minecraft.network.play.client.C03PacketPlayer.C06PacketPlayerPosLook
import org.apache.commons.lang3.ObjectUtils.mode
@ModuleInfo(name = "Disabler", description = "Disable Some Anticheat By Rilshrink ", category = ModuleCategory.MISC)
class Disabler : Module() {
private val Mode = ListValue("AimMode", arrayOf("Lunar", "Kauri", "OnlyMC", "HazelMC", "Verus Combat"), "Lunar")
var KeepAlives = ArrayList<Packet<*>>()
var Transactions = ArrayList<Packet<*>>()
var currentTrans = 0;
fun reset(){
currentTrans = 0;
KeepAlives.clear();
Transactions.clear();
}
@EventTarget
fun onWorld(event: WorldEvent) {
reset()
}
@EventTarget
fun onPacket(event: PacketEvent) {
val packet = event.packet
when (Mode.get()) {
"Kauri" -> if (packet is C0FPacketConfirmTransaction) {
event.cancelEvent()
}
"Verus Combat" -> if (packet is C0FPacketConfirmTransaction) {
if (currentTrans++ > 0) event.cancelEvent()
} else if (packet is C0BPacketEntityAction) {
event.cancelEvent()
}
"Lunar", "OnlyMC" -> {
if (packet is C0FPacketConfirmTransaction) {
Transactions.add(packet)
event.cancelEvent()
}
if (packet is C00PacketKeepAlive) {
//Temporary until I can figure out how to packet.key -= 1337;
KeepAlives.add(packet)
event.cancelEvent()
}
if (packet is C03PacketPlayer) {
mc.thePlayer.sendQueue.addToSendQueue(C0CPacketInput())
}
}
"HazelMC" -> {
if (packet is C0FPacketConfirmTransaction) {
Transactions.add(packet)
event.cancelEvent()
}
if (packet is C00PacketKeepAlive) {
KeepAlives.add(packet)
event.cancelEvent()
}
if (packet is C03PacketPlayer) {
mc.thePlayer.sendQueue.addToSendQueue(C0CPacketInput())
}
}
}
}
@EventTarget
fun onUpdate(event: UpdateEvent) {
when (Mode.get()) {
"OnlyMC", "Lunar" -> {
if (mc.thePlayer.ticksExisted % 120 == 0 && Transactions.size > currentTrans) {
mc.thePlayer.sendQueue.addToSendQueue(Transactions.get(currentTrans++))
}
if (mc.thePlayer.ticksExisted % 120 == 0) {
var i = 0
while (i < KeepAlives.size) {
val packet = KeepAlives[i]
if (packet != null) {
mc.thePlayer.sendQueue.addToSendQueue(packet)
}
i++
}
KeepAlives.clear()
}
if (mc.thePlayer.ticksExisted % 25 == 0) {
mc.thePlayer.sendQueue.addToSendQueue(C06PacketPlayerPosLook(mc.thePlayer.posX, mc.thePlayer.posY + 21, mc.thePlayer.posZ, mc.thePlayer.rotationYaw, mc.thePlayer.rotationPitch, true))
}
if (mc.thePlayer.ticksExisted % 300 == 0) {
reset()
}
}
"HazelMC" -> {
mc.thePlayer.sendQueue.addToSendQueue(C00PacketKeepAlive(0))
if (Transactions.size > currentTrans) {
mc.thePlayer.sendQueue.addToSendQueue(Transactions.get(currentTrans++))
}
if (mc.thePlayer.ticksExisted % 100 == 0) {
var i = 0
while (i < KeepAlives.size) {
val packet = KeepAlives[i]
if (packet != null) {
mc.thePlayer.sendQueue.addToSendQueue(packet)
}
i++
}
KeepAlives.clear()
}
}
}
}
override fun onEnable() {
}
override fun onDisable() {
reset();
}
}
try this