COWMODSКаталог модов

NDPlayerStats

✨ Track and display player stats – kills, deaths, killstreak, KD ratio, play time, and more features ✨

Автор: Kubass1,5 тыс.0обновлён 25 сент. 2026 г.
Механики игрыОбщениеУтилиты

Описание

📊 NDplayerStats

NDplayerStats is a powerful and lightweight Minecraft plugin that tracks player statistics including Kills, Deaths, KD Ratio, Killstreaks, Play Time, and detailed Death Tracking.

Older Versions (SpigotMC): Older releases and historical builds are archived on SpigotMC Resource Page.


Need a Minecraft Server?

Looking for a reliable host to run NDplayerStats? Check out CraftNode / CraftNode.org! High-performance servers, instant setup, and 24/7 support. Use code KUBASS7 for 7% off!

CraftNode Hosting

Need more players?

Get your server listed on Minecraft server list – MCindex.eu! Completely free, easy to set up, and a great way to attract new players to your server. Join the community and start growing today!

MCindex

It's ideal for competitive, PvP, or survival servers that want to give players personal insights, leaderboard rankings, and visible rank prefixes.


Features

Statistics Tracking

  • Kills – Total kills (PvP + PvE combined)
  • PvP Kills – Kills against players
  • PvE Kills – Kills against mobs/animals
  • Deaths – Total deaths with detailed breakdown:
    • PvP Deaths
    • PvE Deaths (mobs/animals)
  • Killstreak – Current and highest killstreak
  • KD Ratio – Kill/Death ratio
  • Play Time – Total play time tracked per player
  • Player Rank – Global ranking based on kills

Commands

CommandDescriptionPermission
/stats [player]View player statistics in chatndplayerstats.stats
/statsgui [player]Open statistics GUIndplayerstats.statsgui
/leaderboard [kills|kd|playtime] <page>Show leaderboard with paginationndplayerstats.leaderboard
/resetstats <player>Reset a player's statisticsndplayerstats.reset
/resetstatsall confirmReset ALL players' statisticsndplayerstats.resetall
/ndps <help|info|reload|lookup|update>Admin commandsndplayerstats.admin

Permissions

PermissionDefaultDescription
ndplayerstats.statsEveryone (true)Use /stats command
ndplayerstats.statsguiOperators (op)Use /statsgui command
ndplayerstats.resetOperators (op)Use /resetstats command
ndplayerstats.resetallOperators (op)Use /resetstatsall command
ndplayerstats.leaderboardEveryone (true)Use /leaderboard command
ndplayerstats.adminOperators (op)Use /ndps admin commands
ndplayerstats.antiabuse.bypassOperators (op)Bypass anti-kill abuse protection

