Introduction
Galdur UI is Galdur Studio's GUI library for NeoForge mods: windows described in code, slot menus, themed widgets, and a theme that resource packs can change.
⏱ 4 minGaldur UI 0.1.0Client & server
What it does
You describe a screen, Galdur UI lays it out. No coordinates, no sizes, no Screen subclass for simple windows.
- Declarative windows (
GaldurWindow): titles, text, buttons, rows, lists, search fields, checkboxes, progress bars and tabs, each with a handle to change it later. - Slot menus (
GaldurMenuandGaldurContainerScreen): slot grids and the player inventory, Shift-click included. - Widgets (
api.widget): button, icon button, label, checkbox, search field, scrolling list, tabs, progress bar, item slot, and a scrolling item grid for thousands of items. - A theme: colours and spacings in
theme.json, reloaded with resources and overridable by a resource pack. - The details: narration of every widget in English and French, short animations the player can turn off, optional JEI and EMI integrations.
Versions
| Version | |
|---|---|
| Minecraft | 1.21.1 |
| NeoForge | 21.1.x |
| Java | 21 |
| Galdur UI | 0.1.0 |
Galdur UI is a separate mod: players install it next to yours, it is not bundled in your jar.
Three rules
Read these before writing code
- Only use
com.galdurstudio.galdurui.api.*.internal.*can change in any version. - Everything except
api.menuis client-only. Keep it out of code that runs on a dedicated server. - Read theme colours and spacings every frame or every
init(), never in astatic finalfield: a resource pack can change them.
Where to go next
- Installation: the Gradle dependency and
neoforge.mods.toml. - Your first window: a search field, a filtered list and two buttons.
- Slot menus: a chest-like menu, client and server.
- API reference: every public class, generated from the Javadoc.