Configurable shard-style currency: earn in AFK (WorldGuard) zones or everywhere, kill and optional playtime/daily rewards, GUI shop and leaderboard, player pay, personal and global boosters, admin tools, and PlaceholderAPI hooks—all backed by SQLite or MySQL.
Paper and Folia 1.21 - 26.x
Support
Report bugs and get support here: https://discord.gg/VvM6k2eBDa
Features
• Folia support – Region-safe earn payouts (including optional console command payout mode), async export/import, and scheduler usage compatible with Folia
• Configurable currency name – Renames the currency in messages; when not “Shards”, registers matching root and shop command aliases (e.g. gems / gemshop) alongside /shards and /shardshop
• Database balances – SQLite by default or MySQL with HikariCP pool settings; transaction log for credits and debits
• AFK shard generation – Optional WorldGuard region requirement, legacy region list or multi-zone afk-zones with per-zone capacity and teleport, action bar countdown, in-zone hologram/subtitle overlay, optional stand-still delay, permission-based earn-anywhere and configurable gen multipliers (2x–5x)
• Kill rewards – Base amount, first-kill-of-day bonus, optional 2x/3x permission multipliers, same-IP anti-abuse cooldown
• Optional playtime and daily login rewards – Interval and amounts from config; daily streak bonus caps
• Earn payout routing – Credit internal shard balance, Vault deposit, or run console commands with placeholders (Folia-safe when using console mode)
• Shop – GUI from gui/shop.yml; prices in shard (or Vault if shop-currency is vault); runs configurable console commands per item (e.g. give spawners)
• Player pay – Optional /shards pay (player) (amount) when internal or Vault shop currency is used as designed for pay
• Leaderboard – Cached top list with configurable refresh; opens from /shards leaderboard
• Boosters – Personal booster items (right-click) and global server boosters from config; admin give/activate/list and player status
• AFK teleport – /afk opens multi-area selector GUI or teleports to a random non-full zone; cooldown, countdown, optional custom spawn set in-game
• Admin maintenance – Reload, set/add AFK regions, AFK zone CRUD, balance stats, give/giveall/remove, paginated history, CSV/JSON export and import
• API – Bukkit ServicesManager registration for PerfShardsAPI
Placeholders
%perfshards_balance% – Player balance (Vault balance when shop-currency is vault, else DB shards)
%perfshards_balance_formatted% – Same balance with K/M/B style compact formatting
%perfshards_rank% – Player’s 1-based rank on cached leaderboard, or “-” if not in list
%perfshards_leaderboard_(number)% / %perfshards_lb_(number)% – Line for rank n: “Name: amount”
%perfshards_top_(number)% – Same combined line for rank n (legacy-style)
%perfshards_top_(number)_name% – Name at rank n
%perfshards_top_(number)value% / %perfshards_top(number)_shards% – Amount at rank n
%perfshards_next_daily% – Seconds until next daily claim window (0 if already claimed today)
%perfshards_streak% – Current daily login streak days
%perfshards_afk_rate% – Estimated shards per minute from shard-delay and shards-per-tick
Commands
/shards – Show your balance, or open shop when using the shop-only alias command (perfshards.use)
/shards shop – Open the shard shop GUI (perfshards.use)
/shards balance – Show your balance (perfshards.use)
/shards balance (player) – Show another player’s balance (perfshards.admin)
/shards pay (player) (amount) – Pay an online player (perfshards.use, when pay-command is enabled)
/shards leaderboard – Open top balances GUI (perfshards.use)
/shardshop – Open the shard shop GUI (perfshards.use)
/afk – Open AFK area selector or teleport to an AFK zone (perfshards.afk)
/perfshards reload – Reload config and related state (perfshards.admin)
/perfshards help – Show admin usage (perfshards.admin)
/perfshards setregion (name) – Replace legacy AFK WorldGuard region list with one region (perfshards.admin)
/perfshards addregion (name) – Append a WorldGuard region to legacy AFK list (perfshards.admin)
/perfshards afksetspawn – Save standing location as custom /afk teleport target (perfshards.admin)
/perfshards afkzone set (id) – Create or update an AFK zone id at your location (perfshards.admin)
/perfshards afkzone addregion (id) (region) – Add a WorldGuard region to a zone (perfshards.admin)
/perfshards afkzone capacity (id) (capacity) – Set max players for a zone (perfshards.admin)
/perfshards afkzone delete (id) – Remove a zone (perfshards.admin)
/perfshards afkzone list – List configured AFK zones (perfshards.admin)
/perfshards stats (player) – Show shard balance for a player (perfshards.admin)
/perfshards give (player) (amount) – Add shards to online or offline player (perfshards.admin)
/perfshards giveall (amount) – Give shards to all online players (perfshards.admin)
/perfshards remove (player) (amount) – Remove shards (alias take) (perfshards.admin)
/perfshards take (player) (amount) – Same as remove (perfshards.admin)
/perfshards history (player) [page] – Paginated transaction log (perfshards.admin)
/perfshards booster give (player) (boosterId) [stackSize] – Give personal booster items (perfshards.admin)
/perfshards booster activate (globalId) – Activate a global server booster (perfshards.admin)
/perfshards booster list – List configured booster ids (perfshards.admin)
/perfshards booster status – Show your active boosters (perfshards.admin, player-only for status display)
/perfshards export [csv|json] – Export all balances to exports folder (perfshards.admin)
/perfshards import (fileName) – Import balances from CSV in exports or data folder (perfshards.admin)
Database
• SQLite
• MySQL
