Migrating from another plugin
Already running an enchantments plugin? The built-in migrator reads that plugin's config, maps it onto StarEnchants' unified DSL, and writes ready-to-review YAML for you. One command, no manual rewriting.
The migrator understands three source formats:
| Source | /se migrate arg |
|---|---|
| EliteEnchantments | ee |
| EliteArmor | ea |
| AdvancedEnchantments | ae |
The command
/se migrate <ee|ea|ae> <path>
<ee|ea|ae>— which source format to read.<path>— the path to that plugin's config (a file or directory, depending on the source).
The workflow
-
Run the migrator. Point it at the other plugin's config:
/se migrate ae plugins/AdvancedEnchantments/enchantments -
Review the output. The migrator writes translated YAML into
plugins/StarEnchants/migrated/— it never overwrites your live content. Anything it can't translate cleanly is flagged so you can see exactly what needs a human eye. -
Promote what you want. Once you've reviewed the migrated files, move the ones you want into
content/enchants/,content/sets/, orcontent/crystals/. -
Reload. Run
/se reload --dry-runto validate, then/se reloadto go live.
:::tip Imported content lands in the unified schema The migrator's output is ordinary StarEnchants YAML — the exact same enchant / set / crystal schema you'd write by hand. There is no ongoing "compatibility mode": once migrated, it's just StarEnchants content, with the full effect engine and reference behind it. :::
:::warning Always review before promoting
Source formats differ in subtle ways (level scaling, trigger names, effect parameters). The migrator
does a faithful best-effort translation and flags the rest, but a quick read of the migrated/ output
— especially anything flagged — saves surprises in live combat. Use /se reload --dry-run to catch
any leftover schema issues before swapping.
:::
Importing a single enchant — /se import
The migrator is for whole configs. To bring in one enchant — most often one you just built in the Enchant Creator and exported — paste its code instead:
/se import <code>
An SE1: code carries a complete enchant. The command validates it first, through the same compiler
/se reload --dry-run uses; only if it compiles clean does it write
content/enchants/<key>.yml and then reload transactionally. If anything fails to validate, it
reports the errors and nothing is written — your live content is never left half-updated.
An import overwrites an existing file with the same key, which is how you iterate: tweak the enchant in the Creator, re-export, re-import, and the new version is live.
:::note Enchants only
/se import always writes under content/enchants/. Sets, crystals, and the other content families
aren't part of the code format — author those as files, or bring them across with /se migrate.
:::
After migrating
- Polish the migrated enchants against the DSL reference — you may find effects or selectors that express the original intent more cleanly.
- Re-tier and re-group as you like; tiers and groups are cosmetic/organizational and never part of an item's identity.
- Edit any migrated enchant visually in the Enchant Creator.