▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
Плагины/NDPlayerStats
NDPlayerStats

NDPlayerStats

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

Оцените первым
479
1
Все версииNDPlayerStats 1.5.1

NDPlayerStats 1.5.1

Release19.07.2026

Список изменений

New Features

  • /ndps lookup - 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
config.yml
# 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-✨-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
messages.yml
# ============================================================
# 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}"

Файлы

ndplayerstats-1.5.1.jar(414.40 KiB)
Основной
Скачать

Метаданные

Канал релиза

Release

Номер версии

1.5.1

Загрузчики

Bukkit
Paper
Purpur
Spigot

Версии игры

1.15–26.2

Загрузок

55

Дата публикации

19.07.2026

Загрузил

ID версии

Главная