Migrating to EcoItems

EcoItems can import your setup from Oraxen, Nexo, or ItemsAdder - items, custom blocks, furniture, glyphs, sounds, and resource pack assets.

How to migrate

  1. Back up your server, including worlds.

  2. Copy the contents of the old plugin's folder into the matching subfolder of plugins/EcoItems/migrations/ - these subfolders (migrations/Oraxen/, migrations/Nexo/, migrations/ItemsAdder/) are created automatically on startup:

    • everything inside plugins/Oraxen/migrations/Oraxen/

    • everything inside plugins/Nexo/migrations/Nexo/

    • everything inside plugins/ItemsAdder/migrations/ItemsAdder/

    Migration only reads extracted folders, not .zip archives - if your export is a zip, unpack it into the subfolder first. (A single wrapping folder inside, e.g. migrations/Nexo/Nexo/..., is handled automatically.)

  3. Remove the old plugin's jar (keep its folder until you're happy with the result).

  4. Run /ecoitems migrate <oraxen|nexo|itemsadder> from the console.

  5. Read the console output - everything that couldn't be converted is listed there.

  6. Test your items and pack, then delete the migrations folder contents.

Converted configs land in items/imported/<source>/, glyphs/imported/<source>/ and sounds/imported/<source>/ - normal EcoItems configs you can edit and reorganize freely. Running a migration again skips files that already exist, so you can safely re-run after deleting a bad conversion.

Where pack assets go

Most textures/models/sounds from the old plugin's pack are flattened straight into pack/assets/ alongside your own files. The exception is standalone external-pack zips/folders (e.g. Oraxen's pack/external_packs/) that the old plugin merged rather than flattened - those are copied as-is into pack/imports/, the same folder used for merging other packs. That folder isn't there by default - it's only created the moment something needs it (the pack builder on its first run, or a migration that finds one of these standalone packs) - so don't worry if it's missing before then.

What converts

OraxenNexoItemsAdder
Items (name, lore, material, components, enchants, attributes)
Item textures/models incl. bow/shield/rod state models✅ (textures/models)
Custom blocks (noteblock/stringblock/chorus)✅ (REAL_NOTE/REAL_WIRE)
Furniture (hitboxes, seats, lights, placement, display)
Glyphs (incl. bitmap sheets)-
Sounds + jukebox songs-
Crafting recipes (shaped and shapeless)
Furnace, blast furnace, smoker, campfire recipes
Stonecutter and brewing stand recipes
Smithing table recipes--
Resource pack files

World compatibility

Custom blocks placed in your worlds keep working. EcoItems uses the same blockstate encoding as Oraxen, and imported blocks pin their state numbers (variation:), so existing Oraxen worlds render and behave identically. Nexo and ItemsAdder use different numbering - the migration translates it through the actual blockstate, so their worlds carry over too.

Placed furniture does not carry over. Old furniture entities belong to the old plugin; break them before migrating or clean them up afterwards (their display entities show the old item and can be removed).

What doesn't convert

Anything skipped is logged with the item id during migration. The notable ones:

  • Behavior mechanics (Oraxen's commands, lifeleech, IA's events, etc.) - rebuild these with libreforge effects, which are far more powerful.

  • Storage blocks/furniture, evolving crops, saplings, farmblocks, doors, beds, connectables - not yet supported in EcoItems.

  • Anvil repairs (ItemsAdder) - they restore durability rather than make an item, so there's nothing to convert them into.

  • Extra recipes for an item beyond the first. An EcoItem has one recipe, so where several make the same item the first is kept and the rest are logged. Recipes using an item tag as an ingredient are skipped too.

  • ItemFlags, PotionEffects, legacy list-style attribute modifiers.

  • Item-frame or armor-stand furniture converts to display-entity furniture - check how it looks.

  • Messages/settings - EcoItems' own config layout differs; reconfigure config.yml/lang.yml/pack.yml manually.