NeoOrigins Client Config Reference

Per-client (not per-world, not server-controlled) options live in the TOML file config/neoorigins/client.toml in your game directory. They affect only your own client (UI skin, HUD layout, and how many named hotkeys are registered) and are safe to differ from player to player on the same server.

The file is created with defaults on first launch. Edit it while the game is closed, or change values in-game via the mod’s config screen (Mods → NeoOrigins → Config) where exposed.

Built-in keybinds

These are ordinary keybinds, not config values. Rebind any of them in Controls → Key Binds → NeoOrigins. Defaults are chosen to stay clear of vanilla bindings; slots left unbound are for players who want them.

Binding Default What it does
Skill 1 V Fires the first active ability granted by your origin.
Skill 2 G Second active ability.
Skill 3 N Third active ability.
Skill 4 B Fourth active ability.
Skill 5 unbound Fifth active ability.
Skill 6 unbound Sixth active ability.
Class Skill H Fires your class’s active ability, separate from the six origin slots.
View Origin Info O Opens the origin/class info screen.
Toggle Night Vision K Personal on/off switch for origin-granted night vision.
Edit HUD unbound Opens HUD layout editing.
Open Origin Creator unbound Pack-authoring tool; server-gated.
Open Mob Origin Creator unbound Pack-authoring tool; server-gated.

Toggle Night Vision exists because some origins (Caveborn, Feline, Phantom and friends) light the world up permanently, which a few players find worse than the dark. Night vision starts on, so if you never press K you never notice the key. Pressing it toggles only your view; it does not touch the power, the origin, or anyone else, and it survives relogging.

It cannot turn night vision on where the server hasn’t granted it. If a server sets disable_night_vision = true (see CONTENT_CONFIG.md), pressing K just reports that night vision is disabled there.

Pack-declared abilities beyond the six origin slots land in a second category, NeoOrigins (Hotkeys). See [hotkeys] below.

[ui]: selection / info screens

Option Type Default Description
theme_override string "" Force a specific UI theme id (e.g. neoorigins:parchment, examplepack:dark_woods) regardless of what the server’s datapacks declared. Only takes effect when the named theme is actually loaded. Empty = follow the server / datapack-declared theme. See THEMING.md.
classic_picker_style bool false Revert the origin/class selection screens to the original flat high-contrast skin (dark panels, light text, vanilla font) instead of the parchment scroll. Enable if the parchment theme’s brown-on-paper text is hard to read.
show_origin_editor bool false Show the in-game Origin Editor button on the origin info screen for all players, not just those in Creative. The editor is a pack-authoring tool, creative-only by default. Enable if you author origins in survival or want testers to reach it without /gamemode.
default_sort enum CLASS Initial sort order for the origin selection / info screens, used until you cycle the on-screen sort button (your cycled choice then wins for the rest of the session). Values: CLASS (grouped by mod/namespace, alphabetical within), NAME_ASC (flat alphabetical), NAME_DESC (flat reverse-alphabetical), IMPACT_ASC (by origin impact: none → low → medium → high).

[hud]: heads-up display

Option Type Default Description
hide_hud_bars bool true Hide the vanilla hunger / air HUD bars for origins that don’t consume them (e.g. Automaton hunger; Merling / Kraken / Automaton air). Turn off to keep vanilla bars visible regardless of origin.
show_cooldown_countdown bool true Master switch for the numeric seconds drawn on cooldown icons. Packs opt individual powers in via "cooldown_countdown": true; set this to false to suppress all countdown numbers on this client.
cooldown_countdown_opacity int (0–100) 70 Opacity, in percent, of the countdown seconds drawn on cooldown icons. 100 = fully opaque, 0 = invisible. Values below 5 render as 5 (the font renderer drops text below that).
hud_ability_display enum ALL_ACTIVE_ABILITIES What the ability HUD cluster shows besides live cooldowns. ALL_ACTIVE_ABILITIES: every keybind ability with an icon keeps a persistent slot (full-bright while idle, cooldown sweep while recharging, bright/dim for toggles). COOLDOWNS_AND_TOGGLES: cooldown slots only while recharging, plus icon-bearing toggle powers (bright = on, dimmed = off).
always_show_ability_icons bool false Force every icon-bearing ability to stay on the HUD cluster even while off cooldown (as if each power declared "always_show_icon": true). Default false: idle cooldown icons disappear unless the power itself opts in.

The cooldown icon and countdown fields that powers declare (cooldown_icon, cooldown_countdown, always_show_icon) are documented in POWER_TYPES.md; the switches above are the per-client overrides for them.

[hotkeys]

Option Type Default Description
pool_size int (1–256) 32 Number of named-keybind slots registered at client startup. Each pack-declared "key": "translation.key.id" on an active power consumes one slot; the Controls screen shows that many unassigned “Hotkey N” entries. Increase if your packs declare more than 32 distinct keys. This is a client setting: keybinds register at startup, so the slot count is chosen locally and cannot be dictated by the server.
slot_defaults list of strings [] Default physical keys for named-hotkey pool slots, so a modpack can ship pre-bound hotkeys instead of leaving every slot unbound. Each entry is "N=key.keyboard.X", where N is the 1-indexed slot (matching a power’s numeric "key": N) and key.keyboard.X is a vanilla input id (e.g. "1=key.keyboard.r", "2=key.keyboard.z", "3=key.mouse.4"). A bad entry is logged and skipped, so one typo can’t break the whole pool. This is a client setting applied at key registration; a datapack cannot set it, because keybinds register before datapacks load. Players can still rebind any slot in Controls; this only sets the default.

Pre-binding pool slots for a modpack

Leaving every “Hotkey N” row unbound is fine for a single pack, but a curated modpack often wants its abilities to work out of the box. slot_defaults lets the pack author assign a default physical key to any pool slot:

[hotkeys]
pool_size = 32
slot_defaults = ["1=key.keyboard.r", "2=key.keyboard.z", "3=key.mouse.4"]

Slot numbers line up with the numeric "key": N shorthand on a power (see API → Named keybinds): a power authored with "key": 1 lands on “Hotkey 01”, which "1=key.keyboard.r" pre-binds to R. The player can rebind any of these in Controls → Key Binds → NeoOrigins (Hotkeys); the config value only supplies the starting binding.

Why here and not in the datapack: Minecraft fixes a key’s default the moment it registers the KeyMapping, which happens at client startup, before any datapack (or the server) has loaded. So a pre-bound default has to come from the client, which is what this option is for.