

StatsSigns - Dynamic In-World Statistic Displays
StatsSigns integrates seamlessly with StatsMod to bring your server's detailed player statistics directly into the game world! This Fabric mod allows server owners to create highly customizable and interactive signs that display live leaderboards, individual player profiles, and specific stat totals. From showcasing the top miners to displaying a player's total deaths, StatsSigns provides engaging visual data and clickable actions, enhancing the player experience and offering a powerful administrative tool for server analytics.
REQUIRES StatsMod
Features
Dynamic & Customizable Sign Displays
- Live Updates: Signs automatically refresh with the latest statistics at a configurable interval.
- Extensive Stat Integration: Pulls any statistic tracked by StatsMod, including:
- Blocks broken/placed
- Items crafted/used/picked up
- Mobs/players killed
- Deaths
- Distance traveled
- Time played
- And many more!
- Customizable Formats: Fully configure the appearance of each sign type using YAML configuration files.
- Standard & Hanging Sign Support: Works with both regular and hanging signs, with separate customizable formats for each.
- Accuracy: Uses correct API and Yarn mappings for 100% working and accurate code.
Diverse Sign Types
- Leaderboard Signs: Display ranked lists of players for any StatsMod statistic, genre, or type.
- Generic Leaderboards: Show top players for a genre (e.g., "Mining") or type (e.g., "Broken").
- Specific Item/Entity Leaderboards: Create leaderboards for individual items, blocks, or entities (e.g., most "minecraft:stone" broken, most "minecraft:zombie" killed).
- Player Profile Signs: Showcase various statistics for a specific player.
- Can be configured to display general player stats (e.g., total deaths, playtime).
- Can display genre-specific totals for a player (e.g., total blocks broken in the "Mining" genre).
- Digit Rank Signs: Dedicate a sign to a single rank on a leaderboard (e.g., "Top Player #1 for Mining").
- Follower Signs: Extend leaderboards over multiple signs, allowing for longer rankings or multi-line displays. Follower signs automatically link to a "master" sign through directional paths (e.g.,
>>
,^
).- Supports chaining up to 30 signs deep.
- A master sign can have up to 5 direct children.
Interactive Elements & Placeholders
- Clickable Actions: Configure signs to execute commands (e.g.,
/profile %player%
), suggest commands, open URLs, or copy text to clipboard when clicked. - Hover Text: Add rich hover-over text to sign lines for additional information.
- Color & Formatting: Full support for Minecraft color codes (
&c
), hex colors (&#RRGGBB
), and formatting (&l
,&o
). - Extensive Placeholders: Dynamic placeholders automatically populate sign text with player names, stat values, ranks, and other contextual information:
%playerX%
: Player name at rank X.%valueX%
: Stat value at rank X.%display_name%
: Name of the stat/item/entity.%stat_type_display_name%
: Specific type of stat (e.g., "Broken", "Placed").%player%
: The player's name for profile signs.%total_deaths%
,%damage_dealt%
, etc.: Specific stat totals for player profiles.%genre_total_broken%
,%genre_total_placed%
, etc.: Genre-specific totals for player profiles.%rank%
,%genre%
,%type%
for digit signs.
Admin & Management Tools
- Easy Sign Creation: Create or convert any placed sign into a StatsSign using a simple command while looking at it:
/signstat [StatsMod] <line2> [line3] [line4]
.- Automatically determines the initial command for the sign based on its type.
- Sign Modification: Modify existing StatsSigns by editing their text in-game or by using
/signstat
.- Requires permission to modify.
- Glow Ink Sac Support: Toggle glow effect on StatsSigns using a Glow Ink Sac.
- Automated & Manual Updates:
- Configurable automatic updates for all signs at a set interval (e.g., every 10 minutes).
- Force an immediate update of all signs with
/statssigns signupdate
.
- Recursive Deletion: Breaking a master sign automatically breaks all its linked follower signs.
- Persistent Storage: All sign data (type, lines, linked signs, glowing status) is saved persistently to
data/statssigns.json
. - Reload Configs (
/statssigns reload
): Apply changes to configuration files instantly without a server restart.
Configuration
settings.yml
: General mod settings, including the update interval for signs.genre_signs.yml
: Defines formats for signs displaying genre-specific leaderboards.type_signs.yml
: Defines formats for signs displaying type-specific leaderboards.detailed_formats.yml
: Configures formats for player profiles, single-rank digit signs, and multi-stat item/entity signs.hanging_genre_signs.yml
,hanging_type_signs.yml
,hanging_detailed_formats.yml
: Separate configurations for hanging signs.README.yml
: An automatically generated reference for all available placeholders, sign types, and command usage.
Permissions Support
- Integrates with the Fabric Permissions API (v0).
- Requires a compatible permissions manager (e.g., LuckPerms) for permission nodes to function effectively.
- If no permissions mod is found, permissions fall back to operator levels. Most player-facing actions (like clicking a sign with a command) default to OP level 0, creation/modification commands default to OP level 1-2, and admin commands (
/ss reload
,/ss signupdate
) default to OP level 4.
Commands
/statssigns
,/ss
(Displays the main help interface with clickable navigation)/statssigns page <number>
(Navigates through help pages)/statssigns reload
(Reloads all StatsSigns configurations)/statssigns signupdate
(Forces an update on all stat signs)/signstat [StatsMod] <line2> [line3] [line4]
(Sets a sign's text and updates its config. Must be looking at a sign)
Available Placeholders
Click to view all available placeholders and their descriptions
### Leaderboard Placeholders (for Leaderboard, Multi-Stat, and Digit Rank Signs): * `%display_name%`: The name of the stat genre/type/item (e.g., 'Mining', 'Broken', 'Stone'). * `%stat_type_display_name%`: The specific type of stat being displayed (e.g., 'Broken', 'Placed', 'Killed'). * `%playerX%`: The player name at rank X (e.g., %player1%, %player5%). * `%valueX%`: The statistic value at rank X (e.g., %value1%, %value5%). * `%rank%`: The rank number for single-rank signs (e.g., #1, #5). * `%genre%`: The display name of the genre for digit signs. * `%type%`: The display name of the type for digit signs. ### Player Profile Placeholders (for Player Profile Signs): * `%player%`: The name of the player the sign is tracking. * `%played%`: Formatted time played (e.g., 2h 30m). * `%deaths%`: Total deaths for the player. * `%players_killed%`: Total players killed by this player. * `%total_mobs_killed%`: Total mobs killed by this player. * `%damage_dealt%`: Total damage dealt. * `%damage_taken%`: Total damage taken. * `%elytra%`: Total distance flown with an elytra. ### Genre Total Placeholders (for Player Profile Signs in a genre context): * `%genre_total_broken%`: Total blocks broken within the specified genre. * `%genre_total_placed%`: Total blocks placed within the specified genre. * `%genre_total_pickedup%`: Total items picked up within the specified genre. * `%genre_total_harvested%`: Total crops harvested within the specified genre. * *(Note: For genres with standalone default stats like 'combat' (defaulting to 'total_mobs_killed'), use the direct standalone placeholder, e.g., `%total_mobs_killed%`)*. ### Multi-Stat Placeholders (for specific item/entity signs): * `%playerX:stat%`: Player at rank X for a specific stat (e.g., %player1:broken%). * `%valueX:stat%`: Value at rank X for a specific stat (e.g., %value1:placed%).Permissions
Click to view all permission nodes and their descriptions
* `statsmod.admin`: Grants all permissions for StatsSigns. * `statsmod.createsign`: Allows creating general, non-player-specific StatsSigns. * `statsmod.create.self`: Allows creating any sign type that displays the creator's own statistics. * `statsmod.create.others`: Allows creating any sign type that displays another player's statistics. * `statsmod.create.profile`: Allows creating a Player profile sign for oneself. * `statsmod.create.profiles`: Allows creating a Player profile sign for any player. * `statsmod.removesign`: Allows breaking/removing a StatsSign. * `statsmod.modifysign`: Allows modifying a StatsSign with external commands. * `statsmod.glowsign`: Allows toggling the glow effect on a StatsSign with Glow Ink Sacs. * `statsmod.signcommand`: Allows executing a command by clicking a sign. * `statsmod.reloadsign`: Allows usage of the `/statssigns reload` command. * `statsmod.updatesign`: Allows forcing a manual update of all stat signs.Modpack Policy
- You ARE PERMITTED to include StatsSigns 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.