Made teleport head lock toggleable

This commit is contained in:
2025-04-12 16:59:39 +02:00
parent 87b6900ff3
commit 6b2d080746
2 changed files with 4 additions and 2 deletions

View File

@ -10,4 +10,5 @@ public class ClientConfig {
public boolean renderWaterFog = false;
public boolean renderSnowFog = false;
public boolean removeDarknessEffect = true;
public boolean lockTeleportHeadMovement = true;
}

View File

@ -6,6 +6,7 @@ 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.callback.CallbackInfo;
import wtf.hak.survivalfabric.config.client.ClientConfigManager;
import wtf.hak.survivalfabric.features.AngleViewer;
@Mixin(Entity.class)
@ -14,7 +15,7 @@ public abstract class EntityMixin {
@Inject(method = "setYaw", at = @At("HEAD"), cancellable = true)
private void preventYawChange(float yaw, CallbackInfo ci) {
if ((Object) this instanceof ClientPlayerEntity player) {
if (player.isMainPlayer() && AngleViewer.PREVENT_HEAD_MOVEMENT) {
if (player.isMainPlayer() && AngleViewer.PREVENT_HEAD_MOVEMENT && ClientConfigManager.getConfig().lockTeleportHeadMovement) {
ci.cancel();
}
}
@ -23,7 +24,7 @@ public abstract class EntityMixin {
@Inject(method = "setPitch", at = @At("HEAD"), cancellable = true)
private void preventPitchChange(float pitch, CallbackInfo ci) {
if ((Object) this instanceof ClientPlayerEntity player) {
if (player.isMainPlayer() && AngleViewer.PREVENT_HEAD_MOVEMENT) {
if (player.isMainPlayer() && AngleViewer.PREVENT_HEAD_MOVEMENT && ClientConfigManager.getConfig().lockTeleportHeadMovement) {
ci.cancel();
}
}