Skip to content

Commit 6110e4a

Browse files
committed
Added CameraTweaks
1 parent 511461b commit 6110e4a

File tree

2 files changed

+32
-0
lines changed

2 files changed

+32
-0
lines changed

common/src/main/java/com/lambda/mixin/render/CameraMixin.java

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,17 @@
22

33
import com.lambda.interaction.RotationManager;
44
import com.lambda.module.modules.player.Freecam;
5+
import com.lambda.module.modules.render.CameraTweaks;
56
import net.minecraft.client.render.Camera;
67
import net.minecraft.entity.Entity;
78
import net.minecraft.world.BlockView;
89
import org.spongepowered.asm.mixin.Mixin;
910
import org.spongepowered.asm.mixin.Shadow;
1011
import org.spongepowered.asm.mixin.injection.At;
1112
import org.spongepowered.asm.mixin.injection.Inject;
13+
import org.spongepowered.asm.mixin.injection.ModifyArg;
1214
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
15+
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
1316

1417
@Mixin(Camera.class)
1518
public abstract class CameraMixin {
@@ -36,4 +39,20 @@ private void injectQuickPerspectiveSwap(BlockView area, Entity focusedEntity, bo
3639
if (rot == null) return;
3740
setRotation(rot.getYawF(), rot.getPitchF());
3841
}
42+
43+
@Inject(method = "clipToSpace", at = @At("HEAD"), cancellable = true)
44+
private void onClipToSpace(double desiredCameraDistance, CallbackInfoReturnable<Double> info) {
45+
if (CameraTweaks.getNoClipCam()) {
46+
info.setReturnValue(desiredCameraDistance);
47+
}
48+
}
49+
50+
@ModifyArg(method = "update", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/render/Camera;clipToSpace(D)D"))
51+
private double onDistanceUpdate(double desiredCameraDistance) {
52+
if (CameraTweaks.INSTANCE.isEnabled()) {
53+
return CameraTweaks.getCamDistance();
54+
}
55+
56+
return desiredCameraDistance;
57+
}
3958
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package com.lambda.module.modules.render
2+
3+
import com.lambda.module.Module
4+
import com.lambda.module.tag.ModuleTag
5+
6+
object CameraTweaks : Module(
7+
name = "CameraTweaks",
8+
description = "Adjusts camera settings",
9+
defaultTags = setOf(ModuleTag.RENDER)
10+
) {
11+
@JvmStatic val camDistance by setting("Camera Distance", 4.0, 1.0..20.0, 0.1)
12+
@JvmStatic val noClipCam by setting("No Clip Camera", true)
13+
}

0 commit comments

Comments
 (0)