Help Index → Working with inventories → Use case 48
Replace a selected inventory’s item records from an inventory backup without assuming that the backup restores all inventory metadata. A small target can also gain valid cells.
Before you start
- Load and confirm the intended save/context; make a full backup before replacing contents.
- Have a trusted inventory backup and a separate backup of the target’s current contents. Do not overwrite either recovery file.
- Before sync, formatting or structured refresh, copy EACH pending Raw JSON pane to its own external file: one sync can overwrite all others. Reapply non-inventory edits one pane at a time, syncing and comparing exact values before the next. Parse errors can leave an old tree with green status; [] is ignored, and Pretty Print can erase invalid text.
- Do not sync/Pretty Print Inventory Raw JSON: dictionary assignment is defective. Use Organizer for supported moves or Replace Items from Backup for supported replacement.
- Use a known complete inventory export with a Slots list; the filename extension does not validate structure. A replacement error can occur after ValidSlotIndices expanded but before Slots changed, so the target is not guaranteed unchanged.
Steps
- Preserve EACH pending pane externally before refresh: one sync can overwrite the others. Reapply non-inventory edits one pane at a time, syncing and verifying exact values. Stop after parse errors even if green; [] is ignored and Pretty Print may erase invalid text. Use structured tools, never defective Inventory Raw JSON sync/Pretty Print. (control reference)
- Open Inventory Processing → Node View and identify the target inventory. Use Backup this Inventory first to preserve the target’s present contents in a different file. (control reference)
- Right-click the inventory record itself and choose Replace Items from Backup. In Replace Inventory Contents, select the intended *.nms_inventory.json backup. (control reference)
- Confirm the file choice only when replacement is intended. This command does not offer Organizer-style Review Moves or Apply staging; cancel the file picker to avoid the replacement. (control reference)
- After either success or an error, inspect the target’s actual Slots and ValidSlotIndices before retrying or saving. Missing Slots can fail after capacity expands. Preserve useful work; if abandoning the replacement, deliberately reload the saved baseline. Do not retry or save blindly, even if the visible tree looks unchanged. (control reference)
Expected result
- The target’s Slots list is replaced with the backup’s Slots; this is not an additive import or a stack merge. Existing target items are displaced.
- If the target has fewer than 120 ValidSlotIndices entries, the helper resets that list to the 120-cell grid. The target’s Name and other inventory metadata are not replaced wholesale from the backup.
What changes, and when to save
Replacement changes the loaded app data, not the selected backup file or live save. File → Save is the separate live-save write. A one-inventory backup is not a full-save restore; if the replacement is unwanted, avoid saving it and reload the saved data deliberately. Compare every intended edit with its preserved copy before any live write; refreshed panes alone cannot prove preservation.
Check the result
- Compare the target’s new item IDs, amounts and positions with the intended backup. Check the target identity and valid-cell list, and inspect any error before File → Save.
Important details and recovery
- Organizer’s expansion checkbox does not control this separate replacement helper.
- This is not a full-save restore and does not restore every field of the exported inventory record.
- Keep the original backup intact. A success notice is not an item-level compatibility or in-game validation guarantee.
- Use a known complete inventory export with a Slots list; the filename extension does not validate structure. A replacement error can occur after ValidSlotIndices expanded but before Slots changed, so the target is not guaranteed unchanged. Preserve needed work and deliberately reload the saved baseline if abandoning the failed attempt.