This Minecraft plugin adds the ability to have friends on Minecraft servers!
SuperFriends
Advanced friends & social plugin — made by Dragon_45_
Paper • Purpur • Folia • Spigot • Bukkit
Minecraft 1.20.x – 1.21.x
✨ Features
👥 Friends System
- Send, accept, and deny friend requests
- Remove a friend at any time
- View your friend list with live status and friendship level
- Configurable max-friend limit per server
⭐ Exclusive Best Friend
Set one special Best Friend among your friends using:
/friend best <player>
- Only one Best Friend allowed at a time
- Setting a new Best Friend automatically demotes the previous one
- Highlighted with the ⭐ Best Friend tag
- Can be removed at any time
- Stored in the database and persists across restarts
📊 Friendship Levels
| Level | Requirement |
|---|---|
| Friend | Just friends |
| Good Friend | 10+ interactions |
| ⭐ Best Friend | Manually set with /friend best |
🌐 Presence & AFK System
- Real-time status:
- 🟢 Online
- 🌙 AFK
- ⛔ DND
- 👻 Invisible
- Automatic AFK detection based on movement
- No per-tick spam (configurable interval)
- Optional world name display
- DND players receive no notifications
🔔 Per-Player Notification Preferences
Every player controls their own notification settings.
| Command | Default |
|---|---|
/friend notifications join on/off |
✅ ON |
/friend notifications leave on/off |
✅ ON |
/friend notifications death on/off |
❌ OFF |
/friend notifications only_best on/off |
❌ OFF |
🔒 Per-Player Privacy Settings
Choose who can interact with you.
| Command | Default |
|---|---|
/friend privacy messages <level> |
Everyone |
/friend privacy friend_requests <level> |
Everyone |
/friend privacy see_status <level> |
Everyone |
Privacy Levels
allfriends_onlybest_friends_onlynone
💾 Storage
SQLite
- Built-in
- Zero setup
- Database stored in:
plugins/SuperFriends/
MySQL
Optional.
Configure everything inside config.yml.
Performance
- Fully asynchronous database operations
- Zero main-thread lag
- Automatic batch save every 5 minutes
- Save on quit
- Save on shutdown
- Offline player names always available
📋 Commands
| Command | Permission |
|---|---|
/friend add <player> |
superfriends.friend |
/friend accept <player> |
superfriends.friend |
/friend deny <player> |
superfriends.friend |
/friend remove <player> |
superfriends.friend |
/friend list |
superfriends.friend |
/friend best <player> |
superfriends.friend |
/friend privacy [action] [level] |
superfriends.friend |
/friend notifications [type] [on/off] |
superfriends.friend |
/superfriends info |
superfriends.admin |
/superfriends reload |
superfriends.admin |
Aliases
| Alias | Command |
|---|---|
/f |
/friend |
/friends |
/friend |
/sf |
/superfriends |
🎨 MiniMessage Color Support
Every configurable message supports full MiniMessage formatting.
lang:
prefix: "<dark_gray>[<light_purple><bold>SuperFriends</bold><dark_gray>] "
friend_accepted: "<green>You are now friends with <white>{player}<green>!"
friend_join: "<green>+ <white>{player} <green>is now online."
Supported Formatting
Colors
<green>
<red>
<gray>
<white>
<light_purple>
<dark_gray>
Decorations
<bold>
<italic>
<underlined>
<strikethrough>
Hex Colors
<#FF6600>
Gradients
<gradient:#ff0000:#0000ff>Text</gradient>
Rainbow
<rainbow>Text</rainbow>
MiniMessage gradients and hex colors require Paper, Purpur, or Folia.
On Spigot/Bukkit, standard named colors continue to work.
⚙️ Configuration
friends:
max_friends: 100
presence:
show_world: true
afk_timeout_seconds: 300
afk_check_interval_seconds: 10
database:
type: sqlite
file: "superfriends.db"
mysql:
host: "localhost"
port: 3306
database: "superfriends"
username: "root"
password: ""
lang:
prefix: "<dark_gray>[<light_purple><bold>SuperFriends</bold><dark_gray>] "
🌍 Platform Compatibility
| Platform | 1.19.x | 1.20.x | 1.21.x |
|---|---|---|---|
| Paper | ✅ | ✅ | ✅ |
| Purpur | ✅ | ✅ | ✅ |
| Folia | ✅ | ✅ | ✅ |
| Spigot | ✅ | ✅ | ✅ |
| Bukkit | ✅ | ✅ | ✅ |
Platform is automatically detected at startup.
Folia's region-thread scheduler is loaded through reflection for full compatibility.
⚡ Performance
- 🚀 Zero database calls on the main thread
- 💾 In-memory player cache
- 📝 Dirty-flag batch saving
- ⏱️ No per-tick loops
- 📡 Event-driven architecture
- 📦 SQLite JDBC bundled inside the JAR
📥 Installation
- Drop
SuperFriends.jarinto yourplugins/folder. - Start or restart your server.
- Edit
plugins/SuperFriends/config.ymlif needed. - Run:
/sf reload
to reload the configuration.
No dependencies required.
SQLite is bundled inside the plugin.
❤️ Credits
Made with ❤️ by Dragon_45_
Information
| Category | Miscellaneous |
|---|---|
| Published on | June 24, 2026 |
| License | All Rights Reserved |
| Downloads | 0 |
| Stars | 0 |
| Watchers | 0 |