Player Activity View (0.0.0-beta.4)
Curse Maven Snippet
What's new
v0.0.0-beta.4 - Fixed mirror capture artefacts
Bug-fix beta for Minecraft 1.21.1 / NeoForge 21.1.249. Two fixes to the screen-capture pipeline behind the live mirror, clearing up the artefacts left over from beta.3.
Fix
- The mirror looked smeared and washed out, worst on the pause menu. The cause was a framebuffer feedback loop: the vertical blur and vignette pass sampled
mainRenderTargetScaledDownwhile that same texture was still the bound render target — in other words, sampling a texture attached to the active framebuffer. That is undefined behaviour in OpenGL, and drivers resolve it as a smear. Because rasterisation runs bottom-up, the first rows had already been written by the time the rest of the pass read them, which is exactly why the damage landed on the top band. The original shader author flagged this and never resolved it, with a//TODOinposition_tex_blur_vertical.fshabout the strategy of rendering a texture back onto itself. A third render target (mainRenderTargetFinal) now receives the vertical pass, so it no longer reads and writes the same texture, and it follows the same resize so window changes stay correct. - The inventory lost rows along the top. The crop was not derived from the panel at all: it was a fixed box of
256 × guiScalepixels centred on the window, whatever screen was open. The crop is now taken from the screen's real panel rectangle, re-centred on the panel instead of on the window, and grown so the whole panel fits. The mirror target and the network payload remain a fixed square 256×256, so the crop stays square. As a side effect a wide, short panel such as the pause menu now sits inside the circular vignette rather than having its corners clipped.
Notes
The circular cut-off is unchanged. If a rectangular crop suits a particular screen better, set dynamicGuiSizeRadiusInPixelsToShow = -1 in the server config.
Beta. Building is verified, but none of this could be exercised in-game — it changes the render-to-framebuffer and glReadPixels path, which is the most expensive thing to get wrong without a test suite to catch it. Please report anything that looks off. No dependency or loader version changes.
Inspired by WATUT (What Are They Up To) by Corosus. Independent codebase, no dependency on CoroUtil. Not affiliated with or endorsed by the original author.
JAR: player_activity_view-1.21.1-neoforge-21.1.249-0.0.0-beta.4.jar
All Relations
- All Relations
- Embedded Library
- Optional Dependency
- Required Dependency
- Tool
- Incompatible
- Include
This mod has no related projects

