0
0
mirror of https://github.com/Wurst-Imperium/Wurst7.git synced 2024-09-20 01:12:13 +02:00

add CameraDistanceHack

This commit is contained in:
pcm1k 2022-11-02 00:26:11 -04:00
parent f78e34ac0c
commit 959c319a53
3 changed files with 50 additions and 0 deletions

View File

@ -65,6 +65,8 @@ public final class HackList implements UpdateListener
public final BowAimbotHack bowAimbotHack = new BowAimbotHack();
public final BuildRandomHack buildRandomHack = new BuildRandomHack();
public final BunnyHopHack bunnyHopHack = new BunnyHopHack();
public final CameraDistanceHack cameraDistanceHack =
new CameraDistanceHack();
public final CameraNoClipHack cameraNoClipHack = new CameraNoClipHack();
public final CaveFinderHack caveFinderHack = new CaveFinderHack();
public final ChatTranslatorHack chatTranslatorHack =

View File

@ -0,0 +1,36 @@
/*
* Copyright (c) 2014-2022 Wurst-Imperium and contributors.
*
* This source code is subject to the terms of the GNU General Public
* License, version 3. If a copy of the GPL was not distributed with this
* file, You can obtain one at: https://www.gnu.org/licenses/gpl-3.0.txt
*/
package net.wurstclient.hacks;
import net.wurstclient.Category;
import net.wurstclient.SearchTags;
import net.wurstclient.hack.Hack;
import net.wurstclient.settings.SliderSetting;
import net.wurstclient.settings.SliderSetting.ValueDisplay;
@SearchTags({"camera distance"})
public final class CameraDistanceHack extends Hack
{
private final SliderSetting distance = new SliderSetting("Distance", 4, -10,
150, 0.5, ValueDisplay.DECIMAL);
public CameraDistanceHack()
{
super("CameraDistance");
setCategory(Category.RENDER);
addSetting(distance);
}
public double getDistance()
{
return isEnabled() ? distance.getValueF() : 4;
}
// See CameraMixin.onClipToSpaceDistance()
}

View File

@ -10,6 +10,7 @@ package net.wurstclient.mixin;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.ModifyVariable;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
import net.minecraft.client.render.Camera;
@ -29,6 +30,17 @@ public abstract class CameraMixin
cir.setReturnValue(desiredCameraDistance);
}
@ModifyVariable(at = @At("HEAD"),
method = "clipToSpace(D)D",
argsOnly = true)
private double onClipToSpaceDistance(double desiredCameraDistance)
{
if(WurstClient.INSTANCE.getHax().cameraDistanceHack.isEnabled())
return WurstClient.INSTANCE.getHax().cameraDistanceHack.getDistance();
return desiredCameraDistance;
}
@Inject(at = {@At("HEAD")},
method = {
"getSubmersionType()Lnet/minecraft/client/render/CameraSubmersionType;"},