MiningTop — Server-Side Mining Counter
Counts every block every player breaks.
MiningTop is a server-side Forge mod (clients don't need to install anything): every block a player breaks adds +1 to their counter, the data is saved with the world automatically, and the counts are synced live to the vanilla scoreboard so they can be shown above a player's head, in the sidebar, or in the Tab list. Perfect for mining competitions and survival-server leaderboards.
- Supported versions: Minecraft 1.7.10 and 1.12.2 (same features on both)
- Dependencies: None. No required mods, and nothing to install on the client.
Installation
- Download the jar that matches your game version (the version is in the file name — don't grab the wrong one)
- Drop it into the
mods/folder of your server and restart
- Single player / LAN: put it in
.minecraft/mods/instead, works the same
No configuration needed. It starts counting for every online player — and every player who joins later — right away.
Features
- Counts everything: survival, creative, any dimension, vanilla and modded blocks alike (blocks destroyed by explosions or fire are not counted)
- Purely server-side: clients install nothing, players don't need to sync anything
- Reliable data: counts are stored in the overworld at
data/miningtop_data.datand keyed by UUID — survives restarts, unaffected by name changes
- Per-block breakdown: besides the total, it records how many of each block type were mined (e.g. Stone ×1234)
- Vanilla scoreboard integration: counts are mirrored into a dummy objective named
mined, so you can use the vanilla/scoreboardcommand on it directly
- Near-zero overhead: each break is handled in microseconds, no log spam, no extra disk writes — no noticeable impact on TPS
- Bilingual: command output follows each player's client language (English / Chinese)
Display
Counts show below the player's name tag by default (belowName mode); OPs can switch this at any time with /mset:
|
Slot |
Effect |
|
|
Persistent number under the player's name (default) |
|
|
Leaderboard on the right side of the screen, auto-sorted; |
|
|
Number shown after the name in the Tab player list |
|
|
Hidden (still counting in the background) |
Commands
|
Command |
Permission |
Description |
|
|
Everyone |
Show mining stats (total + top 5 most-mined blocks); works for offline players |
|
|
Everyone |
Server-wide leaderboard, 10 players per page |
|
|
OP |
Change the scoreboard title (sidebar header / belowName label); |
|
|
OP |
Set a player's nickname (works offline) for the sidebar and leaderboard; omit the name to query |
|
|
OP |
Switch where counts are displayed; default is |
|
|
OP |
Reset one player's stats or everyone's |
Examples:
Use cases
- Mining contests:
/mset sidebarplus a custom/mnametitle for a live ranking
- Survival servers: keep it on belowName, and run
/mreset allweekly for a new season
- Single player: single-player worlds run an integrated server, so everything works identically; open to LAN and it counts everyone who joins
Known limitations
- Nicknames (
/mnick) only apply to the sidebar: belowName and the Tab list are matched by the client against the real player ID and can't be replaced (client-side limitation)
- Only blocks broken by a player's own hands count. Blocks destroyed by TNT, pistons, or fire don't (so the leaderboard can't be farmed with TNT)
- In 1.7.10 each dimension has its own scoreboard instance; the mod syncs all of them. 1.12.2 shares a single server-side scoreboard, so this is a non-issue there
<strong>How it works (for the curious)</strong>
BlockBreakHandler: listens to the server-sideBlockEvent.BreakEvent(only fires for blocks broken by a player) and writes the count
MiningData: extendsWorldSavedData, saved/loaded with the world, keyed by UUID
ScoreboardSync: mirrors the counts into the vanilla objectiveminedand syncs it across every loaded world's scoreboard- Data is categorized by block id (e.g.
minecraft:stone), so vanilla and modded blocks both work

