Skip to content

Commit

Permalink
Merge branch 'CCBlueX:nextgen' into feat/jsseq
Browse files Browse the repository at this point in the history
  • Loading branch information
MukjepScarlet authored Feb 20, 2025
2 parents 1cfadca + dd9506d commit 88eba9a
Show file tree
Hide file tree
Showing 167 changed files with 1,462 additions and 772 deletions.
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ kotlin_version=2.1.0
# https://maven.fabricmc.net/net/fabricmc/fabric-language-kotlin/
fabric_kotlin_version=1.13.0+kotlin.2.1.0
# mcef
mcef_version=1.3.5-1.21.4
mcef_version=1.3.6-1.21.4
# mc-authlib
mc_authlib_version=1.4.1
# Recommended mods
Expand Down
8 changes: 8 additions & 0 deletions src-theme/src/integration/events.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,14 @@ export interface KeyboardKeyEvent {
screen: Screen | undefined;
}

export interface MouseButtonEvent {
key: string;
button: number;
action: number;
mods: number;
screen: Screen | undefined;
}

export interface ScaleFactorChangeEvent {
scaleFactor: number;
}
Expand Down
29 changes: 27 additions & 2 deletions src-theme/src/routes/clickgui/setting/BindSetting.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import type {BindSetting, ModuleSetting} from "../../../integration/types";
import {listen} from "../../../integration/ws";
import {getPrintableKeyName} from "../../../integration/rest";
import type {KeyboardKeyEvent} from "../../../integration/events";
import type {KeyboardKeyEvent, MouseButtonEvent} from "../../../integration/events";
import {convertToSpacedString, spaceSeperatedNames} from "../../../theme/theme_config";
import Dropdown from "./common/Dropdown.svelte";
Expand All @@ -15,6 +15,7 @@
const dispatch = createEventDispatcher();
let isHovered = false;
let binding = false;
let printableKeyName = "";
Expand Down Expand Up @@ -50,6 +51,25 @@
dispatch("change");
});
listen("mouseButton", async (e: MouseButtonEvent) => {
if (e.screen === undefined || !e.screen.class.startsWith("net.ccbluex.liquidbounce") ||
!(e.screen.title === "ClickGUI" || e.screen.title === "VS-CLICKGUI")) {
return;
}
if (!binding || (e.button === 0 && isHovered)) {
return;
}
binding = false;
cSetting.value.boundKey = e.key;
setting = {...cSetting};
dispatch("change");
})
async function toggleBinding() {
if (binding) {
cSetting.value.boundKey = UNKNOWN_KEY;
Expand All @@ -69,7 +89,12 @@
</script>

<div class="setting" class:has-value={cSetting.value.boundKey !== UNKNOWN_KEY}>
<button class="change-bind" on:click={toggleBinding}>
<button
class="change-bind"
on:click={toggleBinding}
on:mouseenter={() => isHovered = true}
on:mouseleave={() => isHovered = false}
>
{#if !binding}
<div class="name">{$spaceSeperatedNames ? convertToSpacedString(cSetting.name) : cSetting.name}:</div>

Expand Down
29 changes: 27 additions & 2 deletions src-theme/src/routes/clickgui/setting/KeySetting.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
import {getPrintableKeyName} from "../../../integration/rest";
import {createEventDispatcher} from "svelte";
import {listen} from "../../../integration/ws";
import type {KeyboardKeyEvent} from "../../../integration/events";
import type {KeyboardKeyEvent, MouseButtonEvent} from "../../../integration/events";
export let setting: ModuleSetting;
Expand All @@ -13,6 +13,7 @@
const dispatch = createEventDispatcher();
const UNKNOWN_KEY = "key.keyboard.unknown";
let isHovered = false;
let binding = false;
let printableKeyName = "";
Expand Down Expand Up @@ -59,10 +60,34 @@
dispatch("change");
});
listen("mouseButton", async (e: MouseButtonEvent) => {
if (e.screen === undefined || !e.screen.class.startsWith("net.ccbluex.liquidbounce") ||
!(e.screen.title === "ClickGUI" || e.screen.title === "VS-CLICKGUI")) {
return;
}
if (!binding || (e.button === 0 && isHovered)) {
return;
}
binding = false;
cSetting.value = e.key;
setting = {...cSetting};
dispatch("change");
})
</script>

<div class="setting">
<button class="change-bind" on:click={toggleBinding}>
<button
class="change-bind"
on:click={toggleBinding}
on:mouseenter={() => isHovered = true}
on:mouseleave={() => isHovered = false}
>
{#if !binding}
<div class="name">{$spaceSeperatedNames ? convertToSpacedString(cSetting.name) : cSetting.name}:</div>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@
import net.ccbluex.liquidbounce.event.events.SprintEvent;
import net.ccbluex.liquidbounce.features.module.modules.movement.ModuleInventoryMove;
import net.ccbluex.liquidbounce.utils.aiming.RotationManager;
import net.ccbluex.liquidbounce.utils.aiming.features.MovementCorrection;
import net.ccbluex.liquidbounce.utils.input.InputTracker;
import net.ccbluex.liquidbounce.utils.movement.DirectionalInput;
import net.minecraft.client.MinecraftClient;
Expand Down Expand Up @@ -108,12 +109,13 @@ private PlayerInput modifyInput(PlayerInput original) {
private DirectionalInput transformDirection(DirectionalInput input) {
var player = MinecraftClient.getInstance().player;
var rotation = RotationManager.INSTANCE.getCurrentRotation();
var configurable = RotationManager.INSTANCE.getWorkingAimPlan();
var configurable = RotationManager.INSTANCE.getActiveRotationTarget();

float z = KeyboardInput.getMovementMultiplier(input.getForwards(), input.getBackwards());
float x = KeyboardInput.getMovementMultiplier(input.getLeft(), input.getRight());

if (configurable == null || !configurable.getApplyVelocityFix() || rotation == null || player == null) {
if (configurable == null || configurable.getMovementCorrection() != MovementCorrection.SILENT
|| rotation == null || player == null) {
return input;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,22 +25,36 @@
import net.ccbluex.liquidbounce.event.EventManager;
import net.ccbluex.liquidbounce.event.events.*;
import net.ccbluex.liquidbounce.features.module.modules.render.ModuleZoom;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.Mouse;
import net.minecraft.client.network.ClientPlayerEntity;
import net.minecraft.client.util.InputUtil;
import org.spongepowered.asm.mixin.Final;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;

@Mixin(Mouse.class)
public class MixinMouse {

@Shadow
@Final
private MinecraftClient client;

/**
* Hook mouse button event
*/
@Inject(method = "onMouseButton", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/MinecraftClient;getOverlay()Lnet/minecraft/client/gui/screen/Overlay;", shift = At.Shift.BEFORE, ordinal = 0))
private void hookMouseButton(long window, int button, int action, int mods, CallbackInfo callbackInfo) {
EventManager.INSTANCE.callEvent(new MouseButtonEvent(button, action, mods));
EventManager.INSTANCE.callEvent(new MouseButtonEvent(
InputUtil.Type.MOUSE.createFromCode(button),
button,
action,
mods,
this.client.currentScreen
));
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,8 @@
import net.ccbluex.liquidbounce.integration.VrScreen;
import net.ccbluex.liquidbounce.integration.interop.protocol.rest.v1.game.PlayerData;
import net.ccbluex.liquidbounce.interfaces.ClientPlayerEntityAddition;
import net.ccbluex.liquidbounce.utils.aiming.Rotation;
import net.ccbluex.liquidbounce.utils.aiming.RotationManager;
import net.ccbluex.liquidbounce.utils.aiming.data.Rotation;
import net.ccbluex.liquidbounce.utils.movement.DirectionalInput;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.gui.screen.Screen;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@
import net.ccbluex.liquidbounce.features.module.modules.render.ModuleAntiBlind;
import net.ccbluex.liquidbounce.features.module.modules.world.scaffold.ModuleScaffold;
import net.ccbluex.liquidbounce.utils.aiming.RotationManager;
import net.ccbluex.liquidbounce.utils.aiming.features.MovementCorrection;
import net.minecraft.client.MinecraftClient;
import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.effect.StatusEffect;
Expand Down Expand Up @@ -170,13 +171,13 @@ private void hookAfterJumpEvent(CallbackInfo ci) {
private Vec3d hookFixRotation(Vec3d original) {
var rotationManager = RotationManager.INSTANCE;
var rotation = rotationManager.getCurrentRotation();
var configurable = rotationManager.getWorkingAimPlan();
var configurable = rotationManager.getActiveRotationTarget();

if ((Object) this != MinecraftClient.getInstance().player) {
return original;
}

if (configurable == null || !configurable.getApplyVelocityFix() || rotation == null) {
if (configurable == null || configurable.getMovementCorrection() == MovementCorrection.OFF || rotation == null) {
return original;
}

Expand Down Expand Up @@ -246,9 +247,9 @@ private float hookModifyFallFlyingPitch(float original) {

var rotationManager = RotationManager.INSTANCE;
var rotation = rotationManager.getCurrentRotation();
var configurable = rotationManager.getWorkingAimPlan();
var configurable = rotationManager.getActiveRotationTarget();

if (rotation == null || configurable == null || !configurable.getApplyVelocityFix() || configurable.getChangeLook()) {
if (rotation == null || configurable == null || configurable.getMovementCorrection() == MovementCorrection.OFF) {
return original;
}

Expand All @@ -266,13 +267,13 @@ private Vec3d hookModifyFallFlyingRotationVector(Vec3d original) {

var rotationManager = RotationManager.INSTANCE;
var rotation = rotationManager.getCurrentRotation();
var configurable = rotationManager.getWorkingAimPlan();
var configurable = rotationManager.getActiveRotationTarget();

if (rotation == null || configurable == null || !configurable.getApplyVelocityFix() || configurable.getChangeLook()) {
if (rotation == null || configurable == null || configurable.getMovementCorrection() == MovementCorrection.OFF) {
return original;
}

return rotation.getRotationVec();
return rotation.getDirectionVector();
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -34,9 +34,10 @@
import net.ccbluex.liquidbounce.features.module.modules.player.ModuleReach;
import net.ccbluex.liquidbounce.features.module.modules.player.nofall.modes.NoFallNoGround;
import net.ccbluex.liquidbounce.features.module.modules.world.ModuleNoSlowBreak;
import net.ccbluex.liquidbounce.utils.aiming.AimPlan;
import net.ccbluex.liquidbounce.utils.aiming.Rotation;
import net.ccbluex.liquidbounce.utils.aiming.RotationManager;
import net.ccbluex.liquidbounce.utils.aiming.RotationTarget;
import net.ccbluex.liquidbounce.utils.aiming.data.Rotation;
import net.ccbluex.liquidbounce.utils.aiming.features.MovementCorrection;
import net.minecraft.client.MinecraftClient;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EquipmentSlot;
Expand Down Expand Up @@ -94,9 +95,9 @@ private float hookFixRotation(float original) {

RotationManager rotationManager = RotationManager.INSTANCE;
Rotation rotation = rotationManager.getCurrentRotation();
AimPlan configurable = rotationManager.getWorkingAimPlan();
RotationTarget configurable = rotationManager.getActiveRotationTarget();

if (configurable == null || !configurable.getApplyVelocityFix() || rotation == null) {
if (configurable == null || configurable.getMovementCorrection() == MovementCorrection.OFF || rotation == null) {
return original;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ private static Vec3d hookFixRotation(Vec3d original, World world, PlayerEntity p
var rotation = RotationManager.INSTANCE.getCurrentRotation();

if (player == MinecraftClient.getInstance().player && rotation != null) {
return rotation.getRotationVec();
return rotation.getDirectionVector();
}

return original;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,8 @@
import net.ccbluex.liquidbounce.features.module.modules.misc.betterchat.ModuleBetterChat;
import net.ccbluex.liquidbounce.features.module.modules.player.ModuleAntiExploit;
import net.ccbluex.liquidbounce.features.module.modules.player.ModuleNoRotateSet;
import net.ccbluex.liquidbounce.utils.aiming.Rotation;
import net.ccbluex.liquidbounce.utils.aiming.RotationManager;
import net.ccbluex.liquidbounce.utils.aiming.data.Rotation;
import net.ccbluex.liquidbounce.utils.kotlin.Priority;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.gui.screen.DownloadingTerrainScreen;
Expand Down Expand Up @@ -200,7 +200,7 @@ private void injectNoRotateSet(PlayerPositionLookS2CPacket packet, CallbackInfo
true,
null
);
RotationManager.INSTANCE.aimAt(aimPlan, Priority.NOT_IMPORTANT, ModuleNoRotateSet.INSTANCE);
RotationManager.INSTANCE.setRotationTarget(aimPlan, Priority.NOT_IMPORTANT, ModuleNoRotateSet.INSTANCE);
}

// Increase yaw and pitch by a value so small that the difference cannot be seen,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package net.ccbluex.liquidbounce.injection.mixins.minecraft.network;

import net.ccbluex.liquidbounce.utils.aiming.Rotation;
import net.ccbluex.liquidbounce.utils.aiming.RotationManager;
import net.ccbluex.liquidbounce.utils.aiming.data.Rotation;
import net.minecraft.network.packet.c2s.play.PlayerInteractItemC2SPacket;
import net.minecraft.util.Hand;
import org.spongepowered.asm.mixin.Final;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,9 @@
import com.llamalad7.mixinextras.injector.ModifyExpressionValue;
import net.ccbluex.liquidbounce.features.module.modules.combat.aimbot.ModuleDroneControl;
import net.ccbluex.liquidbounce.features.module.modules.render.*;
import net.ccbluex.liquidbounce.utils.aiming.AimPlan;
import net.ccbluex.liquidbounce.utils.aiming.RotationManager;
import net.ccbluex.liquidbounce.utils.aiming.RotationTarget;
import net.ccbluex.liquidbounce.utils.aiming.features.MovementCorrection;
import net.minecraft.client.render.Camera;
import net.minecraft.entity.Entity;
import net.minecraft.entity.LivingEntity;
Expand Down Expand Up @@ -101,13 +102,13 @@ private void modifyCameraOrientation(BlockView area, Entity focusedEntity, boole
this.setRotation(screen.getCameraRotation().x, screen.getCameraRotation().y);
}

AimPlan aimPlan = RotationManager.INSTANCE.getWorkingAimPlan();
RotationTarget rotationTarget = RotationManager.INSTANCE.getActiveRotationTarget();

var previousRotation = RotationManager.INSTANCE.getPreviousRotation();
var currentRotation = RotationManager.INSTANCE.getCurrentRotation();

boolean shouldModifyRotation = ModuleRotations.INSTANCE.getRunning() && ModuleRotations.INSTANCE.getCamera()
|| aimPlan != null && aimPlan.getChangeLook();
|| rotationTarget != null && rotationTarget.getMovementCorrection() == MovementCorrection.CHANGE_LOOK;

if (currentRotation == null || previousRotation == null || !shouldModifyRotation) {
return;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,9 +33,9 @@
import net.ccbluex.liquidbounce.interfaces.LightmapTextureManagerAddition;
import net.ccbluex.liquidbounce.render.engine.UiRenderer;
import net.ccbluex.liquidbounce.render.shader.shaders.OutlineEffectShader;
import net.ccbluex.liquidbounce.utils.aiming.RaytracingExtensionsKt;
import net.ccbluex.liquidbounce.utils.aiming.Rotation;
import net.ccbluex.liquidbounce.utils.aiming.RotationManager;
import net.ccbluex.liquidbounce.utils.aiming.data.Rotation;
import net.ccbluex.liquidbounce.utils.aiming.utils.RaytracingKt;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.gui.DrawContext;
import net.minecraft.client.gui.screen.ChatScreen;
Expand Down Expand Up @@ -111,7 +111,7 @@ private HitResult hookRaycast(HitResult original, Entity camera, double blockInt
rotation = cameraRotation;
}

return RaytracingExtensionsKt.raycast(rotation, Math.max(blockInteractionRange, entityInteractionRange),
return RaytracingKt.raycast(rotation, Math.max(blockInteractionRange, entityInteractionRange),
ModuleLiquidPlace.INSTANCE.getRunning(), tickDelta);
}

Expand All @@ -122,7 +122,7 @@ private Vec3d hookRotationVector(Vec3d original, Entity camera, double blockInte
}

var rotation = RotationManager.INSTANCE.getCurrentRotation();
return rotation != null ? rotation.getRotationVec() : original;
return rotation != null ? rotation.getDirectionVector() : original;
}

/**
Expand Down
Loading

0 comments on commit 88eba9a

Please sign in to comment.