Modrinth · Minecraft mod
ScreenSpec
An easy way to build screens for your mod.
Quick answer
Which ScreenSpec release matches 26.2?
ScreenSpec 0.12.5 targets 26.2 with NeoForge. It must be installed on the client. Do not install it on the dedicated server. No extra mods listed for this file.
Where it goes
Is ScreenSpec required on the client, server, or both?
It must be installed on the client. Do not install it on the dedicated server.
This file is marked client-only.
What else does ScreenSpec 0.12.5 need?
0.12.5 on 26.2. Every mod below is checked against that same setup.
This file does not list any required mods. Do not add a library just because a different file uses it.
This file does not list any required or optional mods.
Before you install it
Add ScreenSpec without breaking your instance.
Built for ScreenSpec 0.12.5 on 26.2. Pick another file and the loader, install side or required mods may change.
- 01
Stick to this file
Use 0.12.5. It targets 26.2 with NeoForge; another release may have different loader, side or dependency requirements.
- 02
Bring the mods it needs
This file does not list any required mods. Do not add a library just because a different file uses it.
- 03
Put it on the correct side
It must be installed on the client. Do not install it on the dedicated server.
- 04
Pick the file you checked
Use the “Get this file” button beside 0.12.5. It opens that exact file at the source.
About this project
What does ScreenSpec add?
screenspec is a NeoForge library that turns a JSON screen definition into a working Minecraft Screen — no codegen, no hand-laid-out widgets.
Design your mod's UI visually in the MC Screen Designer, export a ScreenSpec JSON, drop it in your mod's resources, and open it in three lines of code:
ScreenSpec spec = ScreenSpecLoader.fromResource(rm, "your_modid", "settings_screen");
SpecScreen screen = new SpecScreen(Component.literal("Settings"), spec);
Minecraft.getInstance().setScreen(screen);
Wire up behavior with a fluent listener API — no subclassing required:
screen.on("save_btn", (id, s, v) -> save())
.on("volume", (id, s, v) -> setVolume((Double) v))
.on("hardcore", (id, s, v) -> setHardcore((Boolean) v));
Features
- Buttons, toggle buttons (with radio groups), sliders, text inputs, labels, panels, and icons
- Live data bindings — push game state into widget text, enabled state, and visibility every frame
- Declarative action ids for reusable cross-screen event handling
- Custom widget types, panel textures, and icon resolvers via simple overrides
Targets: Minecraft 1.21.5 / NeoForge 21.5.x / Java 21
Project description from Modrinth.
Pick your setup
ScreenSpec by Minecraft version and loader
Choose the version and loader you play, then open the matching release.
1.21.11
1 loader build1.21.1
1 loader buildCheck the dependencies, then try the file in a copied instance before changing a world you care about.
Recent files
ScreenSpec versions and loaders
0.12.5
screenspec-neoforge-0.12.5.jar
9 Aug 2026
Looking for an older file? The official Modrinth project page is in Resources.