Download StatsMod — Minecraft Mods — MetaMods

StatsMod

Active

Downloads

0

Last update

1 month ago

Versions

1.21.6 — 1.21.8
Client
Fabric
Game mechanics
Libraries
Control

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").
  • Genre-Specific Stats (/mining, /combat, etc.): View detailed statistics categorized by genres like Mining, Combat, Crafting, Farming, and more.
    • Configurable in genres.yml and genre_blocks.yml to define which blocks/items/entities belong to each genre.
    • Supports aliases for genre commands (e.g., /smelted for /smelting).
  • Type-Specific Stats (/broken, /crafted, etc.): Dive into stats for specific action types across all relevant items/blocks/entities.
    • Configurable in types.yml.
  • 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).
  • 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, and top.yml.
    • /stats command provides a clickable help menu.

🛠️ 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).
  • 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.` - Allows access to a specific genre command (e.g., `statsmod.genre.mining`). * `statsmod.type.` - Allows access to a specific type command (e.g., `statsmod.type.damaged`). * `statsmod.admin.reload` - Allows use of `/statsmod reload`. * `statsmod.admin.debug` - Allows use of `/statsmod debug`. * `statsmod.admin.migrate` - Allows use of `/statsmod migrate`. * `statsmod.admin.set` - Allows use of `/statsmod set`. * `statsmod.admin.reset.player` - Allows resetting all stats for a player. * `statsmod.admin.reset.genre` - Allows resetting a genre's stats. * `statsmod.admin.reset.all` - Allows wiping all server stats.

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.