FrozenStats
PluginLicenseRef-All-Rights-Reserved

FrozenStats

The ultimate replica of DonutSMP Stats

369
Downloads
1
Followers
2 months ago
Updated
📦
1
Versions

📖About FrozenStats

FrozenStats ❄️

A stats GUI plugin for Minecraft — styled like DonutSMP Stats.
Built with Maven, using the exact same architecture as the original DonutStats source.


Supported Versions

  • Minecraft 1.21 – 1.21.11

Supported Server Software

Software Supported
Paper
Spigot
Purpur
Folia ✅ (folia-supported: true)

Features

  • Stats GUI identical to DonutSMP (Money, Total Money Paid, Kills, Deaths, Playtime, Blocks, Mobs, Shop stats)
  • Shards replaced with "Total Money Paid" — tracks the lifetime total of all Vault deposits made to the player
  • Full &#RRGGBB hex colour support in all config text
  • PlaceholderAPI support — every lore line runs through PAPI
  • Configurable sounds (all keys are registry-safe for 1.21)
  • /stats, /stats <player>, /stats reload
  • Offline player support + tab completion with offline player cache

Commands & Permissions

Command Permission Default
/stats stats.use true
/stats <player> stats.other op
/stats reload stats.reload op

Soft Dependencies

  • PlaceholderAPI — for all %holorams_*%, %donutshop_*%, %donutsell_*%, and %frozenstats_*% placeholders
  • Vault — for current balance display and lifetime total-paid tracking

Total Money Paid — How it Works

FrozenStats tracks the cumulative total money ever paid/deposited to each player via Vault.

Data is stored in plugins/FrozenStats/data/totalpaid.yml (UUID → double).

PlaceholderAPI placeholders

Placeholder Description
%frozenstats_total_paid% Vault-formatted total (e.g. $1,234.56)
%frozenstats_total_paid_short% Short form (e.g. 1.2k, 3.4M)
%frozenstats_total_paid_raw% Raw double value

Recording payments from another plugin

If you have a custom shop or reward plugin, call FrozenStats' API to record each payment:

Plugin fs = Bukkit.getPluginManager().getPlugin("FrozenStats");
if (fs instanceof FrozenStats frozenStats) {
    frozenStats.recordPayment(player.getUniqueId(), amount);
}

Config Files

File Purpose
config.yml Messages & sound keys
gui.yml All GUI items (rows, title, slots, materials, names, lore)
data/totalpaid.yml Auto-generated — stores lifetime payment data per UUID