Import & manage extensions
The manager lives under Settings → Extensions. Newly imported extensions are always disabled — review their permissions before enabling them.
Import
Both ways accept multiple files at once:
| Way | How | Notes |
|---|---|---|
| Button | Click Import extension and multi-select | Accepts .tmlext and .jar |
| Drag & drop | Drop files onto the launcher window | On the extensions page both formats are accepted; on other pages only .tmlext is intercepted, .jar is still handled as a mod |
A full-page "Drop to import extension" hint appears while dragging over the page. Non-extension files in the same drop are ignored, with a hint telling you how many were skipped. When the launcher runs as administrator the window uses a different system drag path — .tmlext is still imported as an extension, not installed as a mod.
TIP
Importing only places the package into extensions/ in the data directory; it does not run anything. Open Details first and check the requested permissions.
What the page shows
The top line summarises installed / enabled / errored / missing-runtime counts. Each extension gets a card with:
- Name, version and a state badge (enabled / disabled / error / missing runtime).
- Author, runtime, package format and whether it was unpacked.
- Description, requested permissions and subscribed events.
Each card has three buttons:
| Button | What it does |
|---|---|
| Details | Id, version, author, runtime, entry, platforms, permissions, events, SHA-256, unpacked dir, private data dir — plus the error text when it failed |
| Enable / Disable | Asks for permission confirmation before enabling; disabling stops the child process but keeps the files |
| Uninstall | Removes the package and its private data after a confirmation |
Refresh (re-scan extensions/) and Open extensions folder are at the top of the page.
Permissions and auto-start
- The first enable shows the requested permissions; the child process starts only after you confirm.
- A package you already confirmed is remembered — enabling it again won't re-prompt. A different package, or changed contents (SHA-256 mismatch), asks again.
- Extensions that were enabled when the launcher last exited are started again automatically.
- Enable state and trust records live in
extensions/trusted.json; changing the package contents triggers "extension was modified" and blocks loading.
Troubleshooting
| Symptom | What to do |
|---|---|
| Missing runtime | Install the interpreter / runtime, then click Refresh; the launcher never downloads runtimes |
| Imported but not listed | Bad manifest JSON or a duplicate id; check logs/ext-*.log |
| Card says "error" | Open Details for the error message |
| Drop does nothing | Make sure it's a .tmlext file (.jar works on the extensions page too), and a file rather than a folder |
