OgiPlayerStats GUI ⭐ [1.16.5 - 1.21+] Fully Configurable, PlaceholderAPI Support icon

OgiPlayerStats GUI ⭐ [1.16.5 - 1.21+] Fully Configurable, PlaceholderAPI Support -----

All-rounder gui for displaying user statistics




OgiPlayerStats
Your Modern, Powerful, and 100% Free Stats GUI

[​IMG]
View on GitHub


A Note From The Developer
I was tired of seeing essential, high-quality server plugins locked behind a paywall. I believe powerful tools should be accessible to everyone in the Minecraft community. That's why I created OgiPlayerStats—to provide a premium, feature-rich experience for free. I hope you enjoy it!​


✨ Key Features
  • Completely Free & Open Source: No premium versions, no hidden costs. All features are available to everyone.
  • Fully Configurable GUI: Control the title, size, items, names, lore, and slot for every stat.
  • Extensive Stat Support: Track any vanilla statistic, including those with subtypes (Blocks, Entities).
  • Powerful PlaceholderAPI Integration:
    • Import: Display placeholders from any other PAPI-enabled plugin.
    • Export: Creates dynamic placeholders for every stat you configure (e.g., `%ogiplayerstats_player_kills%`).
  • Dynamic Item Skins: Use `PLAYER_HEAD` material with a `skull-owner` to display player-specific skins.
  • Optimized Performance: Lightweight and designed to ensure minimal server impact.
  • Universal Compatibility: A single JAR file supports all server versions from 1.16.5 to 1.21+.

Screenshots
[​IMG]
An example of the default stats GUI.


Installation
  1. Download the latest release from this page.
  2. (Optional but Recommended) Install PlaceholderAPI to unlock the full potential of the plugin.
  3. Place the `OgiPlayerStats-X.X.X.jar` file into your server's `/plugins` directory.
  4. Restart your server. The default configuration file will be generated at `/plugins/OgiPlayerStats/config.yml`.

Commands & Permissions
Code (Text):

# === Commands ===
/stats [player]   - Opens the stats GUI for yourself or another player.
/stats reload     - Reloads the config.yml.

# === Permissions ===
ogiplayerstats.view         - Allows viewing your own stats. (Default: true)
ogiplayerstats.view.others  - Allows viewing other players' stats. (Default: op)
ogiplayerstats.reload       - Allows reloading the plugin's configuration. (Default: op)
 


PlaceholderAPI Integration
OgiPlayerStats automatically generates its own placeholders based on the `name` field of each stat in your configuration. The name is converted to lowercase, stripped of color codes, and spaces are replaced with underscores.

Example:
A stat with `name: "&bPlayer Kills"` becomes
Code (Text):
%ogiplayerstats_player_kills%
A stat with `name: "&ePlayer Balance"` becomes
Code (Text):
%ogiplayerstats_player_balance%
You can use these placeholders in any plugin that supports PlaceholderAPI, such as scoreboards, chat formatters, or holograms.​


⚙️ Default Configuration
Code (YAML):

# ---------------------------------- #
#    OgiPlayerStats Configuration    #
# ---------------------------------- #

# Message settings (for errors, etc.)
messages
:
  no-permission
: "&cYou do not have permission to use this command."
  player-not-found
: "&cPlayer '{player}' not found."

# --- GUI Settings ---
gui-settings
:
  # The title of the stats inventory. Use color codes with '&'.
  # You can use {player} as a placeholder for the target's name.
  title
: "&1&lStats for: &9{player}"
  # Size of the inventory. MUST be a multiple of 9 (e.g., 27, 36, 45, 54).
  size
: 36
  # Filler item for empty slots in the GUI.
  filler-item
:
    enabled
: true
    material
: "GRAY_STAINED_GLASS_PANE"
    name
: "&r" # An empty name

# --- Displayed Stats ---
# Each item in this list will be an item in the GUI.
#
# Find Material names here: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Material.html
# Find Statistic names here: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Statistic.html
# Find EntityType names here: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/entity/EntityType.html
#
# Slots are numbered 0-53 (top-left to bottom-right).
displayed-stats
:
  - slot
: 11
    material
: "DIAMOND_SWORD"
    name
: "&bPlayer Kills"
    lore
:
     - "&7Total players defeated."
      - ""
      - "&aValue
: &f{value}"
    statistic
: "PLAYER_KILLS"

  # Here's another example for killing a specific mob.
  - slot
: 12
    material
: "ZOMBIE_HEAD"
    name
: "&bZombies Killed"
    lore
:
     - ""
      - "&aValue
: &f{value}"
    statistic
: "KILL_ENTITY"
    # The general statistic is "KILL_ENTITY"...
    type
: "ENTITY_TYPE"
    # ...and the specific entity we want to count is "ZOMBIE".
    sub-type
: "ZOMBIE"

  # --- NEW: PAPI Placeholder Example (Vault Economy) ---
  - slot
: 13
    material
: "GOLD_INGOT"
    name
: "&ePlayer Balance"
    lore
:
     - "&7Your current balance on the server."
      - ""
      - "&aValue
: &f{value}"
    # Use 'placeholder' INSTEAD of 'statistic'.
    # This requires Vault and an economy plugin.
    placeholder
: "%vault_eco_balance_formatted%"

  # This is a COMPLEX statistic. The main statistic 'MINE_BLOCK' is a general
  # category, so we need to specify exactly WHAT we're counting.
  - slot
: 14
    material
: "DIAMOND_PICKAXE"
    name
: "&bDiamonds Mined"
    lore
:
     - "&7Diamond ore blocks broken."
      - ""
      - "&aValue
: &f{value}"
    statistic
