From 6b2d0807460ca500f0ff98b8334044f1a705a019 Mon Sep 17 00:00:00 2001 From: Hedzer Kuijlman Date: Sat, 12 Apr 2025 16:59:39 +0200 Subject: [PATCH] Made teleport head lock toggleable --- .../wtf/hak/survivalfabric/config/client/ClientConfig.java | 1 + .../wtf/hak/survivalfabric/mixin/client/EntityMixin.java | 5 +++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/client/java/wtf/hak/survivalfabric/config/client/ClientConfig.java b/src/client/java/wtf/hak/survivalfabric/config/client/ClientConfig.java index 5c3e8e8..d9f5cb5 100644 --- a/src/client/java/wtf/hak/survivalfabric/config/client/ClientConfig.java +++ b/src/client/java/wtf/hak/survivalfabric/config/client/ClientConfig.java @@ -10,4 +10,5 @@ public class ClientConfig { public boolean renderWaterFog = false; public boolean renderSnowFog = false; public boolean removeDarknessEffect = true; + public boolean lockTeleportHeadMovement = true; } diff --git a/src/client/java/wtf/hak/survivalfabric/mixin/client/EntityMixin.java b/src/client/java/wtf/hak/survivalfabric/mixin/client/EntityMixin.java index e5beae8..df4ded4 100644 --- a/src/client/java/wtf/hak/survivalfabric/mixin/client/EntityMixin.java +++ b/src/client/java/wtf/hak/survivalfabric/mixin/client/EntityMixin.java @@ -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(); } }