Repository navigation
Configuration
Applies to SKD Menu 1.0.0 for Minecraft 1.21.1, and to 1.2.5 for 26.2.
<gamedir>/config/skd_menu/menu.json # the menu itself, generated on first launch
<gamedir>/config/skd_menu/menu-common.toml # two switches
menu.json is created with a complete default layout the first time you launch with the mod
installed. Every recognised button ID is already listed, so you can see what exists without
guessing.
On 26.2 only, the loading screen has its own file:
<gamedir>/config/skd_menu/loading.json
By default the JSON is read once, at game launch. To see a change, restart Minecraft.
Set reloadJsonOnTitle = true in menu-common.toml and the file is re-read every time the title
screen initialises — on window resize, or on returning to the title screen from a world or server.
It does not reload live while the title screen sits open. With the option enabled, resizing the window a little is the fastest way to preview a change.
This is the single most important thing to know.
x and y are percentages, 0–100, of the window's width and height.
- Origin
(0, 0)is the top-left of the window. -
xgrows to the right,ygrows downwards. -
xis a percentage of the current width;yof the current height.
So "x": 50 puts the element halfway across the window whether it is 800 pixels wide or 3000. The
position is recalculated on each title-screen open, so your layout stays proportional instead of
stranding elements in the corner.
Sizes are pixels. width and height are never percentages — an element does not need to scale
with the window the way its position does.
Two values are not percentages:
| Value | Meaning |
|---|---|
-1 |
Automatic. The mod computes the position from the current window size, like the vanilla layout. |
-999 |
Hidden. A custom button left at -999 is not created at all.
|
Anything >= 0 is read as a fixed percentage.
Every image field — background, logos, title, overlays, button images — accepts all three, and the mod works out which is which:
-
modid:path/to/file.png— a texture bundled in the mod's JAR or served by a resource pack. For exampleskd_menu:textures/gui/bg_main_default.png. The efficient option: no disk or network access per frame. -
A file path — absolute, or relative to the game's launch directory. For images you do not want to package:
C:\Users\tu\Pictures\fondo.png. -
http://orhttps://— a direct URL to an image file. Downloaded once in the background, never blocking the render, and cached in memory for the rest of the session.If the download fails or has not finished, the black fallback is used until it is ready. That is worth knowing: a slow or unreachable URL shows as black rather than as an error.
type |
Behaviour |
|---|---|
image |
A single fixed image, with the effect above. |
color |
A flat colour. |
animated |
The legacy rotating-frame background. |
panorama |
A vanilla panorama. |
custom_panorama |
A custom panorama. |
fit: "cover" is the default because it preserves the aspect ratio — the image fills the window and
the overflow is cropped, so it never looks distorted on a small window. "stretch" fills exactly and
can deform.
The zoom effect is the slow "breathing" animation: scale moves between minScale and maxScale
over durationMs and back.
"logos": {
"topLeft": { "x": 0, "y": 0, "width": 150, "image": { "path": "..." } },
"topRight": { "x": -1, "y": 0, "width": 150, "image": { "path": "..." } }
},
"title": { "x": 50, "y": 12, "scale": 1.0, "image": { "path": "..." } }Two fixed corner logos, each configured independently, plus a custom title image. -1 in a logo or
overlay means automatic placement — for a top-right logo that resolves to the top-right corner.
See Images.
Set enableMod = false in menu-common.toml and the title screen goes fully vanilla with your
config untouched. Then fix the JSON at your own pace. This is the first thing to try if the menu
looks broken.
SKD Menu is by Stalking Dragons, released under All Rights Reserved. Client-side only, with no dependency on any other mod.