From 55f2d8b115ff5cf0711e3d4d46b653f5f026bffb Mon Sep 17 00:00:00 2001 From: fayer3 Date: Fri, 23 Jan 2026 17:40:05 +0100 Subject: [PATCH] apply fov modifier to spyglass --- .../mixin/client_vr/renderer/GameRendererVRMixin.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/common/src/main/java/org/vivecraft/mixin/client_vr/renderer/GameRendererVRMixin.java b/common/src/main/java/org/vivecraft/mixin/client_vr/renderer/GameRendererVRMixin.java index a653424f0..f8b7a4c27 100644 --- a/common/src/main/java/org/vivecraft/mixin/client_vr/renderer/GameRendererVRMixin.java +++ b/common/src/main/java/org/vivecraft/mixin/client_vr/renderer/GameRendererVRMixin.java @@ -17,6 +17,7 @@ import net.minecraft.client.gui.Gui; import net.minecraft.client.gui.GuiGraphics; import net.minecraft.client.gui.components.DebugScreenOverlay; +import net.minecraft.client.player.AbstractClientPlayer; import net.minecraft.client.renderer.GameRenderer; import net.minecraft.client.renderer.PerspectiveProjectionMatrixBuffer; import net.minecraft.client.renderer.ScreenEffectRenderer; @@ -242,7 +243,13 @@ else if (vivecraft$DATA_HOLDER.vrPlayer.vrdata_world_render == null || fovy = switch (vivecraft$DATA_HOLDER.currentPass) { case THIRD -> Mth.DEG_TO_RAD * vivecraft$DATA_HOLDER.vrSettings.mixedRealityFov; case CAMERA -> Mth.DEG_TO_RAD * vivecraft$DATA_HOLDER.vrSettings.handCameraFov; - case SCOPEL, SCOPER -> Mth.DEG_TO_RAD * (70F / 8F); + case SCOPEL, SCOPER -> { + float fov = Mth.DEG_TO_RAD * 87.5F; + if (this.minecraft.getCameraEntity() instanceof AbstractClientPlayer player && player.isScoping()) { + fov *= player.getFieldOfViewModifier(true, 1.0F); + } + yield fov; + } default -> fovy; }; }