
Description
Chest DNA

Records where every item came from and shows it in the item's tooltip.


Open a chest and you get loot with no story. Chest DNA fixes that: the moment an item is created it gets an origin stamped onto it, and that stamp travels with the item for the rest of its life.

What it does
Whenever an item enters the world - looted from a chest, dropped by a mob, bought from a villager, fished up, crafted, smelted or mined - Chest DNA attaches an origin to it containing:

- Source - village, dungeon, End City, ancient city, mob, trade, workbench, …
- Detail - the loot table it rolled from, or the entity that dropped it
- Biome and dimension it came from
- Coordinates of the exact spot
- Structure it was found inside, when there is one
- Who obtained it, by name
This is stored as a real data component, so it survives world saves, shulker boxes, ender chests and multiplayer - and it is readable by commands, datapacks and other mods.
What it looks like
Hovering the item draws a pixel-art card under the normal tooltip, drawn one pixel at a time with no textures, so it stays crisp at every GUI scale:
- source name on top, tier stamped underneath
- frame colour by rarity - grey for a village chest, gold with shimmer pixels crawling around the border for an End City, an ancient city or an ominous vault
- an animated DNA helix down the left edge
- one glance by default; hold Shift for biome, dimension, coordinates and finder
- ids are shown only with advanced tooltips (F3+H), like vanilla
The card sizes itself against the screen: long values wrap, it never grows wider or taller than it has to, and it reports its real size so the tooltip always stays on screen.
Sources it recognises
| Group | Covered |
|---|---|
| Structure chests | village, dungeon, mineshaft, stronghold, nether fortress, bastion, End City, ancient city, woodland mansion, trial chambers, ominous vaults, shipwreck, buried treasure, desert pyramid, jungle temple, igloo, ruined portal, pillager outpost, ocean ruins, bonus chest |
| Creatures | mob drops, boss drops, shearing, cat and sniffer gifts, hero of the village |
| Player actions | crafting, smelting, villager and wandering trader trades, fishing, archaeology, creative menu |
| Mining | every block you break |
36 origin types in total, each with its own name, glyph and rarity tier.
It does not get in your way
- Stacking is unchanged. Two items that differ only in their DNA still stack exactly like vanilla, so a looted cobblestone does not fragment your inventory.
- The first source wins. An item is stamped once, when it is created, and never overwritten.
- Cheap. One component write per generated item; the structure lookup is skipped for mined blocks so breaking blocks costs nothing measurable.
- Configurable. Every source group can be turned off, and so can coordinates, biome, structure and player name if you do not want that data recorded at all.
Commands
/chestdna inspect- print the full DNA of the item in your hand/chestdna clear- wipe the DNA of the held item (gamemaster permission)
For mod authors
The whole system is an open API - see the README for code samples:
- register your own origin types with their own glyph, colour and tier
- claim your own loot tables, or override what Chest DNA says about vanilla ones
- rewrite or veto a stamp before it is written, or listen for stamps
- add lines to the card, or replace its theme entirely
- a
chestdnaentrypoint so your add-on loads at the right moment
Requirements
Minecraft 26.2 - Fabric Loader 0.19.3+ - Fabric API - Java 25.
Chest DNA installs on either side and never blocks a connection. The server does the recording, the client does the drawing, so what you get depends on where it is installed:
| Setup | Result |
|---|---|
| Singleplayer | Everything works, the integrated server records. |
| Client and server | Everything works. |
| Client only, server without the mod | You can join normally. Tested against a plain vanilla 26.2 dedicated server: the client connects and plays with no errors. Nothing is recorded though, because recording is server side, so no cards appear. |
| Server only | Origins are recorded and /chestdna inspect works. Players need the mod to see the cards, so keep it optional for them or hand it out. |
Optional on the client, optional on the server, useful on both.







