promotional bannermobile promotional banner
premium banner
Adds multiple stories to discover throughout the world—in chest loot, with per-player progression. The world is full of half-told tales; find them in chests and piece each story together at your own pace.

Description

Dead Letters


Turns loot chests into scattered archives of final words. Each note belongs to a story; you collect parts in order per player while many stories run in parallel—no checklist grind, just fragments you chase across the world.


You can add custom stories without building a datapack:
Put folders in config/deadletters/stories// with story.json and part_1.txt, part_2.txt, … or part_N.json (simple .txt mode: first line is title; remaining non-empty lines are body). Restart or run /reload.
The default root is config/deadletters/stories (change customStories.path in the common config if you want another folder under config/).
Extra stories for pack authors: add data//deadletters/stories/<story_id>/ with story.json and notes/part_N.json, or ship the same folder layout under config for players.


How it works:
Dead Letters loads built-in jar stories plus datapack and config stories on reload, merges them into one registry, and rolls weighted note drops when loot applies. With progression enabled, story order advances when you read a part; loot eligibility follows that progression (and duplicate rules). Chest note injection runs once the scrapbook is unlocked—usually your first opened chest can place the starter book (configurable). Options cover spawn chance, chest caps, duplicates, multi-story rolls, first Lootr chest and starter-scrapbook behaviour, part-weight tuning, custom story paths, and debug tooling.

Lootr fit: notes behave as normal loot; Lootr chests stay per-player, so drops respect each listener’s own progression. Lootr Liaison keeps structure container finalization stable in Lootr packs—run both for the intended stack.


How to use it:
Unlock the scrapbook (pick it up from a chest or keep it in inventory—see defaults in config). Then loot chests for a chance at notes, use the Dead Letters creative tab for any loaded part, right-click a note for the parchment reader, place notes in the world or on lecterns, and use Add to Notebook from a note to archive a copy. Long notes paginate; turn pages with the arrow buttons beside the parchment (arrows hide when there is no previous or next page).

Further options: config/dead_letters-common.toml—general.spawnChance, maxNotesPerChest, useProgression, allowDuplicates, partOneDropWeight, finalPartDropWeight, guaranteeFirstLootrChest, guaranteeStarterScrapbookFirstChest; stories.enableMultipleStories; customStories.; debug.


Server commands (cheats / operator):
/deadletters debug stories — list loaded stories and note counts
/deadletters debug state — show progression snapshot for the caller
/deadletters debug reset — clear saved progression and container stamps (testing)
/deadletters debug roll — simulate weighted rolls against the current pool (1–5000)
/deadletters debug give — give one note by id (e.g. code_zero_01)


Dependencies:
Required: Lootr, Lootr Liaison, AzureLib

Dead Letters does not replace Lootr—it adds narrative fragments, per-player story order, a scrapbook archive flow, and readable note UI on top of per-player chest loot.