Jedi MUD Client migration
JMC → smudgy
Turn a JMC .set config into a smudgy TypeScript module. Best-effort conversion of aliases/actions/highlights/subs/hotkeys/vars.
Drop a JMC .set file here
Plain-text .txt exports are accepted too.
LOCALConversion happens in this browser tab. The file is not uploaded.
Installing the module
- Download the generated
.tsfile. - Move it into the
modulesfolder for the relevant server. - Start a session for that server. If it is already open, reload its scripts.
- Windows
Documents\smudgy\<Server>\modules\- macOS and Linux
~/Documents/smudgy/<Server>/modules/
Editing module-created automations
jmc2smudgy creates a smudgy module. Automations created by a module are read-only in the automations window; otherwise, rerunning the module could overwrite changes made there. To change an alias, trigger, or hotkey, edit the generated .ts file.
Conversion reference
| JMC input | Generated smudgy code |
|---|---|
#alias | createAlias. Typed arguments append, TinTin-style, when the body has no %0–%9. |
#action | createTrigger, named after the JMC pattern so nested #unaction commands continue to resolve it. |
#highlight | createTrigger with line.highlight(...). |
#substitute | createTrigger with line.replace(...). {.} becomes line.gag(). |
#hot | createHotkey, including JMC names such as NUM8 and MIN. |
#variable | vars.* seeds. Existing persisted values take precedence. |
#output, #showme, #status | Styled echo calls or vars.statusN assignments. |
#if, #loop, #math, #var | Experimental search/replace into TypeScript. |
| Unsupported input | Comments and warnings, so it remains visible for manual review. |
What to check
After converting, check these cases:
- JMC replaces and highlights every match on a line. smudgy currently changes the first one.
- A highlight or action that only matches text captured by a substitute wildcard may need to be reworked by hand.
- There is no direct match for
#multiaction off; more than one generated trigger can fire on the same line. - JMC’s pattern matcher and JavaScript regular expressions handle a few ambiguous wildcards differently. If a trigger fires too often, inspect its generated regex.
- Connection commands, tick timers,
#read, and other client-level commands are kept as comments rather than guessed at.