Skip to content

Themes & templates

A template is a world folder an admin builds or generates. Every new realm starts as a copy of one. A template has a name, a world, a spawn point, and belongs to one theme and one environment (NORMAL, NETHER, THE_END, or CUSTOM).

Build one by hand:

/realm admin theme create <id>
/realm admin template generate <name> <id>

template generate creates an empty world and teleports you into it. Build the starting area, stand where players should appear, then:

/realm admin template save <name>

Add other dimensions to the same theme with:

/realm admin template assign <name> <theme> NETHER

/realm admin template delete <name> removes the template’s database row — it does not delete the world folder itself.

A theme is what a player actually picks in the create menu. It groups one template per environment behind an id, a display name, a menu icon, and a menu position — all stored in the database, not in a file. /realm admin theme list prints every theme with its template count and position.

/realm admin theme icon <id> <icon>
/realm admin theme display <id> <display…>
/realm admin theme position <id> <n>

theme display takes the rest of the line as its display name, MiniMessage included — nothing after <id> is treated as a separate argument.

A theme with no overworld template is never offered in the create menu. Deleting a theme moves its templates to the default theme, which cannot itself be deleted.

/realm admin theme generate <id> <biome> [environment] builds a whole template world pinned to a single biome, pre-generating the chunks a new realm’s default border covers, and creates the theme if it does not exist yet. This is the fast path — no manual building required.

config.yml’s realm.generated-themes is a list of recipes for one command:

/realm admin theme generate-all

This builds every entry in the list, one after another, skipping any world already loaded. It ships with eight recipes:

Theme id Biome
plains plains
desert desert
snowy snowy_taiga
cherry cherry_grove
jungle jungle
savanna savanna
badlands badlands
swamp swamp

See config.yml to add your own entries — each one needs an id and a biome, with an optional environment (default NORMAL).