
CrystalCounter
Fast, server-authoritative End Crystal tracking with an in-game stats GUI, MySQL/SQLite support, and PlaceholderAPI integration for Paper/Spigot.
CrystalCounter
Track End Crystal placements and breaks in real-time with zero lag! Built specifically for competitive PvP, Anarchy, and Crystal PvP servers, CrystalCounter delivers server-authoritative tracking, zero-impact asynchronous database handling, and an interactive stats interface for your players.
Works completely server-side—no client mods required!
Features
- Server-Authoritative Tracking: Prevents client-side spoofing, ghost counting, and fake statistics during rapid combat.
- Interactive Stats GUI: Run
/cstatsto open a sleek in-game chest menu displaying total placements, breaks, and placement-to-break ratios. - Dual Storage Engines: Out-of-the-box support for lightweight SQLite (zero setup) and high-performance MySQL for multi-server networks.
- PlaceholderAPI Integration: Display player stats directly on scoreboards, tablists, hover messages, and chat formats.
- Fully Asynchronous: Database reads, flushes, and calculations run completely off the main tick thread to keep TPS rock-solid.
Commands & Permissions
| Command | Permission | Short Description |
|---|---|---|
/cstats | crystalcounter.stats | Open your personal crystal statistics GUI |
/cstats <player> | crystalcounter.stats.others | Inspect another online or offline player's stats |
/cstats reload | crystalcounter.reload | Reload configuration files and database connections |
/cstats reset <player> | crystalcounter.admin.reset | Clear all recorded statistics for a player |
General Settings (config.yml)
Configure core tracking behavior and performance options directly in your configuration file:
| Setting | Description | Default |
|---|---|---|
database.type | Select storage backend (SQLITE or MYSQL) | SQLITE |
tracking.track-placements | Count every End Crystal placed by players | true |
tracking.track-breaks | Count every End Crystal detonated by players | true |
gui.title | Display header title for the /cstats menu | &d&lCrystal Statistics |
performance.cache-interval | Time in seconds before stats flush to the database | 300 |
PlaceholderAPI Support
Expose live player data anywhere across your server setup with built-in PAPI expansions:
%crystalcounter_placed%— Returns total crystals placed by the player.%crystalcounter_broken%— Returns total crystals broken/exploded by the player.%crystalcounter_ratio%— Returns the calculated placement-to-break ratio (K/D style).
Important Advice
- Network Syncing: When using MySQL across multiple sub-servers (e.g., BungeeCord / Velocity network), ensure all instances point to the same database schema for automatic cross-server stat syncing.
- Compatibility: Native for Paper, Spigot, and Purpur on Minecraft 1.20+ running Java 21.
Сервер для плагина CrystalCounter - как у профи
Плагин CrystalCounter создан для серверов: на своём сервере вы настраиваете его под себя и решаете, кому играть. Создать сервер с плагином CrystalCounter для друзей можно за пару минут - BungeeHost всё уже подготовил.
