
StatsMod - Comprehensive Server-Side Statistics
StatsMod brings in-depth player statistics to your Minecraft server! 🎮 This powerful server-side Fabric mod automatically tracks a wide array of player actions and provides a highly customizable system for viewing, ranking, and managing this data. From blocks broken to entities killed, time played to items crafted, StatsMod offers a rich statistical experience for players and robust administrative tools for server owners.
StatsSigns
Check out our addon mod, StatsSigns! Display dynamic player statistics on signs throughout your world.
Features
📊 Automatic & Detailed Stat Tracking
- Extensive Coverage: Automatically tracks statistics for:
- Blocks broken and placed
- Items picked up, crafted, smelted, brewed, enchanted, and used
- Mobs and players killed
- Deaths (with specific death reasons/killers)
- Crops harvested
- Animals bred
- Items fished
- Trades completed
- Damage dealt and taken
- Distance traveled (walked, sprinted, crouched, swum, flown, elytra)
- Time played
- Unique biomes visited
- Persistent Data: All player statistics are saved persistently, supporting both file-based (JSON) and SQLite database storage.
- Accuracy: Uses correct API and Yarn mappings for 100% working and accurate code.
⚙️ Highly Customizable Commands & Display
- Personal Profile (
/profile
): Players can view a summary of their key statistics, including totals and their top stat within various genres (e.g., "Most Mined", "Most Killed").- Example:
%mining_top_display_name%
and%mining_top_value%
show the most mined block and its count. - Displays formatted playtime (e.g., "1d 2h 3m 4s").
- Example:
- Genre-Specific Stats (
/mining
,/combat
, etc.): View detailed statistics categorized by genres like Mining, Combat, Crafting, Farming, and more.- Configurable in
genres.yml
andgenre_blocks.yml
to define which blocks/items/entities belong to each genre. - Supports aliases for genre commands (e.g.,
/smelted
for/smelting
).
- Configurable in
- Type-Specific Stats (
/broken
,/crafted
, etc.): Dive into stats for specific action types across all relevant items/blocks/entities.- Configurable in
types.yml
.
- Configurable in
- Detailed Biome List (
/biomes
): See a paginated list of all unique biomes a player has visited. - Leaderboards (
/top
): Display server-wide rankings for:- Genres: Top players for an entire genre (e.g.,
/top mining
). - Types: Top players for a specific stat type (e.g.,
/top broken
,/top killed
). - Individual Stats: Top players for any single stat key (e.g.,
/top played
,/top deaths
,/top broken:minecraft:stone
).
- Genres: Top players for an entire genre (e.g.,
- Interactive Text: All command outputs support Minecraft color codes, hex colors, formatting, hover text, and clickable actions (running commands, suggesting commands, opening URLs, copying to clipboard).
- Configured in
profile.yml
,genres.yml
,types.yml
, andtop.yml
. /stats
command provides a clickable help menu.
- Configured in
🛠️ Admin & Debug Tools
- Reload Configs (
/statsmod reload
): Instantly apply changes to configuration files without a server restart. - Debug Mode (
/statsmod debug
): Toggle verbose logging for troubleshooting. - Manual Stat Editing (
/statsmod set
): Set a player's specific statistic to any value. - Stat Resets (
/statsmod reset
):- Reset all stats for a specific player (
/statsmod reset player <player>
). - Reset stats for a specific genre for a player (
/statsmod reset player <player> genre <genre_id>
). - Reset stats for a specific genre for ALL players (
/statsmod reset server genre <genre_id>
). - Wipe all server stats (
/statsmod reset server all
).
- Reset all stats for a specific player (
- Data Migration (
/statsmod migrate
): Seamlessly transfer all player data from file storage to a configured database.
📜 Comprehensive Configuration
settings.yml
: General mod settings, including page sizes for commands and database connection details.genre_blocks.yml
: Defines lists of blocks, items, entities, and death reasons for genre categorization.genres.yml
: Configures display names, aliases, tracked blocks key, and command formatting for each genre.types.yml
: Configures display names and command formatting for each statistic type.top.yml
: Customizes header, line, and footer formats for/top
commands.profile.yml
: Defines the layout and content of the/profile
command output.stats_command.yml
: Configures the main/stats
help command's content.README.yml
: Automatically generated reference for all available placeholders.
Commands
/statsmod
,/sm
- Displays the main help interface./profile [player]
- Displays a player's comprehensive stats profile./top <identifier>
- Displays server-wide leaderboards for genres, types, or specific stats./<genre_id> [player] [page]
- e.g.,/mining
,/combat
. Displays detailed stats for a specific genre./<type_id> [player] [page]
- e.g.,/broken
,/crafted
. Displays detailed stats for a specific stat type./damaged [player]
- Displays total damage dealt and taken./flown [player]
- Displays creative and elytra flight distances./biomes [player] [page]
- Lists all unique biomes visited by a player.
Permissions
This mod integrates with the Fabric Permissions API (v0). A permissions plugin like LuckPerms is required for these nodes to function. Admin commands require a higher OP level if no permissions plugin is present.
Click to view all permission nodes and their descriptions
* `statsmod.player` - Grants access to all non-administrative commands. * `statsmod.admins` - Grants access to all admin commands. * `statsmod.command.base` - Allows use of the base `/statsmod` and `/sm` commands. **(Default: true)** * `statsmod.command.stats` - Allows use of the `/stats` command. * `statsmod.command.profile` - Allows use of `/profile` for self. * `statsmod.command.profiles` - Allows use of `/profile` for others. * `statsmod.command.others` - Allows viewing other players' stats in various commands. * `statsmod.genres` - Grants access to ALL genre commands (e.g., `/mining`). * `statsmod.types` - Grants access to ALL type commands (e.g., `/broken`). * `statsmod.genre.Available Placeholders
Click to view all available placeholders and their descriptions
### Player Specific * `%player%`: The name of the player. * `%played_formatted%`: Formatted time played (e.g., '1d 2h 3m 4s'). * `%mining_top_display_name%`: Name of the most mined block. * `%mining_top_value%`: Count of the most mined block. * `%combat_top_died_display_name%`: Name of the entity the player has died to the most. * `%combat_top_died_value%`: Count of deaths to the top entity. * *Other dynamic placeholders exist for other genres.* * Specific stat values: `%broken_value%`, `%placed_value%`, `%killed_value%`, etc. ### Command Context Specific * `%display_name%`: User-friendly name of the current item/block/entity. * `%stat_id%`: Full statistic ID (e.g., 'broken:minecraft:stone'). * `%item_id%`: Minecraft ID of the current item (e.g., 'minecraft:stone'). * `%value%`: Numerical value of the stat being displayed. * `%rank%`: Player's rank in a `/top` list. * `%genre_display_name%` / `%genre_id%`: Display name and ID of the current genre. * `%type_display_name%` / `%type_id%`: Display name and ID of the current type. * Pagination: `%current_page%`, `%total_pages%`, `%prev_page%`, `%next_page%`. ### Global Stat Totals * `%total_broken%`, `%total_placed%`, `%players_killed%`, `%deaths%`, `%total_crafted%`, `%total_smelted%`, `%total_brewed%`, `%total_enchanted%`, `%total_harvested%`, `%total_animals_bred%`, `%total_pickedup%`, `%total_fished%`, `%total_traded%`, `%damaged:dealt%`, `%damaged:taken%`, `%distance%`, `%biomes%`, `%flown%`, `%elytra%`. * Genre-specific totals: `%genre_total_broken%`, `%genre_total_placed%`, etc. ### Utility * `%newline%`: Forces a new line.Modpack Policy
- You ARE PERMITTED to include StatsMod in any modpack.
- Credit is appreciated but not strictly required.
- Please do not modify the mod's JAR file directly.
- The modpack itself, or access to this mod within the modpack, must not be sold.