Leaderboard

  • Customizable size (default: 10 players)
  • Custom rank colors for each position (#1 Gold, #2 Silver, #3 Bronze, etc.)
  • Pagination support – /leaderboard kills 2, /leaderboard kd 1
  • Default mode – choose between kills, kd or playtime in config
  • Auto-updating cache for performance
  • Rank prefixes visible in chat, nametag, and tablist via PlaceholderAPI

GUI

  • Interactive statistics GUI
  • Click the player head to refresh stats
  • Fully customizable layout and items in config.yml

Anti-Kill Abuse

  • Prevents kill farming against the same player
  • Time-window mode with configurable limits
  • Notifications for killer and victim
  • Bypass permission: ndplayerstats.antiabuse.bypass
  • World restrictions support

🔌 PlaceholderAPI Support

PlaceholderDescription
%ndplayerstats_kills%PvP kills only
%ndplayerstats_pvp_kills%PvP kills only
%ndplayerstats_pve_kills%PvE kills only
%ndplayerstats_all_kills%Total kills (PvP + PvE)
%ndplayerstats_deaths%Total deaths
%ndplayerstats_pvp_deaths%PvP deaths
%ndplayerstats_pve_deaths%PvE deaths
%ndplayerstats_all_deaths%Total deaths (PvP + PvE)
%ndplayerstats_kd%KD Ratio (formatted to 2 decimals)
%ndplayerstats_killstreak%Current killstreak
%ndplayerstats_highestkillstreak%Highest killstreak
%ndplayerstats_rank%Rank with prefix (e.g., [#1])
%ndplayerstats_rank_number%Rank number only
%ndplayerstats_playtime%Formatted play time
%ndplayerstats_kills_<number>%Player name at leaderboard position
%ndplayerstats_deaths_<number>%Player name at leaderboard position
%ndplayerstats_kd_<number>%Player name at leaderboard position
%ndplayerstats_player_<name>_kills%Kills of a specific player
%ndplayerstats_player_<name>_deaths%Deaths of a specific player
%ndplayerstats_player_<name>_rank%Rank of a specific player

Placeholder API

Database Support

  • YAML – Simple file-based storage (default)
  • SQLite – Lightweight embedded database
  • MySQL – Centralized database for multi-server setups

Configuration

  • Fully configurable via config.yml
  • Custom messages via messages.yml
  • Performance settings (cache, async operations, save intervals)
  • Death tracking settings (enable/disable specific death types, world restrictions)
  • Rank system customization (unranked text, max display rank, minimum kills for rank)

Installation

  1. Download the latest ndplayerstats-1.5.3.jar
  2. Place it in your server's plugins/ folder
  3. Restart your server
  4. Edit config.yml and messages.yml to your liking
  5. Use /ndps reload to apply changes (except database type changes)

File Structure

plugins/NDplayerStats/
├── config.yml          # Main configuration file
├── messages.yml        # All customizable messages
├── stats.yml           # Player statistics (YAML database mode)
└── database.db         # SQLite database file (SQLite mode)

text


Requirements


Notes

  • Database type changes require a server restart
  • All other settings can be reloaded with /ndps reload

Author

Kubass1 – kubass.cz

bStats Server Count

Последние версии

Все версии →
release

NDPlayerStats 1.5.3

1.5.3
25 сент. 2026 г.340Minecraft: 1.15, 1.15.1, 1.15.2, 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5, 1.17, 1.17.1, 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2, 26.2, 26.3bukkit, paper, purpur, spigot
Скачать
Что нового
## Fixed * Leaderboard "Total players" now matches the actual count. * Empty leaderboard pages now show a message. * K/D leaderboard no longer includes players with 0 kills. * Rank now matches the leaderboard (requires at least 1 kill). * Leaderboards no longer include players with 0 values. * YAML and SQL now behave the same. * Hardcoded leaderboard messages moved to `messages.yml`. * Update check no longer spams the console. * Update check no longer sends an HTTP request on every OP join (cached for 1 hour). * Update message now shows the number of missing versions. * `/ndps update` now uses the same message as on join. ## Added * `/leaderboard playtime` — new leaderboard mode by play time. <details> <summary>config.yml</summary> ``` # NDPlayerStats Configuration v1.5.3 # Author: Kubass1 - https://kubass.cz/ # ⚠ IMPORTANT: Changing database type requires server restart! # Edit this file, save it, then restart the server. # ============================================================ # DATABASE SETTINGS # ============================================================ database: # Database type: YAML, MYSQL, or SQLITE # ⚠ WARNING: Changing this requires server restart! type: YAML # SQLite settings (only used when type: SQLITE) sqlite: # Name of the SQLite database file filename: database.db # MySQL settings (only used when type: MYSQL) mysql: # MySQL server address host: localhost # MySQL server port port: 3306 # Name of the database to use database: mc_server # Database username username: root # Database password password: '' # Prefix for all table names (useful for multiple plugins sharing one database) table-prefix: ndps_ # Enable SSL for MySQL connection ssl: false # ============================================================ # UPDATE CHECKER # ============================================================ # Enable or disable automatic update checking check-update: true # ============================================================ # LEADERBOARD SETTINGS # ============================================================ leaderboard: # Enable or disable the leaderboard feature enabled: true # How many players to show in the leaderboard size: 10 # How often to auto-update leaderboard cache in seconds (0 = disabled) update-interval: 60 # Maximum position for placeholders (e.g. %ndplayerstats_kills_100%) max-position: 100 # Default mode for /leaderboard: "kills", "kd" or "playtime" default-mode: kills # Custom colors for each rank position colors: '1': '&6' # #1 - Gold '2': '&7' # #2 - Silver '3': '&8' # #3 - Bronze '4': '&e' # #4 - Yellow '5': '&e' # #5 - Yellow '6': '&e' # #6 - Yellow '7': '&e' # #7 - Yellow '8': '&e' # #8 - Yellow '9': '&e' # #9 - Yellow '10': '&e' # #10 - Yellow others: '&f' # All other ranks - White # ============================================================ # RANK SETTINGS # ============================================================ ranks: # Enable or disable the ranking system completely enabled: true # Show [Unranked] for players with no stats show-unranked: true # Text to display for unranked players unranked-text: Unranked # Color for unranked text unranked-color: '&7' # Maximum rank number to display (ranks above this will show as 999+) max-display-rank: 999 # Show [999+] for ranks above max-display-rank show-max-plus: true # Text for ranks above max-display-rank max-plus-text: 999+ # Color for max-plus text max-plus-color: '&8' # Minimum kills required to get a rank minimum-kills: 0 # ============================================================ # ADMIN COMMAND SETTINGS # ============================================================ admin-command: # Allow /ndps lookup to work for offline players lookup-offline-players: true # ============================================================ # STATS COMMAND (/stats) # ============================================================ # All placeholders available for /stats command: # {player} - Player name # {kills} - Total kills # {deaths} - Total deaths # {pvp_kills} - PvP kills # {pve_kills} - PvE kills # {pvp_deaths} - PvP deaths # {pve_deaths} - PvE deaths # {kd} - K/D Ratio (formatted with 2 decimals) # {pvp_kd} - PvP K/D Ratio # {pve_kd} - PvE K/D Ratio # {killstreak} - Current killstreak # {rank} - Player rank (e.g., #5 or "Unranked") # {playtime} - Formatted play time (e.g., "2d 5h 30m") stats-command: 1: "&6&l{player}'s Statistics" 2: "&7══════════════════════════" 3: "&7Kills: &e{pvp_kills}" 4: "&7Deaths: &e{deaths}" 5: "&7K/D Ratio: &e{kd}" 6: "&7Killstreak: &e{killstreak}" 7: "&7Rank: &e{rank}" 8: "&7Play Time: &e{playtime}" 9: "&7══════════════════════════" # Text for players without a rank stats-unranked: "Unranked (no stats)" # ============================================================ # LEADERBOARD COMMAND (/leaderboard) # ============================================================ # All placeholders available for leaderboard: # {size} - Number of players per page # {page} - Current page number # {total} - Total number of pages # {total_players} - Total number of players with stats # {rank} - Player rank position # {color} - Color based on rank position (from config) # {player} - Player name # {kills} - Number of kills # {kd} - K/D Ratio (formatted with 2 decimals) # {playtime} - Formatted play time (e.g., "2d 5h 30m") # {mode} - Current mode (kills, kd or playtime) leaderboard-kills-command: 1: "&8&m &r &6&lTop {size} Players (Kills) - Page {page}/{total} &r &8&m " 2: "&7{rank}. {color}{player} &8- &a{kills} kills" 3: "&7Showing page {page} of {total} (Total: {total_players} players)" 4: "&7Use /leaderboard kills <page> for more" leaderboard-kd-command: 1: "&8&m &r &6&lTop {size} Players (K/D) - Page {page}/{total} &r &8&m " 2: "&7{rank}. {color}{player} &8- &a{kd} K/D" 3: "&7Showing page {page} of {total} (Total: {total_players} players)" 4: "&7Use /leaderboard kd <page> for more" leaderboard-playtime-command: 1: "&8&m &r &6&lTop {size} Players (Playtime) - Page {page}/{total} &r &8&m " 2: "&7{rank}. {color}{player} &8- &a{playtime}" 3: "&7Showing page {page} of {total} (Total: {total_players} players)" 4: "&7Use /leaderboard playtime <page> for more" # Leaderboard status messages leaderboard-disabled: "{prefix}&cThe leaderboard is currently disabled!" leaderboard-no-players: "&7No players with statistics yet!" # ============================================================ # ADMIN LOOKUP COMMAND (/ndps lookup) # ============================================================ # All placeholders available for /ndps lookup: # {player} - Player name # {uuid} - Player's UUID # {kills} - Total kills # {deaths} - Total deaths # {pvp_kills} - PvP kills # {pve_kills} - PvE kills # {pvp_deaths} - PvP deaths # {pve_deaths} - PvE deaths # {kd} - K/D Ratio (formatted with 2 decimals) # {pvp_kd} - PvP K/D Ratio # {pve_kd} - PvE K/D Ratio # {killstreak} - Current killstreak # {highest_killstreak} - Highest killstreak # {playtime} - Formatted play time # {rank} - Player rank (e.g., #5 or "Unranked") admin-lookup-command: 1: "&6=== {player}'s Stats ===" 2: "&eUUID: &f{uuid}" 3: "&eKills: &f{pvp_kills}" 4: "&eDeaths: &f{deaths}" 5: "&eK/D: &f{kd}" 6: "&eKillstreak: &f{killstreak}" 7: "&eHighest Killstreak: &f{highest_killstreak}" 8: "&ePlay Time: &f{playtime}" 9: "&eRank: &f{rank}" 10: "&7══════════════════════════" # ============================================================ # STATISTICS TRACKING # ============================================================ stats: # Track total play time for each player track-play-time: true # Track PvP kills separately (kills against players) track-pvp-kills: true # Track PvE kills separately (kills against mobs/animals) track-pve-kills: true # Track the highest killstreak a player has achieved track-highest-killstreak: true # Death tracking settings death-tracking: # Enable or disable death tracking completely enabled: true # What types of deaths to count count-pvp-deaths: true # Killed by another player count-pve-deaths: true # Killed by mobs/animals count-environmental-deaths: true # Fall damage, fire, lava, etc. count-void-deaths: true # Falling into the void count-suicide-deaths: true # Self-inflicted deaths (e.g. /kill) # World restrictions (empty list = all worlds) enabled-worlds: [] excluded-worlds: [] # Minimum playtime required before deaths start counting minimum-playtime-minutes: 0 # ============================================================ # ANTI-KILL ABUSE SETTINGS (TIME-WINDOW MODE) # ============================================================ anti-kill-abuse: # Enable or disable anti-kill abuse protection enabled: true # Maximum kills allowed within the time window against the same player # Example: 2 means if 2 kills happen within time-window-seconds, cooldown activates max-kills-per-victim: 2 # Time window in seconds to check for kills # Example: 30 means if 2 kills happen within 30 seconds, cooldown activates time-window-seconds: 30 # How long the cooldown lasts in seconds after abuse is detected # Example: 60 means after abuse detected, player cannot kill victim for 60 seconds cooldown-seconds: 60 # Should death be counted when a kill is blocked? # true = victim gets death, false = victim does NOT get death count-death-on-abuse: true # Should the killer receive a message when a kill is blocked? notify-killer: true # Should the victim receive a message when a kill is blocked? notify-victim: true # Players with this permission will bypass the check bypass-permission: "ndplayerstats.antiabuse.bypass" # World restrictions (empty list = all worlds) enabled-worlds: [] excluded-worlds: [] # ============================================================ # GUI SETTINGS # ============================================================ gui: # Title of the statistics GUI title: '&9{player}''s Statistics' # GUI size (must be multiple of 9, between 9 and 54) size: 27 # Items displayed in the GUI items: # Kills item kills: material: DIAMOND_SWORD slot: 11 name: '&aKills' lore: - '&7Total kills: &f{kills}' - '&7PvP kills: &f{pvp_kills}' - '&7PvE kills: &f{pve_kills}' - '&7Rank: &f{rank}' # Deaths item deaths: material: SKELETON_SKULL slot: 13 name: '&6Deaths' lore: - '&7Total deaths: &f{deaths}' - '&7PvP deaths: &f{pvp_deaths}' - '&7PvE deaths: &f{pve_deaths}' - '&7K/D Ratio: &f{kd}' # Killstreak item killstreak: material: TOTEM_OF_UNDYING slot: 15 name: '&2Killstreak' lore: - '&7Current: &f{killstreak}' - '&7Highest: &f{highest_killstreak}' # Player info item (head) info: material: PLAYER_HEAD slot: 4 name: '&e{player}' lore: - '&7Click to refresh' - '' - '&7Play Time: &f{playtime}' # ============================================================ # PLACEHOLDERAPI SETTINGS # ============================================================ placeholderapi: # Enable or disable PlaceholderAPI support enabled: true # Notify OPs when PlaceholderAPI is enabled/disabled notify-ops: true # ============================================================ # PERFORMANCE SETTINGS # ============================================================ performance: # Cache statistics for better performance cache-stats: true # How long to keep cached data in seconds cache-ttl: 300 # How often to auto-save statistics to disk in seconds save-interval: 300 # Use asynchronous operations to avoid lag async-operations: true # ============================================================ # NOTES # ============================================================ # 🔴 SERVER RESTART REQUIRED FOR: # - Changing database type (YAML/MySQL/SQLite) # - Changing database connection settings # # ✅ Can be reloaded with /ndps reload: # - All other settings including death tracking, ranks, # leaderboard, GUI, performance, anti-kill-abuse # - All text messages in messages.yml ``` </details> <details> <summary>messages.yml</summary> ``` # ============================================================ # NDPlayerStats Messages # All messages can be customized. Use & for color codes. # Placeholders: {prefix}, {player}, {count}, etc. # # NOTE: Templates for /stats, /leaderboard and /ndps lookup # are stored in config.yml (stats-command, # leaderboard-kills-command, leaderboard-kd-command, # leaderboard-playtime-command, admin-lookup-command). # ============================================================ # ============================================================ # PREFIX # ============================================================ # This prefix is used in all messages that contain {prefix} prefix: "&8[&6NDStats&8] &r" # ============================================================ # COMMAND MESSAGES # ============================================================ # Message shown when a player doesn't have permission no-permission: "{prefix}&cYou don't have permission to use this command!" # Message shown when a command is used by console but requires a player player-only: "{prefix}&cThis command can only be used by players!" # Message shown when a player is not found player-not-found: "{prefix}&cPlayer &e{player} &cnot found!" # Message shown when a command is used incorrectly usage: "{prefix}&cUsage: &7{usage}" # ============================================================ # LEADERBOARD MESSAGES # ============================================================ # Message shown when a page has no players (page number too high) leaderboard-empty-page: "&7No players on this page." # Message shown when an invalid page number is entered leaderboard-invalid-page: "{prefix}&cInvalid page number. Use /leaderboard {mode} <page>" # Message shown when the command usage is wrong leaderboard-usage: "{prefix}&cUsage: /leaderboard [kills|kd|playtime] <page>" # ============================================================ # STATS RESET MESSAGES # ============================================================ # Message when a player's stats are reset stats-reset: "{prefix}&aStatistics for &e{player} &ahave been reset!" # Notification sent to the player when their stats are reset stats-reset-notify: "&cYour statistics have been reset by an administrator." # Message when a single stat is reset stats-reset-stat: "{prefix}&aStat &e{stat} &afor &e{player} &ahas been reset!" # Message when an invalid stat name is provided stats-reset-stat-invalid: "{prefix}&cUnknown stat: &e{stat}" # Broadcast message when all stats are reset stats-all-reset: "&cAll player statistics have been reset by an administrator." # Success message when all stats are reset stats-all-reset-success: "&aSuccessfully reset statistics for &e{count} &aplayers!" # Error message when resetting all stats fails stats-all-reset-error: "&cFailed to reset all statistics: {error}" # Warning message before resetting all stats stats-all-reset-warning: "&c&lWARNING: This will reset ALL player statistics!" # Second warning line stats-all-reset-warning2: "&cThis action cannot be undone!" # Confirmation prompt for resetting all stats stats-all-reset-confirm: "&eType &6/resetstatsall confirm &eto reset all stats" # Message when resetting all stats using SQL stats-all-reset-sql: "&eResetting all statistics using SQL..." # ============================================================ # GUI MESSAGES (/statsgui) # ============================================================ gui: # Message when opening GUI for another player opening: "{prefix}&aOpening statistics for &e{player}..." # Message when refreshing the GUI refreshed: "&aStatistics refreshed!" # Message when a player is offline player-offline: "&cPlayer {player} is not online. Use /stats instead." # ============================================================ # ANTI-KILL ABUSE MESSAGES # ============================================================ anti-kill-abuse: # Message shown to killer when kill is blocked # {victim} = name of the victim killer-message: "{prefix}&cYou have killed {victim} too many times! Kill not counted." # Message shown to victim when kill is blocked # {killer} = name of the killer # {death} = "counted" or "not counted" (based on count-death-on-abuse config) victim-message-death-counted: "{prefix}&aKill blocked! You were killed too many times by {killer}. Death counted." victim-message-death-not-counted: "{prefix}&aKill and death blocked! You were killed too many times by {killer}." # ============================================================ # ADMIN COMMAND MESSAGES (/ndps) # ============================================================ admin: # Success message after reload reloaded: "{prefix}&aConfiguration reloaded!" # Error message during reload reload-error: "&cError during reload: {error}" # Help menu help-header: "&6=== NDPlayerStats Admin ===" help-reload: "&e/ndps reload &7- Reload config" help-lookup: "&e/ndps lookup <player> &7- Lookup player stats" help-info: "&e/ndps info &7- Show plugin info" help-help: "&e/ndps help &7- Show this help" help-update: "&e/ndps update &7- Check for updates" help-note: "&cNote: Database type changes require server restart!" update-checking: "&eChecking for updates..." update-failed: "&cFailed to check for updates. Check console for details." # Info command info-header: "&6=== NDPlayerStats Info ===" info-version: "&eVersion: &f{version}" info-author: "&eAuthor: &f{author}" info-database: "&eDatabase: &f{database}" info-ranks: "&eRanks: &f{ranks}" info-papi: "&ePlaceholderAPI: &f{papi}" # Unknown command unknown-command: "&cUnknown command. Use /ndps help" # Database change warnings db-change-warning: "&cDatabase type changed from {old} to {new}!" db-change-restart: "&cDatabase type changes require server restart!" db-change-using: "&eUsing {current} until server restart." # ============================================================ # PLACEHOLDERAPI MESSAGES # ============================================================ # Message when PlaceholderAPI support is enabled papi-enabled: "&a[NDStats] PlaceholderAPI support enabled!" # Example placeholder usage papi-example: "&7Use %ndplayerstats_kills%, %ndplayerstats_pvp_kills%, %ndplayerstats_pve_kills%" # ============================================================ # DATABASE CONNECTION ERROR MESSAGES # ============================================================ # Message when database connection fails db-failed: "&c[NDStats] Failed to connect to database!" # Message to check console for details db-check-console: "&cCheck console for details." # Message showing the configured database type db-config-type: "&eConfig database type: {type}" ``` </details>
release

NDPlayerStats 1.5.2

1.5.2
20 сент. 2026 г.50Minecraft: 1.15, 1.15.1, 1.15.2, 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5, 1.17, 1.17.1, 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2, 26.2, 26.3bukkit, paper, purpur, spigot
Скачать
Что нового
## Fixed * K/D leaderboard now shows players in the correct order. * Leaderboard pagination (pages 2 and 3) now displays the correct players. * YAML stats are now saved to disk immediately (no more data loss on crash). * Fixed server lag caused by the playtime saver. * Fixed server lag when a player joins. * Fixed server lag when showing stats with MySQL/SQLite. * Anti-kill-abuse protection can no longer be bypassed by leaving the server. * PlaceholderAPI now works correctly for names with an underscore (e.g., `John_Doe`). * Fixed server lag when resetting all stats (YAML). * Database reconnection is now immediate (no more 6-second wait). * Database no longer tries to reconnect multiple times at once. ## Added * Added support for version 26.3.
release

NDPlayerStats 1.5.1

1.5.1
18 июл. 2026 г.599Minecraft: 1.15, 1.15.1, 1.15.2, 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5, 1.17, 1.17.1, 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2, 26.2bukkit, paper, purpur, spigot
Скачать
Что нового
### New Features - **/ndps lookup <player>** - Now works on offline players (can be disabled in config.yml) - **Better configuration organization** - All command formatting moved from messages.yml to config.yml ### Changes - `/stats` command formatting moved from messages.yml to config.yml - `/leaderboard` split into separate sections for kills and kd in config - `/ndps lookup` formatting added to config.yml (fully customizable) - Offline player lookup for `/ndps lookup` is configurable in config.yml <details> <summary>config.yml</summary> ``` # NDPlayerStats Configuration v1.5.1 # Author: Kubass1 - https://kubass.cz/ # ⚠ IMPORTANT: Changing database type requires server restart! # Edit this file, save it, then restart the server. # ============================================================ # DATABASE SETTINGS # ============================================================ database: # Database type: YAML, MYSQL, or SQLITE # ⚠ WARNING: Changing this requires server restart! type: YAML # SQLite settings (only used when type: SQLITE) sqlite: # Name of the SQLite database file filename: database.db # MySQL settings (only used when type: MYSQL) mysql: # MySQL server address host: localhost # MySQL server port port: 3306 # Name of the database to use database: mc_server # Database username username: root # Database password password: '' # Prefix for all table names (useful for multiple plugins sharing one database) table-prefix: ndps_ # Enable SSL for MySQL connection ssl: false # ============================================================ # UPDATE CHECKER # ============================================================ # Enable or disable automatic update checking check-update: true # ============================================================ # LEADERBOARD SETTINGS # ============================================================ leaderboard: # Enable or disable the leaderboard feature enabled: true # How many players to show in the leaderboard size: 10 # How often to auto-update leaderboard cache in seconds (0 = disabled) update-interval: 60 # Maximum position for placeholders (e.g. %ndplayerstats_kills_100%) max-position: 100 # Default mode for /leaderboard: "kills" or "kd" default-mode: kills # Custom colors for each rank position colors: '1': '&6' # #1 - Gold '2': '&7' # #2 - Silver '3': '&8' # #3 - Bronze '4': '&e' # #4 - Yellow '5': '&e' # #5 - Yellow '6': '&e' # #6 - Yellow '7': '&e' # #7 - Yellow '8': '&e' # #8 - Yellow '9': '&e' # #9 - Yellow '10': '&e' # #10 - Yellow others: '&f' # All other ranks - White # ============================================================ # RANK SETTINGS # ============================================================ ranks: # Enable or disable the ranking system completely enabled: true # Show [Unranked] for players with no stats show-unranked: true # Text to display for unranked players unranked-text: Unranked # Color for unranked text unranked-color: '&7' # Maximum rank number to display (ranks above this will show as 999+) max-display-rank: 999 # Show [999+] for ranks above max-display-rank show-max-plus: true # Text for ranks above max-display-rank max-plus-text: 999+ # Color for max-plus text max-plus-color: '&8' # Minimum kills required to get a rank minimum-kills: 0 # ============================================================ # ADMIN COMMAND SETTINGS # ============================================================ admin-command: # Allow /ndps lookup to work for offline players lookup-offline-players: true # ============================================================ # STATS COMMAND (/stats) # ============================================================ # All placeholders available for /stats command: # {player} - Player name # {kills} - Total kills # {deaths} - Total deaths # {pvp_kills} - PvP kills # {pve_kills} - PvE kills # {pvp_deaths} - PvP deaths # {pve_deaths} - PvE deaths # {kd} - K/D Ratio (formatted with 2 decimals) # {pvp_kd} - PvP K/D Ratio # {pve_kd} - PvE K/D Ratio # {killstreak} - Current killstreak # {rank} - Player rank (e.g., #5 or "Unranked") # {playtime} - Formatted play time (e.g., "2d 5h 30m") stats-command: 1: "&6&l{player}'s Statistics" 2: "&7══════════════════════════" 3: "&7Kills: &e{kills}" 4: "&7Deaths: &e{deaths}" 5: "&7K/D Ratio: &e{kd}" 6: "&7Killstreak: &e{killstreak}" 7: "&7Rank: &e{rank}" 8: "&7Play Time: &e{playtime}" 9: "&7══════════════════════════" # Text for players without a rank stats-unranked: "Unranked (no stats)" # ============================================================ # LEADERBOARD COMMAND (/leaderboard) # ============================================================ # All placeholders available for leaderboard: # {size} - Number of players per page # {page} - Current page number # {total} - Total number of pages # {total_players} - Total number of players with stats # {rank} - Player rank position # {color} - Color based on rank position (from config) # {player} - Player name # {kills} - Number of kills # {kd} - K/D Ratio (formatted with 2 decimals) # {mode} - Current mode (kills or kd) leaderboard-kills-command: 1: "&8&m &r &6&lTop {size} Players (Kills) - Page {page}/{total} &r &8&m " 2: "&7{rank}. {color}{player} &8- &a{kills} kills" 3: "&7Showing page {page} of {total} (Total: {total_players} players)" 4: "&7Use /leaderboard kills <page> for more" leaderboard-kd-command: 1: "&8&m &r &6&lTop {size} Players (K/D) - Page {page}/{total} &r &8&m " 2: "&7{rank}. {color}{player} &8- &a{kd} K/D" 3: "&7Showing page {page} of {total} (Total: {total_players} players)" 4: "&7Use /leaderboard kd <page> for more" # Leaderboard status messages leaderboard-disabled: "{prefix}&cThe leaderboard is currently disabled!" leaderboard-no-players: "&7No players with statistics yet!" # ============================================================ # ADMIN LOOKUP COMMAND (/ndps lookup) # ============================================================ # All placeholders available for /ndps lookup: # {player} - Player name # {uuid} - Player's UUID # {kills} - Total kills # {deaths} - Total deaths # {pvp_kills} - PvP kills # {pve_kills} - PvE kills # {pvp_deaths} - PvP deaths # {pve_deaths} - PvE deaths # {kd} - K/D Ratio (formatted with 2 decimals) # {pvp_kd} - PvP K/D Ratio # {pve_kd} - PvE K/D Ratio # {killstreak} - Current killstreak # {highest_killstreak} - Highest killstreak # {playtime} - Formatted play time # {rank} - Player rank (e.g., #5 or "Unranked") admin-lookup-command: 1: "&6=== {player}'s Stats ===" 2: "&eUUID: &f{uuid}" 3: "&eKills: &f{kills}" 4: "&eDeaths: &f{deaths}" 5: "&eK/D: &f{kd}" 6: "&eKillstreak: &f{killstreak}" 7: "&eHighest Killstreak: &f{highest_killstreak}" 8: "&ePlay Time: &f{playtime}" 9: "&eRank: &f{rank}" 10: "&7══════════════════════════" # ============================================================ # STATISTICS TRACKING # ============================================================ stats: # Track total play time for each player track-play-time: true # Track PvP kills separately (kills against players) track-pvp-kills: true # Track PvE kills separately (kills against mobs/animals) track-pve-kills: true # Track the highest killstreak a player has achieved track-highest-killstreak: true # Death tracking settings death-tracking: # Enable or disable death tracking completely enabled: true # What types of deaths to count count-pvp-deaths: true # Killed by another player count-pve-deaths: true # Killed by mobs/animals count-environmental-deaths: true # Fall damage, fire, lava, etc. count-void-deaths: true # Falling into the void count-suicide-deaths: true # Self-inflicted deaths (e.g. /kill) # World restrictions (empty list = all worlds) enabled-worlds: [] excluded-worlds: [] # Minimum playtime required before deaths start counting minimum-playtime-minutes: 0 # ============================================================ # ANTI-KILL ABUSE SETTINGS (TIME-WINDOW MODE) # ============================================================ anti-kill-abuse: # Enable or disable anti-kill abuse protection enabled: true # Maximum kills allowed within the time window against the same player # Example: 2 means if 2 kills happen within time-window-seconds, cooldown activates max-kills-per-victim: 2 # Time window in seconds to check for kills # Example: 30 means if 2 kills happen within 30 seconds, cooldown activates time-window-seconds: 30 # How long the cooldown lasts in seconds after abuse is detected # Example: 60 means after abuse detected, player cannot kill victim for 60 seconds cooldown-seconds: 60 # Should death be counted when a kill is blocked? # true = victim gets death, false = victim does NOT get death count-death-on-abuse: true # Should the killer receive a message when a kill is blocked? notify-killer: true # Should the victim receive a message when a kill is blocked? notify-victim: true # Players with this permission will bypass the check bypass-permission: "ndplayerstats.antiabuse.bypass" # World restrictions (empty list = all worlds) enabled-worlds: [] excluded-worlds: [] # ============================================================ # GUI SETTINGS # ============================================================ gui: # Title of the statistics GUI title: '&9{player}''s Statistics' # GUI size (must be multiple of 9, between 9 and 54) size: 27 # Items displayed in the GUI items: # Kills item kills: material: DIAMOND_SWORD slot: 11 name: '&aKills' lore: - '&7Total kills: &f{kills}' - '&7PvP kills: &f{pvp_kills}' - '&7PvE kills: &f{pve_kills}' - '&7Rank: &f{rank}' # Deaths item deaths: material: SKELETON_SKULL slot: 13 name: '&6Deaths' lore: - '&7Total deaths: &f{deaths}' - '&7PvP deaths: &f{pvp_deaths}' - '&7PvE deaths: &f{pve_deaths}' - '&7K/D Ratio: &f{kd}' # Killstreak item killstreak: material: TOTEM_OF_UNDYING slot: 15 name: '&2Killstreak' lore: - '&7Current: &f{killstreak}' - '&7Highest: &f{highest_killstreak}' # Player info item (head) info: material: PLAYER_HEAD slot: 4 name: '&e{player}' lore: - '&7Click to refresh' - '' - '&7Play Time: &f{playtime}' # ============================================================ # PLACEHOLDERAPI SETTINGS # ============================================================ placeholderapi: # Enable or disable PlaceholderAPI support enabled: true # Notify OPs when PlaceholderAPI is enabled/disabled notify-ops: true # ============================================================ # PERFORMANCE SETTINGS # ============================================================ performance: # Cache statistics for better performance cache-stats: true # How long to keep cached data in seconds cache-ttl: 300 # How often to auto-save statistics to disk in seconds save-interval: 300 # Use asynchronous operations to avoid lag async-operations: true # ============================================================ # NOTES # ============================================================ # 🔴 SERVER RESTART REQUIRED FOR: # - Changing database type (YAML/MySQL/SQLite) # - Changing database connection settings # # ✅ Can be reloaded with /ndps reload: # - All other settings including death tracking, ranks, # leaderboard, GUI, performance, anti-kill-abuse # - All text messages in messages.yml ``` </details> <details> <summary>messages.yml</summary> ``` # ============================================================ # NDPlayerStats Messages # All messages can be customized. Use & for color codes. # Placeholders: {prefix}, {player}, {count}, etc. # ============================================================ # ============================================================ # PREFIX # ============================================================ # This prefix is used in all messages that contain {prefix} prefix: "&8[&6NDStats&8] &r" # ============================================================ # COMMAND MESSAGES # ============================================================ # Message shown when a player doesn't have permission no-permission: "{prefix}&cYou don't have permission to use this command!" # Message shown when a command is used by console but requires a player player-only: "{prefix}&cThis command can only be used by players!" # Message shown when a player is not found player-not-found: "{prefix}&cPlayer &e{player} &cnot found!" # Message shown when a command is used incorrectly usage: "{prefix}&cUsage: &7{usage}" # ============================================================ # STATS RESET MESSAGES # ============================================================ # Message when a player's stats are reset stats-reset: "{prefix}&aStatistics for &e{player} &ahave been reset!" # Notification sent to the player when their stats are reset stats-reset-notify: "&cYour statistics have been reset by an administrator." # Broadcast message when all stats are reset stats-all-reset: "&cAll player statistics have been reset by an administrator." # Success message when all stats are reset stats-all-reset-success: "&aSuccessfully reset statistics for &e{count} &aplayers!" # Error message when resetting all stats fails stats-all-reset-error: "&cFailed to reset all statistics: {error}" # Warning message before resetting all stats stats-all-reset-warning: "&c&lWARNING: This will reset ALL player statistics!" # Second warning line stats-all-reset-warning2: "&cThis action cannot be undone!" # Confirmation prompt for resetting all stats stats-all-reset-confirm: "&eType &6/resetstatsall confirm &eto reset all stats" # Message when resetting all stats using SQL stats-all-reset-sql: "&eResetting all statistics using SQL..." # ============================================================ # GUI MESSAGES (/statsgui) # ============================================================ gui: # Message when opening GUI for another player opening: "{prefix}&aOpening statistics for &e{player}..." # Message when refreshing the GUI refreshed: "&aStatistics refreshed!" # Message when a player is offline player-offline: "&cPlayer {player} is not online. Use /stats instead." # ============================================================ # ANTI-KILL ABUSE MESSAGES # ============================================================ anti-kill-abuse: # Message shown to killer when kill is blocked # {victim} = name of the victim killer-message: "{prefix}&cYou have killed {victim} too many times! Kill not counted." # Message shown to victim when kill is blocked # {killer} = name of the killer # {death} = "counted" or "not counted" (based on count-death-on-abuse config) victim-message-death-counted: "{prefix}&aKill blocked! You were killed too many times by {killer}. Death counted." victim-message-death-not-counted: "{prefix}&aKill and death blocked! You were killed too many times by {killer}." # ============================================================ # ADMIN COMMAND MESSAGES (/ndps) # ============================================================ admin: # Success message after reload reloaded: "{prefix}&aConfiguration reloaded!" # Error message during reload reload-error: "&cError during reload: {error}" # Help menu help-header: "&6=== NDPlayerStats Admin ===" help-reload: "&e/ndps reload &7- Reload config" help-lookup: "&e/ndps lookup <player> &7- Lookup player stats" help-info: "&e/ndps info &7- Show plugin info" help-help: "&e/ndps help &7- Show this help" help-update: "&e/ndps update &7- Check for updates" help-note: "&cNote: Database type changes require server restart!" update-checking: "&eChecking for updates..." update-failed: "&cFailed to check for updates. Check console for details." # Info command info-header: "&6=== NDPlayerStats Info ===" info-version: "&eVersion: &f{version}" info-author: "&eAuthor: &f{author}" info-database: "&eDatabase: &f{database}" info-ranks: "&eRanks: &f{ranks}" info-papi: "&ePlaceholderAPI: &f{papi}" # Unknown command unknown-command: "&cUnknown command. Use /ndps help" # Database change warnings db-change-warning: "&cDatabase type changed from {old} to {new}!" db-change-restart: "&cDatabase type changes require server restart!" db-change-using: "&eUsing {current} until server restart." # ============================================================ # PLACEHOLDERAPI MESSAGES # ============================================================ # Message when PlaceholderAPI support is enabled papi-enabled: "&a[NDStats] PlaceholderAPI support enabled!" # Example placeholder usage papi-example: "&7Use %ndplayerstats_kills%, %ndplayerstats_pvp_kills%, %ndplayerstats_pve_kills%" # ============================================================ # DATABASE CONNECTION ERROR MESSAGES # ============================================================ # Message when database connection fails db-failed: "&c[NDStats] Failed to connect to database!" # Message to check console for details db-check-console: "&cCheck console for details." # Message showing the configured database type db-config-type: "&eConfig database type: {type}" ``` </details>
release

NDPlayerStats 1.5.0

1.5.0
17 июл. 2026 г.43Minecraft: 1.15, 1.15.1, 1.15.2, 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5, 1.17, 1.17.1, 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2, 26.2bukkit, paper, purpur, spigot
Скачать
Что нового
# Changelog – NDPlayerStats v1.5.0 --- ## New Features - **PvE Statistics** – kills and deaths from mobs/animals are now tracked separately - New stats: `pve_kills`, `pve_deaths` - New placeholders: `%ndplayerstats_pve_kills%`, `%ndplayerstats_pve_deaths%`, `%ndplayerstats_all_kills%`, `%ndplayerstats_all_deaths%` - `%ndplayerstats_kills%` now shows **only PvP kills** - `%ndplayerstats_all_kills%` shows total kills (PvP + PvE) - **Anti-Kill Abuse Protection** (Suggested by [finn12](https://www.spigotmc.org/members/finn12.1365346/)) – prevents kill farming against the same player - Time-window mode with configurable limits - Notifications for killer and victim - Bypass permission: `ndplayerstats.antiabuse.bypass` - World restrictions support - **Leaderboard Titles** – moved to `messages.yml` with `{page}`, `{total}`, `{size}` placeholders --- ## Bug Fixes - General bug fixes and performance improvements --- ## Configuration & Messages - **`config.yml`** – new section `anti-kill-abuse` added, `track-pve-kills` option added - **`messages.yml`** – new section `anti-kill-abuse` added, new `leaderboard.title` and `leaderboard.title-kd` with `{page}`, `{total}`, `{size}` placeholders --- ## Updating from v1.4.1 > **Important:** Updating from version 1.4.1 requires either: > - **Deleting** old `config.yml` and `messages.yml` (plugin will generate new ones with defaults) > > **or** > > - **Manually updating** both files with new sections --- ## Breaking Change `%ndplayerstats_kills%` now shows **PvP kills only**. Use `%ndplayerstats_all_kills%` for total kills. --- <details> <summary>config.yml</summary> ``` # NDPlayerStats Configuration v1.5.0 # Author: Kubass1 - https://kubass.cz/ # ⚠ IMPORTANT: Changing database type requires server restart! # Edit this file, save it, then restart the server. # ============================================================ # DATABASE SETTINGS # ============================================================ database: # Database type: YAML, MYSQL, or SQLITE # ⚠ WARNING: Changing this requires server restart! type: YAML # SQLite settings (only used when type: SQLITE) sqlite: # Name of the SQLite database file filename: database.db # MySQL settings (only used when type: MYSQL) mysql: # MySQL server address host: localhost # MySQL server port port: 3306 # Name of the database to use database: mc_server # Database username username: root # Database password password: '' # Prefix for all table names (useful for multiple plugins sharing one database) table-prefix: ndps_ # Enable SSL for MySQL connection ssl: false # ============================================================ # UPDATE CHECKER # ============================================================ # Enable or disable automatic update checking check-update: true # ============================================================ # LEADERBOARD SETTINGS # ============================================================ leaderboard: # Enable or disable the leaderboard feature enabled: true # How many players to show in the leaderboard size: 10 # How often to auto-update leaderboard cache in seconds (0 = disabled) update-interval: 60 # Maximum position for placeholders (e.g. %ndplayerstats_kills_100%) max-position: 100 # Default mode for /leaderboard: "kills" or "kd" default-mode: kills # Custom colors for each rank position colors: '1': '&6' # #1 - Gold '2': '&7' # #2 - Silver '3': '&8' # #3 - Bronze '4': '&e' # #4 - Yellow '5': '&e' # #5 - Yellow '6': '&e' # #6 - Yellow '7': '&e' # #7 - Yellow '8': '&e' # #8 - Yellow '9': '&e' # #9 - Yellow '10': '&e' # #10 - Yellow others: '&f' # All other ranks - White # ============================================================ # RANK SETTINGS # ============================================================ ranks: # Enable or disable the ranking system completely enabled: true # Show [Unranked] for players with no stats show-unranked: true # Text to display for unranked players unranked-text: Unranked # Color for unranked text unranked-color: '&7' # Maximum rank number to display (ranks above this will show as 999+) max-display-rank: 999 # Show [999+] for ranks above max-display-rank show-max-plus: true # Text for ranks above max-display-rank max-plus-text: 999+ # Color for max-plus text max-plus-color: '&8' # Minimum kills required to get a rank minimum-kills: 0 # ============================================================ # STATISTICS TRACKING # ============================================================ stats: # Track total play time for each player track-play-time: true # Track PvP kills separately (kills against players) track-pvp-kills: true # Track PvE kills separately (kills against mobs/animals) track-pve-kills: true # Track the highest killstreak a player has achieved track-highest-killstreak: true # Death tracking settings death-tracking: # Enable or disable death tracking completely enabled: true # What types of deaths to count count-pvp-deaths: true # Killed by another player count-pve-deaths: true # Killed by mobs/animals count-environmental-deaths: true # Fall damage, fire, lava, etc. count-void-deaths: true # Falling into the void count-suicide-deaths: true # Self-inflicted deaths (e.g. /kill) # World restrictions (empty list = all worlds) enabled-worlds: [] excluded-worlds: [] # Minimum playtime required before deaths start counting minimum-playtime-minutes: 0 # ============================================================ # ANTI-KILL ABUSE SETTINGS (TIME-WINDOW MODE) # ============================================================ anti-kill-abuse: # Enable or disable anti-kill abuse protection enabled: true # Maximum kills allowed within the time window against the same player # Example: 2 means if 2 kills happen within time-window-seconds, cooldown activates max-kills-per-victim: 2 # Time window in seconds to check for kills # Example: 30 means if 2 kills happen within 30 seconds, cooldown activates time-window-seconds: 30 # How long the cooldown lasts in seconds after abuse is detected # Example: 60 means after abuse detected, player cannot kill victim for 60 seconds cooldown-seconds: 60 # Should death be counted when a kill is blocked? # true = victim gets death, false = victim does NOT get death count-death-on-abuse: true # Should the killer receive a message when a kill is blocked? notify-killer: true # Should the victim receive a message when a kill is blocked? notify-victim: true # Players with this permission will bypass the check bypass-permission: "ndplayerstats.antiabuse.bypass" # World restrictions (empty list = all worlds) enabled-worlds: [] excluded-worlds: [] # ============================================================ # GUI SETTINGS # ============================================================ gui: # Title of the statistics GUI title: '&9{player}''s Statistics' # GUI size (must be multiple of 9, between 9 and 54) size: 27 # Items displayed in the GUI items: # Kills item kills: material: DIAMOND_SWORD slot: 11 name: '&aKills' lore: - '&7Total kills: &f{kills}' - '&7PvP kills: &f{pvp_kills}' - '&7PvE kills: &f{pve_kills}' - '&7Rank: &f{rank}' # Deaths item deaths: material: SKELETON_SKULL slot: 13 name: '&6Deaths' lore: - '&7Total deaths: &f{deaths}' - '&7PvP deaths: &f{pvp_deaths}' - '&7PvE deaths: &f{pve_deaths}' - '&7K/D Ratio: &f{kd}' # Killstreak item killstreak: material: TOTEM_OF_UNDYING slot: 15 name: '&2Killstreak' lore: - '&7Current: &f{killstreak}' - '&7Highest: &f{highest_killstreak}' # Player info item (head) info: material: PLAYER_HEAD slot: 4 name: '&e{player}' lore: - '&7Click to refresh' - '' - '&7Play Time: &f{playtime}' # ============================================================ # PLACEHOLDERAPI SETTINGS # ============================================================ placeholderapi: # Enable or disable PlaceholderAPI support enabled: true # Notify OPs when PlaceholderAPI is enabled/disabled notify-ops: true # ============================================================ # PERFORMANCE SETTINGS # ============================================================ performance: # Cache statistics for better performance cache-stats: true # How long to keep cached data in seconds cache-ttl: 300 # How often to auto-save statistics to disk in seconds save-interval: 300 # Use asynchronous operations to avoid lag async-operations: true # ============================================================ # NOTES # ============================================================ # 🔴 SERVER RESTART REQUIRED FOR: # - Changing database type (YAML/MySQL/SQLite) # - Changing database connection settings # # ✅ Can be reloaded with /ndps reload: # - All other settings including death tracking, ranks, # leaderboard, GUI, performance, anti-kill-abuse # - All text messages in messages.yml ``` </details> <details> <summary>messages.yml</summary> ``` # ============================================================ # NDPlayerStats Messages # All messages can be customized. Use & for color codes. # Placeholders: {prefix}, {player}, {count}, etc. # ============================================================ # ============================================================ # PREFIX # ============================================================ # This prefix is used in all messages that contain {prefix} prefix: '&8[&6NDStats&8] &r' # ============================================================ # COMMAND MESSAGES # ============================================================ # Message shown when a player doesn't have permission no-permission: '{prefix}&cYou don''t have permission to use this command!' # Message shown when a command is used by console but requires a player player-only: '{prefix}&cThis command can only be used by players!' # Message shown when a player is not found player-not-found: '{prefix}&cPlayer &e{player} &cnot found!' # Message shown when a command is used incorrectly usage: '{prefix}&cUsage: &7{usage}' # ============================================================ # STATS MESSAGES # ============================================================ # Message when a player's stats are reset stats-reset: '{prefix}&aStatistics for &e{player} &ahave been reset!' # Notification sent to the player when their stats are reset stats-reset-notify: '&cYour statistics have been reset by an administrator.' # Broadcast message when all stats are reset stats-all-reset: '&cAll player statistics have been reset by an administrator.' # Success message when all stats are reset stats-all-reset-success: '&aSuccessfully reset statistics for &e{count} &aplayers!' # Error message when resetting all stats fails stats-all-reset-error: '&cFailed to reset all statistics: {error}' # Warning message before resetting all stats stats-all-reset-warning: '&c&lWARNING: This will reset ALL player statistics!' # Second warning line stats-all-reset-warning2: '&cThis action cannot be undone!' # Confirmation prompt for resetting all stats stats-all-reset-confirm: '&eType &6/resetstatsall confirm &eto reset all stats' # Message when resetting all stats using SQL stats-all-reset-sql: '&eResetting all statistics using SQL...' # ============================================================ # STATS COMMAND (/stats) # ============================================================ # Title when viewing your own stats stats-your-title: '&6&lYour Statistics' # Title when viewing another player's stats stats-other-title: '&6&l{player}''s Statistics' # Separator line stats-separator: '&7══════════════════════════' # Individual stat lines stats-kills: '&7Kills: &e{kills}' stats-deaths: '&7Deaths: &e{deaths}' stats-kd: '&7K/D Ratio: &e{kd}' stats-killstreak: '&7Killstreak: &e{killstreak}' stats-rank: '&7Rank: &e{rank}' stats-playtime: '&7Play Time: &e{playtime}' # Text for players without a rank stats-unranked: Unranked (no stats) # ============================================================ # LEADERBOARD MESSAGES (/leaderboard) # ============================================================ leaderboard: # Title of the leaderboard (Kills) title: '&8&m &r &6&lTop {size} Players (Kills) - Page {page}/{total} &r &8&m ' # Title of the leaderboard (K/D) title-kd: '&8&m &r &6&lTop {size} Players (K/D) - Page {page}/{total} &r &8&m ' # Format for each leaderboard entry line-format: '&7{rank}. {color}{player} &8- &a{kills} kills' # Message when leaderboard is disabled disabled: '{prefix}&cThe leaderboard is currently disabled!' # Message when no players have stats no-players: '&7No players with statistics yet!' # Message showing how many players are displayed showing-top: '&7Showing top {limit} of {total} players' # Hint for pagination page-hint: '&7Use /leaderboard <page> for more' # ============================================================ # GUI MESSAGES (/statsgui) # ============================================================ gui: # Message when opening GUI for another player opening: '{prefix}&aOpening statistics for &e{player}...' # Message when refreshing the GUI refreshed: '&aStatistics refreshed!' # Message when a player is offline player-offline: '&cPlayer {player} is not online. Use /stats instead.' # ============================================================ # ANTI-KILL ABUSE MESSAGES # ============================================================ anti-kill-abuse: # Message shown to killer when kill is blocked # {victim} = name of the victim killer-message: '{prefix}&cYou have killed {victim} too many times! Kill not counted.' # Message shown to victim when kill is blocked # {killer} = name of the killer # {death} = "counted" or "not counted" (based on count-death-on-abuse config) victim-message-death-counted: '{prefix}&aKill blocked! You were killed too many times by {killer}. Death counted.' victim-message-death-not-counted: '{prefix}&aKill and death blocked! You were killed too many times by {killer}.' # ============================================================ # ADMIN COMMAND MESSAGES (/ndps) # ============================================================ admin: # Success message after reload reloaded: '{prefix}&aConfiguration reloaded!' # Error message during reload reload-error: '&cError during reload: {error}' # Help menu help-header: '&6=== NDPlayerStats Admin ===' help-reload: '&e/ndps reload &7- Reload config' help-lookup: '&e/ndps lookup <player> &7- Lookup player stats' help-info: '&e/ndps info &7- Show plugin info' help-help: '&e/ndps help &7- Show this help' help-update: '&e/ndps update &7- Check for updates' help-note: '&cNote: Database type changes require server restart!' update-checking: '&eChecking for updates...' update-failed: '&cFailed to check for updates. Check console for details.' # Info command info-header: '&6=== NDPlayerStats Info ===' info-version: '&eVersion: &f{version}' info-author: '&eAuthor: &f{author}' info-database: '&eDatabase: &f{database}' info-ranks: '&eRanks: &f{ranks}' info-papi: '&ePlaceholderAPI: &f{papi}' # Lookup command lookup-header: '&6=== {player}''s Stats ===' lookup-uuid: '&eUUID: &f{uuid}' lookup-kills: '&eKills: &f{kills}' lookup-deaths: '&eDeaths: &f{deaths}' lookup-kd: '&eK/D: &f{kd}' lookup-killstreak: '&eKillstreak: &f{killstreak}' lookup-playtime: '&ePlay Time: &f{playtime}' lookup-rank: '&eRank: &f{rank}' # Unknown command unknown-command: '&cUnknown command. Use /ndps help' # Database change warnings db-change-warning: '&cDatabase type changed from {old} to {new}!' db-change-restart: '&cDatabase type changes require server restart!' db-change-using: '&eUsing {current} until server restart.' # ============================================================ # PLACEHOLDERAPI MESSAGES # ============================================================ # Message when PlaceholderAPI support is enabled papi-enabled: '&a[NDStats] PlaceholderAPI support enabled!' # Example placeholder usage papi-example: '&7Use %ndplayerstats_kills%, %ndplayerstats_pvp_kills%, %ndplayerstats_pve_kills%' # ============================================================ # DATABASE CONNECTION ERROR MESSAGES # ============================================================ # Message when database connection fails db-failed: '&c[NDStats] Failed to connect to database!' # Message to check console for details db-check-console: '&cCheck console for details.' # Message showing the configured database type db-config-type: '&eConfig database type: {type}' ``` </details>
release

NDPlayerStats 1.4.1

1.4.1
6 июл. 2026 г.100Minecraft: 1.15, 1.15.1, 1.15.2, 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5, 1.17, 1.17.1, 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2, 26.2bukkit, paper, purpur, spigot
Скачать
Что нового
- Bug Fixes - Added version support 1.15+
release

NDPlayerStats 1.4.0

1.4.0
6 июл. 2026 г.31Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1.2, 26.2bukkit, paper, purpur, spigot
Скачать
Что нового
## Changelog - NDPlayerStats v1.4.0 ### Added - Automatic update check (can be disabled with `check-update: false`) - `/ndps update` and `/ndps check` commands - OP/Admin notifications on join when new version is available - Leaderboard pagination - `/leaderboard <page>`, `/leaderboard kills <page>` and `/leaderboard kd <page>` - `default-mode` option in config.yml (`kills` or `kd`) ### Fixed - Minor bug fixes
release

NDPlayerStats 1.3.0

1.3.0
4 июл. 2026 г.34Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1.2, 26.2bukkit, paper, purpur, spigot
Скачать
Что нового
- Bug fixes - Added more config.yml customizations - Added more messages.yml customizations
beta

NDPlayerStats 1.2.0 - May not work under 1.21.X

1.2.0
21 дек. 2025 г.303Minecraft: 1.13, 1.13.1, 1.13.2, 1.14, 1.14.1, 1.14.2, 1.14.3, 1.14.4, 1.15, 1.15.1, 1.15.2, 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5, 1.17, 1.17.1, 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11bukkit, paper, purpur, spigot
Скачать