Logo
MINECRAFTBIBLE
Items
Items

All game items

Blocks
Blocks

Building blocks

Mobs
Mobs

Creatures & monsters

Biomes
Biomes

World biomes

Structures
Structures

Generated structures

Recipes
Recipes

Crafting guides

Advancements
Advancements

Achievements

Loot Tables
Loot Tables

Drop rates

Tags
Tags

Item groupings

All Versions
View all data →
Capes
Cape ArchiveNEW

Browse rare Minecon capes, OptiFine capes, and custom capes from players worldwide

Browse

Player Database
Player DatabasePopular

Search any player

Skin Browser
Skin Browser

Browse & download skins

Cape Gallery
Cape GalleryNEW

Minecon & OptiFine capes

Seed Vault
Seed Vault

Curated seeds

Learn

Guides
GuidesNew

Tutorials & tips

Blog
Blog

News & updates

Community

Community Hub
Community HubHub

Posts, discussions & more

All Versions
View community →
Seed Analyzer
Seed Analyzer

World seed analysis

Loot Explorer
Loot Explorer

Drop rates

Crafting Calculator
Crafting Calculator

Material planning

Enchant Calculator
Enchant Calculator

Probability math

Redstone Lab
Redstone Lab

Signal timing

Trading Profit
Trading Profit

Villager ROI

All Versions
View all tools →
Mods
Mods

Browse all mods

Plugins
Plugins

Server plugins

Resource Packs
Resource Packs

Textures & sounds

Shaders
Shaders

Visual enhancements

Datapacks
Datapacks

World logic

Scanner
Mod Intelligence

Scan & analyze any mod

All Versions
View all mods →
Loading...
IntroductionIntroductionVersion HistoryVersion HistoryGuidesGuidesBlog & NewsBlog & News
ItemsItemsBlocksBlocksMobsMobsRecipesRecipesBiomesBiomesStructuresStructuresAdvancementsAdvancementsLoot TablesLoot TablesTagsTags
ModsModsPluginsPluginsResource PacksResource PacksShadersShadersDatapacksDatapacks

MinecraftBible

The Ultimate Wiki

Logo
MINECRAFTBIBLE

The ultimate Minecraft reference. Every item, block, mob, and recipe documented with precision.

Community

  • Skin Browser
  • Cape Gallery
  • Seed Vault
  • Blog
  • Guides

Database

  • Items
  • Blocks
  • Mobs
  • Recipes
  • Biomes
  • Structures

Tools

  • Seed Analyzer
  • Mod Intelligence
  • Crafting Calculator
  • Enchant Calculator

Mods & Packs

  • Mods
  • Plugins
  • Resource Packs
  • Shaders
  • Datapacks

Site & Legal

  • About
  • Authors
  • Editorial Policy
  • Corrections
  • Contact
  • Privacy Policy
  • Terms of Service
  • DMCA
  • Sitemap

© 2026 MinecraftBible. Not affiliated with Mojang or Microsoft.

PrivacyTermsContact
PlayerNotes
PluginMIT

PlayerNotes

Easily allow staff to add notes to players! Cross server support (MySQL)

25
Downloads
0
Followers
8 months ago
Updated
📦
1
Versions
managementsocialutilitypaper
Download Latestv1.0.0View on Modrinth

📖About PlayerNotes

PlayerNotes is a simple staff tool for Minecraft servers that lets moderators record and check notes on players. Notes help staff keep track of warnings, behavior, and context over time, even when players are offline. The plugin includes commands to add, list, view, remove, and clear notes, along with full permission control. It supports both flat file storage for small servers and MySQL for bigger setups. Messages can be customized, MiniMessage formatting is supported, and PlaceholderAPI can show note info in chat or menus. Everything runs async to keep the server smooth, and the layout is clean so staff can use it without confusion.

Example

Commands

Spoiler

Main Command:
/note
Aliases: /notes, /pnote, /playernotes

Subcommands

/note add <player> <note>
Add a note to a player

/note remove <player> <id>
Remove a note by ID

/note clear <player>
Clear all notes for a player

/note list <player> [page]
Show notes for a player

/note info <player> <id>
Show full info for one note

Permissions

Spoiler
Permission What it does Default
playernotes.add Add notes op
playernotes.remove Remove notes op
playernotes.clear Clear notes op
playernotes.list View notes op
playernotes.info View note info op
playernotes.reload Reload config op

PlaceholderAPI

Spoiler

Soft dependency

Placeholders

Placeholder Meaning
%playernotes_count% Total notes for player
%playernotes_has_notes% true or false
%playernotes_latest_text% Latest note text
%playernotes_latest_actor% Who wrote latest note
%playernotes_latest_date% When latest note was added
%playernotes_latest_id% Latest note ID
%playernotes_oldest_text% Oldest note text
%playernotes_oldest_actor% Who wrote oldest note
%playernotes_oldest_date% When oldest note was added
%playernotes_note_<id>_text% Text of a note by ID
%playernotes_note_<id>_actor% Actor of that note

Message System

Spoiler

MiniMessage Support

  • Colors (names and hex)
  • Gradients
  • Rainbow text
  • Bold, italic, underline, strike, obfuscated
  • Hover and click events

Message placeholders

Placeholder Meaning
{prefix} Plugin prefix
{player} Target player
{actor} Staff name
{note} Note text
{id} Note ID
{timestamp} When note was made
{page} Page number
{total_pages} Number of pages
{count} Total notes
{notes} Formatted notes list

