Modifying Existing Spell Lists
Adjust spell availability without rebuilding lists from scratch.
Selecting a List
Section titled “Selecting a List”- Open the Spell List Manager from the Compendium tab footer.
- Locate the list in the sidebar. Hovering a row shows a tooltip with its full name, source pack, and spell count.
- Click the list to load it.
Every list loads directly into the split view: Available Spells on the left, Current List on the right. There is no separate edit mode and no Edit button. Edits are always accepted and held as pending changes until you click Save.
Sidebar folders:
| Folder | Description |
|---|---|
| Player Spell Books | Actor-owned learned-spell journals |
| Custom Spell Lists | GM-created lists (isCustom / isNewList) |
| Merged Spell Lists | Lists built from two or more sources (isMerged) |
| Modified Spell Lists | Auto-created duplicates of standard lists (isDuplicate) |
| Spell Lists | System- or module-provided stock lists |
| Hidden Spell Lists | Lists whose UUID is in the HIDDEN_SPELL_LISTS setting |
Editing Behavior by List Type
Section titled “Editing Behavior by List Type”Standard Lists
Section titled “Standard Lists”Editing a stock list works as follows:
- Click the stock list in the sidebar.
- Add or remove spells in the split view. Changes are queued in memory.
- Click Save.
On Save, if the selected list does not already carry isDuplicate, isCustom, isNewList, or actorId flags, the module:
- Calls
duplicateSpellList, which creates a copy in thespell-book.custom-spell-listspack under the Modified Spell Lists folder. The duplicate is stamped with{ isDuplicate, originalUuid, originalName, originalModTime, originalVersion }and mapped throughCUSTOM_SPELL_MAPPINGS. - Adds the original UUID to
HIDDEN_SPELL_LISTS. The stock list stops appearing in the Spell Lists folder. Un-hide it from the Hidden Spell Lists folder. - Writes the pending edits to the duplicate.
- Calls
dnd5e.registry.spellLists.registeron the duplicate viaensureListRegistered. Spells you added show the class label on item sheets without a reload.
After saving, the sidebar re-selects the duplicate and resets all filter inputs.
Subsequent edits of the original UUID transparently route through CUSTOM_SPELL_MAPPINGS to the same duplicate.
Custom, Merged, and Modified Lists
Section titled “Custom, Merged, and Modified Lists”Edits apply directly to the selected document. No duplication step. Save writes the spell set and calls ensureListRegistered to reflect new additions in the registry.
Actor Spellbooks
Section titled “Actor Spellbooks”Per-actor lists are managed from the actor’s sheet and wizard flow, not through the Spell List Manager’s editing UI.
Header Buttons
Section titled “Header Buttons”Buttons appear in the selected list’s header bar. Visibility depends on list type.
| Icon | Action | Shown When |
|---|---|---|
| Checkbox | Add to Spell Registry | Always |
| Pen | Rename | List has isDuplicate, isCustom, isNewList, or is merged (not on plain stock lists) |
| User | Open Actor | Actor-owned list |
| Scroll | Open Class | Class/subclass item is findable in a pack |
| Sync | Restore | Modified duplicate whose source has drifted |
| Trash | Delete | Always |
| Floppy | Save | Always |
Notice: there is no Edit button. Editing is always on.
Adding Spells
Section titled “Adding Spells”- Click the + icon on an available-spell row.
- Drag a row from Available Spells onto Current List.
The add guard only rejects the exact same UUID. Two copies of the same spell from different packs will both add; remove the redundant entry manually if you want only one.
Removing Spells
Section titled “Removing Spells”- Click the trash icon on a current-list row.
- Drag a row from Current List onto Available Spells.
Saving
Section titled “Saving”Changes live in memory until you click the Save (floppy) icon. Closing the list or switching selection without saving discards pending edits. Stock lists duplicate on save as described above.
Bulk Editing
Section titled “Bulk Editing”- Click the Selection Mode toggle (checkmark) in the top-right of the footer.
- Click spell rows to flag them. Shift-click selects a range.
- Use Bulk Save in the footer to apply every queued add and remove at once.
- Exit selection mode with Cancel Selection.
Selection mode replaces single-row buttons with selection affordances on both panels, and the footer shows a live add/remove counter.
Comparing Spells
Section titled “Comparing Spells”When Compare is enabled in Details Customization, every spell row shows a balance-scale icon. Clicking it toggles the spell’s membership in the comparison set. Once two or more spells are queued, the Spell Comparison dialog opens. It has no hard cap and widens as spells are added. If the Spell List Manager is detached, the comparison dialog opens in the same detached window.
Restoring a Modified List
Section titled “Restoring a Modified List”The Restore icon shows only when a modified duplicate has a drifted source.
- Select the modified list.
- Click Restore (sync).
- Confirm the prompt.
The duplicate’s system.spells is overwritten with the source list’s current system.spells. Any local edits are discarded. originalModTime and originalVersion are refreshed so Restore only re-appears when the source changes again.
Hiding vs Deleting
Section titled “Hiding vs Deleting”Every non-actor list row in the sidebar has an eye icon. Clicking it adds the list’s UUID to HIDDEN_SPELL_LISTS, moving the row to the Hidden Spell Lists folder. The document is untouched. Click the eye-slash icon in the Hidden Spell Lists folder to restore.
Stock lists are hidden automatically the first time you save edits to them.
Delete
Section titled “Delete”The Delete header button removes the list permanently from the custom pack. For modified duplicates, deletion also:
- Removes the entry from
CUSTOM_SPELL_MAPPINGSso the original UUID no longer redirects. - Removes the original UUID from
HIDDEN_SPELL_LISTS, restoring the stock list to the Spell Lists folder.
After deletion the sidebar returns to the list browser (not stuck in filter mode).
Deletion is irreversible. Prefer Hide for temporary removal.
Patterns
Section titled “Patterns”Class-Specific Tweaks
Section titled “Class-Specific Tweaks”- Select the stock class list.
- Add / remove spells, then Save. The module duplicates it into Modified Spell Lists, hides the original, and registers the duplicate.
- Assign the modified list to affected characters in Spell Book Settings, or rely on the registry registration.
The system original is preserved. You can always restore it by deleting the duplicate.
Subclass Additions
Section titled “Subclass Additions”Subclass assignment is explicit. Create a dedicated subclass list with the Subclass Spell List checkbox in Create, then in each character’s Spell Book Settings set:
Class Spell List→ the base class list.Subclass Spell List→ the new subclass list.
Conditional Availability
Section titled “Conditional Availability”Maintain a separate list for each condition and swap which is assigned in Spell Book Settings as conditions change. Avoid editing a single live list mid-session.
Testing Changes
Section titled “Testing Changes”- Assign the modified list to a test character via Spell Book Settings.
- Open the Spell Book on that character.
- Verify that visible/learnable/prepared spells match expectations.
- If a spell was added and the class label isn’t showing on its item sheet yet, confirm the list appears in the Modified Spell Lists folder and is registry-enabled.