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
An example of the default stats GUI.
Installation
Download the latest release from this page.
(Optional but Recommended) Install PlaceholderAPI to unlock the full potential of the plugin.
Place the `OgiPlayerStats-X.X.X.jar` file into your server's `/plugins` directory.
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.
# 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%"
# --- 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%"