Skip to content
ScreenSpec

Quick rating

Community listing page, reviews may not be monitored by the author.

ScreenSpec

No reviews yet

An easy way to build screens for your mod.

Mod Loaders
Minecraft
26.2

About

Description

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