Skip to content

Commit

Permalink
Imroved RenderHider on other systems
Browse files Browse the repository at this point in the history
  • Loading branch information
semenishchev committed Nov 5, 2023
1 parent 982e407 commit c66e2be
Show file tree
Hide file tree
Showing 11 changed files with 102 additions and 7 deletions.
14 changes: 12 additions & 2 deletions src/main/java/me/mrunny/RenderHiderWindow.kt
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,16 @@ import javax.vecmath.Vector2f
data class Vec2i(val x: Int, val y: Int)

class RenderHiderWindow : JFrame("Overlay") {
val mc = Minecraft.getMinecraft()
val mc: Minecraft = Minecraft.getMinecraft()

init {
setLocationRelativeTo(null)
setLocation(Display.getX(), Display.getY())
if(Display.isFullscreen()) {
setLocation(0, 0)
} else {
setLocation(Display.getX(), Display.getY() + 20)
}

isAlwaysOnTop = true
size = Dimension(100, 100)
isUndecorated = true
Expand All @@ -31,6 +36,11 @@ class RenderHiderWindow : JFrame("Overlay") {
fun drawAgain() {
isVisible = true
size = Dimension(mc.displayWidth, mc.displayHeight - 100)
if(Display.isFullscreen()) {
setLocation(0, 0)
} else {
setLocation(Display.getX(), Display.getY() + 20)
}
}

fun unDraw() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@ object ModuleManager : Listenable {
AbortBreaking,
Aimbot,
// AimAssist,
NoHitDelay,
AirJump,
DangerousModBlocker,
AirLadder,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ 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.minecraft.init.Blocks
import net.minecraft.util.MovingObjectPosition
import java.util.*

Expand All @@ -46,6 +47,11 @@ object Aimbot : Module("Aimbot", ModuleCategory.COMBAT) {
return
}

val blockPos = mc.objectMouseOver.blockPos
if(blockPos != null) {
if(mc.theWorld.getBlockState(blockPos).block == Blocks.bed) return
}

// Clicking delay
if (mc.gameSettings.keyBindAttack.isKeyDown) clickTimer.reset()

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
package net.ccbluex.liquidbounce.features.module.modules.combat

import net.ccbluex.liquidbounce.features.module.Module
import net.ccbluex.liquidbounce.features.module.ModuleCategory

object NoHitDelay : Module("NoHitDelay", ModuleCategory.COMBAT) {}
Original file line number Diff line number Diff line change
@@ -1,9 +1,23 @@
package net.ccbluex.liquidbounce.features.module.modules.misc

import me.mrunny.SpectatorWindow
import net.ccbluex.liquidbounce.event.EventState
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.ui.client.hud.HUD
import net.ccbluex.liquidbounce.ui.client.hud.element.elements.Notification
import net.minecraft.entity.player.EntityPlayer
import net.minecraft.init.Blocks
import net.minecraft.item.Item
import net.minecraft.network.play.client.C08PacketPlayerBlockPlacement
import net.minecraft.network.play.server.S0BPacketAnimation
import net.minecraft.network.play.server.S23PacketBlockChange
import net.minecraftforge.client.model.animation.Animation
import java.awt.Color
import java.time.Instant
import java.time.LocalDate
import java.time.LocalDateTime
import java.time.ZonedDateTime
import java.util.Date
Expand All @@ -18,6 +32,7 @@ object Spectator : Module("Spectator", ModuleCategory.MISC) {
it.isVisible = true
}
}
recordedObsidianHolders.clear()
}

override fun onDisable() {
Expand All @@ -26,8 +41,23 @@ object Spectator : Module("Spectator", ModuleCategory.MISC) {
spectatorWindow = null
}
}
private val recordedObsidianHolders = mutableSetOf<Int>()
@EventTarget
fun onBlockUpdate(event: PacketEvent) {
if(event.eventType != EventState.RECEIVE) return
val packet = event.packet
if(packet !is S0BPacketAnimation) return
if(packet.animationType != 0) return
val entity = mc.theWorld.getEntityByID(packet.entityID) ?: return
if(entity !is EntityPlayer) return
if(entity.itemInUse.item != Item.getItemFromBlock(Blocks.obsidian)) return
if(!recordedObsidianHolders.add(packet.entityID)) return

val teamName = entity.team?.registeredName ?: ""
HUD.addNotification(Notification("[$teamName] ${entity.name} got obsidian", false, Color.MAGENTA))
}

fun log(message: String) {
println("Spectator logged: [${LocalDateTime.now()}] $message")
spectatorWindow?.log(LocalDateTime.now(), message)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ import net.minecraft.network.play.server.S2EPacketCloseWindow
import org.lwjgl.input.Keyboard
import java.awt.Color

object ClickGUI : Module("ClickGUI", ModuleCategory.RENDER, Keyboard.KEY_RSHIFT, canBeEnabled = false) {
object ClickGUI : Module("ClickGUI", ModuleCategory.RENDER, Keyboard.KEY_RCONTROL, canBeEnabled = false) {
private val style by
object : ListValue("Style", arrayOf("LiquidBounce", "Null", "Slowly", "Black"), "LiquidBounce") {
override fun onChanged(oldValue: String, newValue: String) = updateStyle()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ import net.ccbluex.liquidbounce.features.module.Module
import net.ccbluex.liquidbounce.features.module.ModuleCategory
import net.ccbluex.liquidbounce.features.module.modules.misc.AntiBot.isBot
import net.ccbluex.liquidbounce.features.module.modules.misc.RenderHider
import net.ccbluex.liquidbounce.features.module.modules.misc.Teams
import net.ccbluex.liquidbounce.ui.client.hud.HUD
import net.ccbluex.liquidbounce.ui.font.GameFontRenderer.Companion.getColorIndex
import net.ccbluex.liquidbounce.utils.ClientUtils.LOGGER
Expand All @@ -34,6 +35,8 @@ import net.minecraft.client.renderer.GlStateManager.enableTexture2D
import net.minecraft.entity.Entity
import net.minecraft.entity.EntityLivingBase
import net.minecraft.entity.player.EntityPlayer
import net.minecraft.scoreboard.ScorePlayerTeam
import net.minecraft.util.EnumChatFormatting
import org.lwjgl.opengl.GL11.*
import org.lwjgl.util.vector.Matrix4f
import org.lwjgl.util.vector.Vector2f
Expand Down Expand Up @@ -73,6 +76,8 @@ object ESP : Module("ESP", ModuleCategory.RENDER) {
// val buff = BufferUtils.createByteBuffer(3)

var renderNameTags = true
var invisState = false

@EventTarget
fun onRender3D(event: Render3DEvent) {
val mode = mode
Expand Down Expand Up @@ -128,7 +133,24 @@ object ESP : Module("ESP", ModuleCategory.RENDER) {
if (minX > 0 || minY > 0 || maxX <= mc.displayWidth || maxY <= mc.displayWidth) {
RenderHider.window?.let {
val graphics = it.graphics ?: return@let
graphics.color = Color.WHITE

// gets HEX colour of assigned player's team otherwise sets it to white
// val color: Color = Color.WHITE
if(entity is EntityPlayer) {
if(entity.isInvisibleToPlayer(mc.thePlayer)) {
invisState = !invisState
graphics.color = if(invisState) Color.RED else Color.WHITE
graphics.drawLine(minX, minY + 3, maxX, minY + 3)
}
// Color(
// ColorUtils.hexColors[
// (entity.displayName.chatStyle.color ?: EnumChatFormatting.WHITE)
// .colorIndex
// ]
// )
}

graphics.color = color
graphics.drawLine(minX, minY, minX, maxY)
graphics.drawLine(maxX, maxY, maxX, minY)
graphics.drawLine(minX, maxY, maxX, maxY)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
import net.ccbluex.liquidbounce.api.ClientUpdate;
import net.ccbluex.liquidbounce.event.*;
import net.ccbluex.liquidbounce.features.module.modules.combat.AutoClicker;
import net.ccbluex.liquidbounce.features.module.modules.combat.NoHitDelay;
import net.ccbluex.liquidbounce.features.module.modules.exploit.AbortBreaking;
import net.ccbluex.liquidbounce.features.module.modules.exploit.MultiActions;
import net.ccbluex.liquidbounce.features.module.modules.misc.RenderHider;
Expand Down Expand Up @@ -225,7 +226,7 @@ private void shutdown(CallbackInfo callbackInfo) {
private void clickMouse(CallbackInfo callbackInfo) {
CPSCounter.INSTANCE.registerClick(CPSCounter.MouseButton.LEFT);

if (AutoClicker.INSTANCE.getState()) {
if (AutoClicker.INSTANCE.getState() || NoHitDelay.INSTANCE.getState()) {
leftClickCounter = 0;
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,22 @@
*/
package net.ccbluex.liquidbounce.injection.forge.mixins.entity;

import net.ccbluex.liquidbounce.LiquidBounce;
import net.ccbluex.liquidbounce.event.EventManager;
import net.ccbluex.liquidbounce.event.StrafeEvent;
import net.ccbluex.liquidbounce.features.module.modules.combat.HitBox;
import net.ccbluex.liquidbounce.features.module.modules.exploit.NoPitchLimit;
import net.ccbluex.liquidbounce.features.module.modules.misc.AntiBot;
import net.ccbluex.liquidbounce.features.module.modules.misc.Spectator;
import net.ccbluex.liquidbounce.features.module.modules.movement.NoFluid;
import net.ccbluex.liquidbounce.ui.client.hud.HUD;
import net.ccbluex.liquidbounce.ui.client.hud.element.elements.Notification;
import net.ccbluex.liquidbounce.utils.EntityUtils;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.crash.CrashReportCategory;
import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.util.AxisAlignedBB;
import net.minecraft.util.BlockPos;
import net.minecraft.util.Vec3;
Expand All @@ -27,6 +34,7 @@
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;

import java.awt.*;
import java.util.Random;
import java.util.UUID;

Expand Down Expand Up @@ -229,4 +237,14 @@ private void isInLava(final CallbackInfoReturnable<Boolean> cir) {
cir.setReturnValue(false);
}
}

@Inject(method = "setInvisible", at = @At("RETURN"))
public void injectInvisCheck(boolean p_setInvisible_1_, CallbackInfo ci) {
if(!Spectator.INSTANCE.getState()) return;
if(!((Object) this instanceof EntityPlayer)) return;
EntityPlayer invised = (EntityPlayer) (Object) this;
if(invised == mc.thePlayer) return;
if(AntiBot.INSTANCE.isBot(invised) || !EntityUtils.INSTANCE.isSelected(invised, true)) return;
HUD.INSTANCE.addNotification(new Notification(invised.getName() + " invised: " + Math.round(invised.getDistanceToEntity(mc.thePlayer)) + "blocks from you", false, Color.CYAN));
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ private void injectChamsPre(CallbackInfo callbackInfo) {
glEnable(GL_POLYGON_OFFSET_FILL);
glPolygonOffset(1f, -1000000F);
}

}

@Inject(method = "doRender", at = @At("RETURN"))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@ class Notification(val message: String, private val okToShowWhenLocked: Boolean=
fadeStep = width
}

stay = 60F
stay = 120F
}

FadeState.STAY -> if (stay > 0)
Expand Down

0 comments on commit c66e2be

Please sign in to comment.