mjolnir CLI
Inspect and patch tag data from the command line.
The same tag engine the editor runs on, driven from a shell. It reads an installed game read-only, prints fields with their resolved values, and patches one by name — as a dry run until you ask for a file. It is also how the format's claims are checked, over all 12,292 shipped tags at once.
Previews
No screenshots yet.
Install it
Install it with Scoop on Windows or Homebrew on macOS and Linux, or take an archive below. Building it yourself (cargo build --release -p blam-cli) is only needed to change the tool.
scoop bucket add mjolnir https://github.com/devnull9090/mjolnir-core; scoop install mjolnirbrew tap devnull9090/core https://github.com/devnull9090/mjolnir-core && brew install mjolnir$env:HCE_PAKS = "C:\Program Files (x86)\Steam\steamapps\common\Halo Campaign Evolved\Meteorite\Content\Paks"mjolnir groupsWhat it does
Find your way around
mjolnir groups summarises all 101 tag groups with counts; mjolnir list and mjolnir values take you from a group to one tag's fields, with enums, bitfields, references and colours resolved to names.
Set a field by path
The same dotted path the editor shows on hover. Every set reports which bytes moved, re-parses the result and reads the value back out — and writes nothing until you pass --out.
Check the whole install
validate, roundtrip and recode run over all 12,292 tags: structural invariants, byte-identical rewrites, and a decode/re-encode of every field. None of them writes anything.
Poke the running game
mjolnir poke locates a tag's payload in the live process and writes a field into it, confirming the bytes afterwards. Gone at the next launch, and never on disk.
Export the schema
mjolnir defs dumps the whole definition corpus as JSON — field names, types and offsets. Schema only: extracted tag values are game content and stay on your machine.
What you need
Nothing shipped is ever modified: the game's containers are opened read-only, and an edit produces a new file.