Loot Journal
Track what you get from every block you break. Loot Journal silently monitors your inventory and attributes item pickups to the blocks that caused them — then exports the results as clean JSON when your session ends.
Built for block randomizer speedruns, but useful for anyone who wants to know what they're actually getting from mining.
What's new in 1.2.0
- Chest & Container Tracking — items picked up while a container is open (chests, barrels, etc.) are now tracked separately and shown in the session summary as a "Containers" line, so loot from chests is never mixed in with block drops
- Goal / Target Tracking — set an item goal (e.g. "diamond x64") via the new Loot Goal screen; a small HUD overlay in the top-right corner shows live progress, and a chat message fires when you hit the target
What's new in 1.1.1
Bug fixes for the three features added in v1.1.0:
- Fixed crash when a mob entity ID had an empty name after the colon (e.g. malformed registry entries) in the Session History mob kill summary
- Fixed misleading "Click a session to see details" hint showing in the detail panel when there are no saved sessions to click
- Fixed potential crash from a malformed
startTimestring in the session history list — now falls back to the raw string gracefully
What's new in 1.1.0
- Session timer — elapsed time shown in every disconnect report
- Mob kill tracking — total mobs killed per session, broken down by type (singleplayer and LAN only)
- Session History Screen — browse past sessions in-game without leaving the world
Features
Drop Attribution
Every block break opens a short attribution window. Items gained from your inventory within that window are linked to the block just broken. Mine quickly and multiple pending breaks are tracked concurrently.
Session Tracking
A session starts automatically when you join a world or server, and ends when you disconnect. On disconnect you get a chat summary:
- All items gained and lost
- XP earned
- Session timer — elapsed time shown in every report
- Mob kills — total mobs killed per session, broken down by type
- Container loot — items picked up from chests/containers shown separately
- Number of block types broken
Chest & Container Tracking (New in 1.2.0)
Items picked up while any container screen is open (chest, barrel, furnace, etc.) are attributed to a separate "Containers" bucket so they're never confused with block drops. The session summary prints a dedicated "Containers" line when container loot was collected.
Goal / Target Tracking (New in 1.2.0)
Set a loot goal from the new Loot Goal screen (bind a key in Controls > Loot Journal):
- Type any item name (e.g.
diamond,iron_ingot) and set a target count - A small overlay in the top-right of your HUD shows live session progress
- A chat message fires once when the goal is reached
- Goal persists across sessions; clear it any time from the Goal screen
Session History Screen (New in 1.1.0)
Browse your past sessions without leaving the game. Open the history screen with a keybind (unbound by default) to see:
- Date, world name, and session duration
- Items gained, mob kills, XP, and blocks broken
- Click any session row to expand its details
Mob Kill Tracking (New in 1.1.0)
Every mob death is recorded per session. The summary shows a breakdown by mob type — useful for tracking combat-heavy sessions or drop rates from mobs.
JSON Export
Session data is saved to loot-journal/sessions/session-YYYY-MM-DD-HH-mm-ss.json. A running statistics.json file accumulates drop counts and computed drop frequencies per block type across all sessions.
Block Randomizer Mode
A dedicated mode for block randomizer challenge runs:
- Restricts to one pending break at a time so drops are never mixed up
- Shows a live chat line per break —
[Randomizer] grass block → dirt x1, seeds x2 - Enforces a wider attribution window to handle server loot table delay
In-Game Config Screen
All settings adjustable in-game without restarting. Open with a configurable keybind.
Keybinds
| Action | Default |
|---|---|
| Show mid-session report | J |
| Open settings | (unbound) |
| Open session history | (unbound) |
| Open loot goal | (unbound) |
Output Files
Located under .minecraft/loot-journal/:
| File | Contents |
|---|---|
sessions/session-*.json | Per-session item gains/losses, mob kills, block aggregates, XP, duration |
statistics.json | Cumulative drop counts and drop frequencies per block type |
Configuration
| Setting | Default | Description |
|---|---|---|
enabled | true | Master on/off switch |
attributionWindowTicks | 60 | Ticks after a break to collect drops (~3 seconds) |
blockRandomizerMode | false | Enable block randomizer mode |
brFeedbackInChat | true | Per-break chat lines in BR mode |
writeSessionJson | true | Save per-session JSON file |
writeStatisticsJson | true | Update cumulative statistics file |
writeBreakEvents | false | Include per-break event data in session JSON |
showSummaryOnDisconnect | true | Print summary to chat on disconnect |
Requirements
Fabric (1.21.1 & 1.21.11)
- Fabric Loader 0.19.2+
- Fabric API
NeoForge (1.21.1, 1.21.11 & 26.1)
- NeoForge 21.1.172+

