Skip to content

Feature Main Menu Logo

Brennan Hatton edited this page May 3, 2026 · 1 revision

Main menu Dungeon Train wordmark

Since: v0.101.0 — PR #139

The Minecraft main menu shows the Dungeon Train wordmark instead of the vanilla "MINECRAFT" logo, with the "Java Edition" subtitle removed. Renders at 343×41 px (≈ 1.25× vanilla LOGO_WIDTH), centered, top edge nudged 5 px below the vanilla logo origin. The panorama fade-in alpha is honored, so the wordmark fades in with the background panorama animation just like the vanilla logo.

The Mojang vertical-flash intro (which reuses the same LogoRenderer) also picks up the new wordmark.

What the player sees

The first frame after launching the game: panorama background, Dungeon Train wordmark fading in centred slightly below where the MINECRAFT logo used to sit, no edition subtitle. The randomised yellow splash text and bottom-row buttons are unchanged.

How it works

Vanilla LogoRenderer.renderLogo() blits assets/minecraft/textures/gui/title/minecraft.png as two stacked 155×44 tiles from a 256×64 atlas (UVs (0, 0) and (0, 45)), then blits edition.png underneath. Dropping a single-row 1440×173 wordmark into the texture path makes the vanilla blit show only the leftmost ~10% of the artwork, twice — useless.

MainMenuLogoMixin @Inject(at = HEAD, cancellable = true) on LogoRenderer.renderLogo(GuiGraphics, int, float, int) does three things and then ci.cancel()s vanilla:

  1. RenderSystem.setShaderColor(1, 1, 1, alpha) so the panorama fade-in still drives the logo's transparency.
  2. One GuiGraphics.blit of the full 1440×173 source at 343×41 on screen, centered, at yOffset + 5.
  3. Reset shader colour to opaque white.

Cancelling vanilla also drops the edition.png blit, which is the desired behaviour — no "Java Edition" subtitle, no extra wiring needed.

Files

Path Purpose
MainMenuLogoMixin.java The mixin
assets/minecraft/textures/gui/title/minecraft.png 1440×173 RGBA wordmark, transparent background
dungeontrain.mixins.json Registers client.MainMenuLogoMixin

Tuning

All knobs are constants at the top of MainMenuLogoMixin:

Constant Value Effect
DT_DEST_W LogoRenderer.LOGO_WIDTH * 1.25 ≈ 343 On-screen logo width in px. Height auto-derives from the source aspect (1440:173).
DT_Y_SHIFT 5 Extra vertical offset added to the vanilla yOffset before rendering.

Source dimensions (DT_SRC_W, DT_SRC_H) hardcode the texture's pixel size — change these if the wordmark file is replaced with a different resolution.

Compatibility notes

  • No interaction with Valkyrien Skies / Sable. UI-only, no block/collision/entity touch points.
  • Affects every consumer of LogoRenderer. In 1.21.1 that's the title screen and the Mojang intro flash — both desirable.
  • Mod-pack collision risk. Any other mod that mixins LogoRenderer.renderLogo with @Inject(HEAD) may conflict. None known at time of merge.
  • Resource pack override. Texture lives at the vanilla path; a player resource pack putting its own minecraft.png at the same path will win over the mod jar (vanilla resource priority order). Removing or replacing the file does not restore the vanilla layout — the mixin still cancels vanilla's two-tile blit; the only way to revert is to disable the mixin.

Clone this wiki locally