mojira.dev
MC-309555

Font.DisplayMode see-through behavior is unexpectedly flipped for interleaved text submissions

Minecraft 26.2 rendering changes introduced a weird edge case with Font.DisplayMode and interleaved text submissions, causing SEE_THROUGH to sometimes become not see-through, while NORMAL/POLYGON_OFFSET become see-through when used in the same path. I originally thought this was a general case of behavior being flipped, but it turned out to be an edge case, as confirmed by further testing.

This analysis was made using GPT-5.5. It seems vaguely correct, but I’m not an expert in this area, so please double-check it to be sure:

Likely bug: SubmitNodeCollection.texts is a SimpleFeatureRenderPhase, which emits strictlyOrdered = false: SubmitNodeCollection.java:50 and SimpleFeatureRenderPhase.java:49. Then RenderTypeFeatureRenderer is allowed to reuse an earlier draw for the same RenderType, moving later text before intervening text with a different display mode: RenderTypeFeatureRenderer.java:79.

That is a behavioral change from 26.1.2: the old shared MultiBufferSource flushed the current shared render type when switching to another non-fixed render type, preserving interleaved NORMAL/SEE_THROUGH/POLYGON_OFFSET ordering: MultiBufferSource.java:54.

So the concrete edge case is interleaved general text submissions, e.g. SEE_THROUGH, then NORMAL, then SEE_THROUGH again in the same text phase. In 26.2, the last SEE_THROUGH can be merged into the first SEE_THROUGH draw and executed before the intervening NORMAL, making the later normal/polygon-offset text appear to defeat see-through ordering. Conversely, normal/polygon-offset text can look “see-through” if its effective draw order moved relative to depth-disabled text.

Environment

MacBook Air M1, macOS 26.5.1, both OpenGL and Vulkan

Comments 3

We do not have enough information to reproduce this issue.

Please include the following information to help us understand your problem:

Steps to Reproduce:
1. (Explain what needs to be done for the issue to happen)
2.
3.

Observed Results:
(Briefly describe what happens)

Expected Results:
(Briefly describe what should happen)

Please also attach any needed commands, add-ons/behavior packs, data packs, resource packs, screenshots, videos, or worlds needed to help reproduce this issue.

Refer to the Bug Tracker Guidelines for more information about how to write helpful bug reports. Bug reports with insufficient information may be closed as Incomplete.

This issue is being temporarily resolved as Awaiting Response. Once the requested information has been delivered, the report will be reopened automatically.

Quick Links:
📓 Bug Tracker Guidelines – 💬 Community Support – 📧 Mojang Support (Technical Issues) – 📧 Microsoft Support (Account Issues)
📓 Project Summary – ✍️ Feedback and Suggestions – 📖 Game Wiki

Sorry for not responding earlier. I should have done more research before opening this bug report too. Please feel free to change the resolution of this to “Invalid” or whatever you deem appropriate. I was facing an issue when developing a mod and believed I had genuinely hit a vanilla bug, but it turns out the whole “interleaved text submissions” thing was a false flag and I believe everything is actually working as intended.

My issue was actually caused by the fact that mod wasn’t using the SubmitNodeCollector API on 26.1, but moved to it with the BufferSource API being removed in 26.2, and I missed the fact that it renders texts before custom geometry, meaning even see-through text was rendering below our custom geometry.

No worries. Glad you tracked down what it was 🙂

Luna

(Unassigned)

Unconfirmed

26.2

Retrieved