: "MINE_BLOCK"
    # The 'type' tells the plugin what kind of thing to look for.
    # Usually "BLOCK" for materials/items, or "ENTITY_TYPE" for mobs/players.
    type
: "BLOCK"
    # The 'sub-type' is the exact name of the block, item, or entity.
    # In this case, we want to count how many DIAMOND_ORE blocks were mined.
    sub-type
: "DIAMOND_ORE"


  # --- NEW: PAPI Placeholder with a Player Head ---
  - slot
: 15
    material
: "PLAYER_HEAD"
    # The {player} placeholder here will be replaced with the target player's name.
    skull-owner
: "{player}"
    name
: "&d{player}'s Playtime"
    lore
:
     - "&7Total time played, tracked by another plugin."
      - ""
      - "&ePlaytime
: &f{value}"
    # This could be from EssentialsX (%essentials_playtime_formatted%),
    # or another playtime plugin.
    placeholder
: "%statistic_time_played%"


 
# Full example:
Code (Text):

displayed-stats:
  # --- Player Info (Top Center) ---
  - slot: 4
    material: "PLAYER_HEAD"
    skull-owner: "{player}"
    name: "&b{player}'s Stats"
    lore:
      - "&7An overview of player's journey."
      - ""
      - "&ePlaytime: &f%statistic_time_played%"
      - "&eJoin Date: &f%player_first_join_date%"

  # --- Core PvP Stats (Row 2) ---
  - slot: 11
    material: "DIAMOND_SWORD"
    name: "&aPlayer Kills"
    lore:
      - "&7Foes vanquished in battle."
      - ""
      - "&eValue: &f{value}"
    statistic: "PLAYER_KILLS"

  - slot: 12
    material: "NETHERITE_SWORD"
    name: "&cDeaths by Player"
    lore:
      - "&7Times player was bested by another."
      - ""
      - "&eValue: &f{value}"
    statistic: "ENTITY_KILLED_BY"
    type: "ENTITY_TYPE"
    sub-type: "PLAYER"

  - slot: 13
    material: "DRAGON_HEAD"
    name: "&5Ender Dragon Kills"
    lore:
      - "&7How many times player've conquered"
      - "&7the Ender Dragon."
      - ""
      - "&eKills: &f{value}"
    statistic: "KILL_ENTITY"
    type: "ENTITY_TYPE"
    sub-type: "ENDER_DRAGON"

  - slot: 14
    material: "SKELETON_SKULL"
    name: "&cTotal Deaths"
    lore:
      - "&7Every time player've met end."
      - ""
      - "&eValue: &f{value}"
    statistic: "DEATHS"

  - slot: 15
    material: "TOTEM_OF_UNDYING"
    name: "&eTotems Popped"
    lore:
      - "&7How many times player've defied death."
      - ""
      - "&eValue: &f{value}"
    statistic: "USE_ITEM"
    type: "ITEM"
    sub-type: "TOTEM_OF_UNDYING"

  # --- Lifesteal & Resources (Row 3) ---
  - slot: 20
    material: "GOLDEN_APPLE"
    name: "&6Golden Apples Eaten"
    lore:
      - "&7The fruit of PvP champions."
      - ""
      - "&eValue: &f{value}"
    statistic: "USE_ITEM"
    type: "ITEM"
    sub-type: "GOLDEN_APPLE"
 
  - slot: 21
    material: "DIAMOND"
    name: "&bDiamonds Mined"
    lore:
      - "&7The foundation of wealth and power."
      - ""
      - "&eValue: &f{value}"
    statistic: "MINE_BLOCK"
    type: "BLOCK"
    sub-type: "DIAMOND_ORE"

  - slot: 22 # Centerpiece Lifesteal Stat
    material: "HEART_OF_THE_SEA"
    name: "&c❤ Lifesteal Hearts"
    lore:
      - "&7Current maximum health."
      - ""
      - "&eHearts: &f{value}"
    placeholder: "%lifestealz_hearts%"

  - slot: 23
    material: "NETHERITE_SCRAP"
    name: "&8Ancient Debris Mined"
    lore:
      - "&7Forging the strongest armor."
      - ""
      - "&eValue: &f{value}"
    statistic: "MINE_BLOCK"
    type: "BLOCK"
    sub-type: "ANCIENT_DEBRIS"

  - slot: 24
    material: "NETHERITE_CHESTPLATE"
    name: "&6Mob Kills"
    lore:
      - "&7Creatures slain for loot and XP."
      - ""
      - "&eValue: &f{value}"
    statistic: "MOB_KILLS"

  # --- Economy & Server Info (Bottom Row) ---
  - slot: 30
    material: "EMERALD"
    name: "&aRevived"
    lore:
      - "&7How many times was a player revived"
      - ""
      - "&eValue: &f{value}"
    placeholder: "%lifestealz_revived%"

  - slot: 31 # Bottom Centerpiece
    material: "GOLD_INGOT"
    name: "&ePlayer Balance"
    lore:
      - "&7Current wealth."
      - ""
      - "&eBalance: &f{value}"
    placeholder: "%vault_eco_balance_formatted%"

  - slot: 32
    material: "COMPASS"
    name: "&bOnline Status"
    lore:
      - "&7Is currently online?"
      - ""
      - "&eStatus: &f{value}"
    placeholder: "%player_online%"
 
upload_2025-7-1_6-11-12.png



Need help or have a suggestion?
The best place to get support is on our GitHub Issues page.

If you enjoy this free plugin, please consider leaving a review! It helps a lot!
Resource Information
Author:
----------
Total Downloads: 31
First Release: Jul 1, 2025
Last Update: Jul 1, 2025
Category: ---------------
All-Time Rating:
0 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings