diff --git a/common/src/main/java/dev/schmarrn/lighty/event/Compute.java b/common/src/main/java/dev/schmarrn/lighty/event/Compute.java index 24f8ae1..34a9600 100644 --- a/common/src/main/java/dev/schmarrn/lighty/event/Compute.java +++ b/common/src/main/java/dev/schmarrn/lighty/event/Compute.java @@ -156,8 +156,6 @@ public static void computeCache(Minecraft client) { return; } - playerPos = new ChunkPos(client.player.blockPosition()); - cachedBuffers.forEach(((sectionPos, bufferHolder) -> { if (outOfRange(sectionPos)) { toBeRemoved.add(sectionPos); @@ -204,16 +202,10 @@ public static void computeCache(Minecraft client) { public static void render(@Nullable Frustum frustum, PoseStack matrixStack, Matrix4f projectionMatrix) { if (!SMACH.isEnabled()) return; - OverlayRenderer renderer = Renderers.getRenderer(); - if (frustum == null) { return; } - if (playerPos == null) { - return; - } - Minecraft minecraft = Minecraft.getInstance(); ClientLevel world = minecraft.level; @@ -221,11 +213,15 @@ public static void render(@Nullable Frustum frustum, PoseStack matrixStack, Matr return; } + OverlayRenderer renderer = Renderers.getRenderer(); renderer.beforeRendering(); GameRenderer gameRenderer = minecraft.gameRenderer; Camera camera = gameRenderer.getMainCamera(); + // update player position + playerPos = new ChunkPos(camera.getBlockPosition()); + matrixStack.pushPose(); // fixes view-bobbing and hurt-tilt causing the overlay to move when playing with shaders