Skip to content

Commit

Permalink
LiquidBounce BackTrack
Browse files Browse the repository at this point in the history
  • Loading branch information
XeContrast committed Nov 10, 2024
1 parent faede31 commit 42687b2
Show file tree
Hide file tree
Showing 2 changed files with 91 additions and 86 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -35,18 +35,19 @@ class FamousCheck : Module() {
HackerData("wansir","WanFan"),
HackerData("Float","FloatMemory_Official"),
HackerData("HuHua","沭桦Next"),
HackerData("Rem_","沭桦Next"),
HackerData("Rem_ai","沭桦Next"),
HackerData("ImSad_","BoySir_"),
HackerData("RN_","Random_Name"),
HackerData("DouSha","豆沙"),
HackerData("Zekruin","蒸菜icu"),
HackerData("nerock","河南猪"),
HackerData("weipu","Weipu42"),
HackerData("weipu","Wei/pu42"),

HackerData("Yao_Mao"),
HackerData("Bad_Smoke"),
HackerData("tea_tea"),
HackerData("L1ne"),
HackerData("Fanscom"),
)

world.playerEntities.forEach { other ->
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -114,112 +114,116 @@ object Stealer : Module() {
}

@EventTarget
fun onRender3D(event: Render3DEvent) {
if (!chestTimer.hasTimePassed(chestValue.get().toLong())) {
return
}

val screen = mc.currentScreen
fun onTick(event: PlayerTickEvent) {
if (event.state == EventState.PRE) {
if (!chestTimer.hasTimePassed(chestValue.get().toLong())) {
return
}

if (screen !is GuiChest || !delayTimer.hasTimePassed(nextDelay.toLong())) {
autoCloseTimer.reset()
return
}
val screen = mc.currentScreen ?: return

// No Compass
if (noCompassValue.get() && mc.thePlayer.inventory.getCurrentItem()?.item?.unlocalizedName == "item.compass") {
return
}
if (screen !is GuiChest || !delayTimer.hasTimePassed(nextDelay.toLong())) {
autoCloseTimer.reset()
return
}

// Chest title
if (chestTitleValue.get() && (screen.lowerChestInventory == null || !screen.lowerChestInventory.name.contains(
ItemStack(Item.itemRegistry.getObject(ResourceLocation("minecraft:chest"))).displayName
))
) {
return
}
// No Compass
if (noCompassValue.get() && mc.thePlayer.inventory.getCurrentItem()?.item?.unlocalizedName == "item.compass") {
return
}

// inventory cleaner
val invManager = FDPClient.moduleManager[InvManager::class.java]!!
// Chest title
if (chestTitleValue.get() && (screen.lowerChestInventory == null || !screen.lowerChestInventory.name.contains(
ItemStack(Item.itemRegistry.getObject(ResourceLocation("minecraft:chest"))).displayName
))
) {
return
}

// check if it's empty?
if (!isEmpty(screen) && !(closeOnFullValue.get() && fullInventory)) {
autoCloseTimer.reset()
// inventory cleaner
val invManager = FDPClient.moduleManager[InvManager::class.java]!!

// Randomized
if (takeRandomizedValue.get()) {
do {
val items = mutableListOf<Slot>()
// check if it's empty?
if (!isEmpty(screen) && !(closeOnFullValue.get() && fullInventory)) {
autoCloseTimer.reset()

for (slotIndex in 0 until screen.inventoryRows * 9) {
val slot = screen.inventorySlots.inventorySlots[slotIndex]
// Randomized
if (takeRandomizedValue.get()) {
do {
val items = mutableListOf<Slot>()

if (slot.stack != null && (!onlyItemsValue.get() || slot.stack.item !is ItemBlock) && (!noDuplicateValue.get() || slot.stack.maxStackSize > 1 || !mc.thePlayer.inventory.mainInventory.filter { it != null && it.item != null }
.map { it.item!! }
.contains(slot.stack.item)) && (!invManager.state || invManager.isUseful(
slot.stack,
-1
))
)
items.add(slot)
}
for (slotIndex in 0 until screen.inventoryRows * 9) {
val slot = screen.inventorySlots.inventorySlots[slotIndex]

val randomSlot = Random.nextInt(items.size)
val slot = items[randomSlot]
if (slot.stack != null && (!onlyItemsValue.get() || slot.stack.item !is ItemBlock) && (!noDuplicateValue.get() || slot.stack.maxStackSize > 1 || !mc.thePlayer.inventory.mainInventory.filter { it != null && it.item != null }
.map { it.item!! }
.contains(slot.stack.item)) && (!invManager.state || invManager.isUseful(
slot.stack,
-1
))
)
items.add(slot)
}

move(screen, slot)
} while (delayTimer.hasTimePassed(nextDelay.toLong()) && items.isNotEmpty())
return
}
val randomSlot = Random.nextInt(items.size)
val slot = items[randomSlot]

// Non randomized
for (slotIndex in 0 until screen.inventoryRows * 9) {
val slot = screen.inventorySlots.inventorySlots[slotIndex]
move(screen, slot)
} while (delayTimer.hasTimePassed(nextDelay.toLong()) && items.isNotEmpty())
return
}

if (delayTimer.hasTimePassed(nextDelay.toLong()) && slot.stack != null &&
(!onlyItemsValue.get() || slot.stack.item !is ItemBlock) && (!invManager.state || invManager.isUseful(
slot.stack,
-1
))
) {
move(screen, slot)
// Non randomized
for (slotIndex in 0 until screen.inventoryRows * 9) {
val slot = screen.inventorySlots.inventorySlots[slotIndex]

if (delayTimer.hasTimePassed(nextDelay.toLong()) && slot.stack != null &&
(!onlyItemsValue.get() || slot.stack.item !is ItemBlock) && (!invManager.state || invManager.isUseful(
slot.stack,
-1
))
) {
move(screen, slot)
}
}
} else if (autoCloseValue.get() && screen.inventorySlots.windowId == contentReceived && autoCloseTimer.hasTimePassed(
nextCloseDelay.toLong()
)
) {
mc.thePlayer.closeScreen()
nextCloseDelay = TimeUtils.randomDelay(autoCloseMinDelayValue.get(), autoCloseMaxDelayValue.get())
}
} else if (autoCloseValue.get() && screen.inventorySlots.windowId == contentReceived && autoCloseTimer.hasTimePassed(
nextCloseDelay.toLong()
)
) {
mc.thePlayer.closeScreen()
nextCloseDelay = TimeUtils.randomDelay(autoCloseMinDelayValue.get(), autoCloseMaxDelayValue.get())
}
}

@EventTarget
fun onUpdate(event: UpdateEvent) {
if (instantValue.get()) {
if (mc.currentScreen is GuiChest) {
val chest = mc.currentScreen as GuiChest
val rows = chest.inventoryRows * 9
for (i in 0 until rows) {
val slot = chest.inventorySlots.getSlot(i)
if (slot.hasStack) {
mc.thePlayer.sendQueue.addToSendQueue(
C0EPacketClickWindow(
if (instantValue.get()) {
if (mc.currentScreen is GuiChest) {
val chest = mc.currentScreen as GuiChest
val rows = chest.inventoryRows * 9
for (i in 0 until rows) {
val slot = chest.inventorySlots.getSlot(i)
if (slot.hasStack) {
mc.playerController?.windowClick(
chest.inventorySlots.windowId,
i,
0,
1,
slot.stack,
1.toShort()
)
)
2,
mc.thePlayer
)
// mc.thePlayer.sendQueue.addToSendQueue(
// C0EPacketClickWindow(
// chest.inventorySlots.windowId,
// i,
// 0,
// 1,
// slot.stack,
// 1.toShort()
// )
// )
}
}
}
mc.thePlayer.closeScreen()
}
performStealer(screen)
}
val screen = mc.currentScreen ?: return
performStealer(screen)
}

private fun performStealer(screen: GuiScreen) {
Expand Down

0 comments on commit 42687b2

Please sign in to comment.