Описание
## What's new in v1.3.0
- Multi-goal support: set up to 3 simultaneous goals tracked independently on the HUD
- Each goal shows its own progress counter and completion checkmark in the top-right overlay
- Drop rate display in session history: see the best items/break rate from block aggregates
- Session history now shows block type count alongside gained items
# 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 `startTime` string 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+**