ModsJava
SuperFriends
This Minecraft plugin adds the ability to have friends on Minecraft servers!
⬇ Download on HangarOpen in MCModsHubGet it on Google Play →# 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:
```text
/friend best
```
- 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 ` | Everyone |
| `/friend privacy friend_requests ` | Everyone |
| `/friend privacy see_status ` | Everyone |
### Privacy Levels
- `all`
- `friends_only`
- `best_friends_only`
- `none`
---
# 💾 Storage
### SQLite
- Built-in
- Zero setup
- Database stored in:
```text
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 ` | `superfriends.friend` |
| `/friend accept ` | `superfriends.friend` |
| `/friend deny ` | `superfriends.friend` |
| `/friend remove ` | `superfriends.friend` |
| `/friend list` | `superfriends.friend` |
| `/friend best ` | `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.
```yaml
lang:
prefix: "[SuperFriends] "
friend_accepted: "You are now friends with {player}!"
friend_join: "+ {player} is now online."
```
## Supported Formatting
### Colors
```text
```
### Decorations
```text
```
### Hex Colors
```text
<#FF6600>
```
### Gradients
```text
Text
```
### Rainbow
```text
Text
```
> MiniMessage gradients and hex colors require **Paper**, **Purpur**, or **Folia**.
> On **Spigot/Bukkit**, standard named colors continue to work.
---
# ⚙️ Configuration
```yaml
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: "[SuperFriends] "
```
---
# 🌍 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
1. Drop `SuperFriends.jar` into your `plugins/` folder.
2. Start or restart your server.
3. Edit `plugins/SuperFriends/config.yml` if needed.
4. Run:
```text
/sf reload
```
to reload the configuration.
**No dependencies required.**
SQLite is bundled inside the plugin.
---
# ❤️ Credits
Made with ❤️ by **Dragon_45_**
SuperFriends is a free Minecraft Java mod. Compatible with Minecraft 1.19, 1.19.1, 1.19.2, 1.19.3 and newer. Downloaded 3 times (via Hangar). Download it and open it directly in the game.
Explore more