Storage Options

Spoiler

Flat File

  • YAML
  • Folder per UUID
  • Good for small servers

MySQL

  • Works across network
  • Uses HikariCP
  • Async

Files

Spoiler

config.yml

Spoiler
# PlayerNotes Configuration

# Storage configuration
storage:
  # Type of storage: "mysql" or "flatfile"
  type: flatfile
  
  # MySQL settings (only used if type is mysql)
  mysql:
    host: localhost
    port: 3306
    database: minecraft
    username: root
    password: password
    # Optional connection parameters
    params: "?useSSL=false&autoReconnect=true"
  
  # Flat file settings (only used if type is flatfile)
  flatfile:
    # Folder name under the plugin data folder
    folder: playerdata

# Display settings
display:
  # Number of notes per page in /note list
  page-size: 10
  
  # Date format for displaying timestamps
  # Available formats: ISO (2024-01-15T14:30:00), LOCAL (01/15/2024 02:30 PM), SIMPLE (2024-01-15 14:30)
  date-format: SIMPLE

# Validation settings
validation:
  # Maximum length for note text
  max-text-length: 512
  
  # Strip color codes from note text
  strip-colors: true

# Performance settings
performance:
  # Enable simple caching for recent note lists
  enable-cache: true
  
  # Cache time-to-live in seconds
  cache-ttl: 60
  
  # Maximum number of players to cache
  cache-size: 50

messages.yml

Spoiler
# PlayerNotes Messages Configuration
# All messages support MiniMessage formatting: https://docs.advntr.dev/minimessage/format.html
# Placeholders:
# {player} - Target player name
# {uuid} - Target player UUID
# {actor} - The person executing the action
# {id} - Note ID
# {count} - Number of notes
# {page} - Current page number
# {total_pages} - Total number of pages
# {timestamp} - Formatted timestamp
# {text} - Note text
# {max_length} - Maximum text length

# General messages
no-permission: "<red>You don't have permission to use this command."
player-not-found: "<red>Player '<yellow>{player}</yellow>' not found."
player-never-joined: "<red>Player '<yellow>{player}</yellow>' has never joined this server."
invalid-number: "<red>Invalid number provided."
storage-error: "<red>Failed to perform operation. Please try again later."

# Add command messages
add:
  usage: "<red>Usage: /note add <player> <text>"
  text-empty: "<red>Note text cannot be empty."
  text-too-long: "<red>Note text is too long. Maximum length is <yellow>{max_length}</yellow> characters."
  success: "<green>Note added to <yellow>{player}</yellow>."
  
# List command messages
list:
  usage: "<red>Usage: /note list <player> [page]"
  invalid-page: "<red>Invalid page number."
  no-self-permission: "<red>You don't have permission to view your own notes."
  empty: "<yellow>{player}</yellow> <gray>has no notes."
  header: "<gold><bold>=== Notes for {player} ==="
  uuid-line: "<gray>UUID: <white>{uuid}"
  total-line: "<gray>Total Notes: <white>{count} <gray>| <gray>Page: <white>{page}/{total_pages}"
  entry: "<yellow>[#{id}] <gray>{timestamp} <white>{actor}<gray>: <white>{text}"
  next-page: "<gray>Use <yellow>/note list {player} {page}</yellow> <gray>for the next page."
  
# Remove command messages
remove:
  usage: "<red>Usage: /note remove <player> <id>"
  invalid-id: "<red>Invalid note ID."
  success: "<green>Note <yellow>#{id}</yellow> removed from <yellow>{player}</yellow>."
  not-found: "<red>Note <yellow>#{id}</yellow> does not exist for <yellow>{player}</yellow>."
  
# Clear command messages
clear:
  usage: "<red>Usage: /note clear <player> confirm"
  confirm-prompt: "<red>Are you sure you want to clear all notes for <yellow>{player}</yellow>?"
  confirm-instruction: "<red>Use <yellow>/note clear {player} confirm</yellow> to proceed."
  success: "<green>Cleared <yellow>{count}</yellow> note(s) from <yellow>{player}</yellow>."
  empty: "<yellow>{player}</yellow> <gray>has no notes to clear."
  
# Info command messages
info:
  usage: "<red>Usage: /note info <player>"
  no-self-permission: "<red>You don't have permission to view your own notes."
  header: "<gold><bold>=== Note Info for {player} ==="
  uuid-line: "<gray>UUID: <white>{uuid}"
  total-line: "<gray>Total Notes: <white>{count}"
  latest-header: "<gray>Latest Note:"
  latest-entry: "<yellow>[#{id}] <gray>{timestamp} <white>{actor}<gray>: <white>{text}"
  view-all: "<gray>Use <yellow>/note list {player}</yellow> to view all notes."
  
# Reload command messages
reload-success: "<green>Plugin configuration and messages reloaded successfully!"

# Help command messages
help:
  header: "<gold><bold>=== PlayerNotes Commands ==="
  entry: "<yellow>/note {usage} <gray>- <white>{description}"
  unknown-subcommand: "<red>Unknown subcommand. Use <yellow>/note</yellow> for a list of commands."

👥 Team & Contributors

aarushbhutra25
aarushbhutra25Owner

⚙️ Compatibility

Environment
🖥️ Server-side
Loaders
paper
Minecraft Versions
1.21.41.21.51.21.61.21.71.21.81.21.91.21.10

🔗 Links

Modrinth Page