Compatibility
Minecraft: Java Edition
Platforms
Creators
Details
Friends is a social plugin that lets players add friends, send messages, mail, gifts, and create parties on your server. Works across BungeeCord and Velocity networks, with full Folia support.
Features
- Friend System โ Add friends, best friends, favorites, groups, notes, and nicknames.
- Friend Chat โ
/fcchannel to broadcast to all online friends at once. - Gift System โ Send items to friends with anti-abuse protection (cooldowns, daily limits, blacklist).
- Private Messaging โ Direct messages with reply functionality and sound notifications.
- Mail System โ Send offline messages to players who aren't online. Can be disabled server-wide.
- Party System โ Create parties, invite friends, and manage groups.
- Party Effects โ Party members get potion effects with proximity-based activation.
- Party Waypoints โ Action-bar arrow pointing at the nearest member or a specific locked target.
- Last-Seen Lookup โ
/friend seen <player>checks when any player was last online. - Leaderboards โ Rankings for most friends, gifts sent, and messages.
- Statistics โ Track your social stats and see your rankings.
- GUIs โ Clean inventory menus with custom model data support for resource packs.
- Cross-Server โ Full BungeeCord and Velocity support in a single jar.
- Folia Support โ Works on Folia's region-threaded scheduler out of the box.
- PlaceholderAPI โ 25+ placeholders for scoreboards and more.
- WorldGuard โ Friend groups can auto-share your WG region access.
- GriefPrevention โ Party members auto-trusted in leader's claims.
- Database โ MySQL and SQLite with auto-migration.
- Developer API โ Full API for integration.
Commands
Friend
/friend add <player>โ Send a friend request./friend remove <player>โ Remove a friend./friend accept <player>โ Accept a request./friend deny <player>โ Deny a request./friend listโ View your friends./friend requestsโ View pending requests./friend best <player>โ Toggle best friend status./friend fav <player>โ Toggle favorite status./friend nick <player> <nickname>โ Set a nickname for a friend./friend note <player> <note>โ Add a note about a friend./friend group create/delete/set/listโ Manage friend groups./friend tp <player>โ Teleport to a friend./friend jump <player>โ Jump to a friend's server./friend info <player>โ View friend details./friend seen <player>โ Last-seen lookup for any player./friend block/unblock <player>โ Block or unblock a player./friend chat [message]โ Toggle friend chat mode or send a one-shot message./friend compassโ Toggle the party compass./friend waypoint <player|clear>โ Lock the compass on a specific member./friend emote <player> <type>โ Send a particle emote./friend status <message>โ Set your status message./friend menuโ Open the friends menu.
Messaging & Mail
/msg <player> <message>โ Send a private message./reply <message>โ Reply to the last message./mail read [page]โ Read your mail./mail send <player> <message>โ Send mail./mail delete <id/all>โ Delete mail./fc [message]โ Friend chat channel.
Party
/party createโ Create a party./party invite <player>โ Invite a player./party accept/deny <player>โ Handle invitations./party leaveโ Leave your party./party kick <player>โ Kick a player./party infoโ View party info./party disbandโ Disband your party./party transfer <player>โ Transfer leadership./party effectsโ View active effects./party shopโ Purchase party effect upgrades (requires Vault)./party chat [message]โ Toggle party chat mode or send a one-shot message./pc [message]โ Party chat shortcut.
Gifts
/gift <player>โ Send the held item to a friend./gift pendingโ View pending gifts./gift accept <id>โ Accept a gift./gift deny <id>โ Deny a gift.
Menus & Admin
/settingsโ Open notification settings menu./statsโ View your social statistics./leaderboardโ View friend leaderboards./freloadโ Reload the plugin configuration./fupdateโ Check for plugin updates.
All primary commands also accept f-prefixed aliases (/fmsg, /freply, /fmail, /fparty, /fgift, /fstats, /fsettings, /fleaderboard) for servers with naming conflicts. On startup, the plugin warns if another plugin owns any primary name.
Permissions
| Permission | Default | Description |
|---|---|---|
friends.use |
true | Basic friend commands |
friends.mail |
true | Mail system access |
friends.party |
true | Party system access |
friends.party.effects |
true | Party effects access |
friends.chat |
true | Friend chat channel access |
friends.teleport |
true | Teleport to friends |
friends.jump |
true | Jump to a friend's server |
friends.network |
true | Cross-server features |
friends.reload |
op | Reload command |
friends.admin |
op | All admin commands |
PlaceholderAPI
%friends_count%โ Total friends%friends_online%โ Online friends%friends_offline%โ Offline friends%friends_best_friends%โ Best friends count%friends_favorites%โ Favorite friends count%friends_max%โ Max friends limit%friends_requests%โ Pending friend requests%friends_gifts_pending%โ Pending gifts%friends_gifts_sent%โ Total gifts sent%friends_gifts_received%โ Total gifts received%friends_gifts_daily_remaining%โ Gifts you can still send today%friends_gifts_cooldown%โ Gift cooldown remaining (seconds)%friends_messages_sent%โ Messages sent%friends_mail_total%โ Total mail%friends_mail_unread%โ Unread mail%friends_messaging_enabled%โ Private messages toggle%friends_status%โ Your status message%friends_in_party%โ In party (true/false)%friends_party_size%โ Party size%friends_party_name%โ Party name%friends_party_leader%โ Party leader name%friends_is_party_leader%โ Are you party leader (true/false)%friends_rank_friends%โ Leaderboard rank (friends)%friends_rank_gifts%โ Leaderboard rank (gifts)%friends_rank_messages%โ Leaderboard rank (messages)
Multi-Server Setup (BungeeCord / Velocity)
Only one jar is shipped: Friends.jar. It goes on every backend Spigot/Paper/Folia server. Nothing on the proxy.
1. Install the plugin
Drop Friends.jar into /plugins/ on every backend server in your network.
2. Set up MySQL
All servers share the same database. Open database.yml on each server and set:
database:
type: mysql
host: your-database-ip
port: 3306
name: friends
username: your-user
password: your-password
pool:
max-connections: 10
timeout: 30000
keep-alive: true
Make sure the friends database exists. Tables are created on first boot.
3. Configure each server
In config.yml set a unique name and enable networking:
server-name: "lobby"
network:
enabled: true
channel: "friends:network"
Use a unique server-name per backend (e.g. survival, skyblock, lobby).
4. Enable proxy mode on each backend
BungeeCord (spigot.yml):
settings:
bungeecord: true
Velocity (paper-global.yml):
proxies:
velocity:
enabled: true
online-mode: true
secret: "your-velocity-secret"
5. Restart every backend. Friend requests, messages, mail, and party invites sync across the network.
Quick Checklist
- [x] Friends.jar on every backend server
- [x] MySQL database shared across all servers
- [x] Unique
server-nameon each server - [x]
network.enabled: trueon each server - [x] BungeeCord mode or Velocity forwarding enabled
Troubleshooting
- Friends not syncing? Check every server points to the same MySQL database.
- Cross-server messages not working?
bungeecord: true(BungeeCord) or Velocity forwarding must be enabled. - Players show wrong server? Each server needs a unique
server-namein config.yml. - Another plugin owns /msg, /party etc.? Use the f-prefixed aliases (
/fmsg,/fparty) or/friends:<cmd>.
Config
server-name: "lobby"
settings:
max-friends: 0
best-friends:
max-limit: 5
enabled: true
friend-groups:
enabled: true
max-groups: 10
friend-teleport:
enabled: true
cooldown: 30
friend-jump:
enabled: true
cooldown: 10
private-messages:
friends-only: false
log-to-console: false
sounds: true
cross-server: true
allow-toggle: true
party:
max-size: 8
allow-public-parties: true
effects:
enabled: true
proximity-required: true
proximity-range: 50
scaling-strength: true
scale-percentage: 10
update-interval: 100
compass:
enabled: true
update-interval: 20
shop:
enabled: true
leader-only: true
reset-on-disband: true
integrations:
grief-prevention:
enabled: true
shared-building: true
shared-containers: true
shared-interactions: true
shared-entities: true
luck-perms:
enabled: true
worldguard:
enabled: false
shared-groups:
- trusted
- build
network:
enabled: true
channel: "friends:network"
mail:
enabled: true
auto-cleanup:
enabled: true
days-old: 30
gifts:
enabled: true
cooldown: 60
max-daily: 10
max-stack-size: 64
expiry-days: 7
blacklist:
- BEDROCK
- BARRIER
- COMMAND_BLOCK
emotes:
enabled: true
cooldown: 5
range: 10
debug: false
API Usage
Friend Management
FriendsAPI.getFriends(playerUUID); // Get a player's friends list
FriendsAPI.getOnlineFriends(playerUUID); // Get only online friends
FriendsAPI.areFriends(playerUUID, otherUUID); // Check friendship status
FriendsAPI.addFriend(playerUUID, friendUUID); // Add a friend directly
FriendsAPI.removeFriend(playerUUID, friendUUID); // Remove a friend
Friend Requests
FriendsAPI.sendFriendRequest(senderUUID, receiverUUID);
FriendsAPI.getPendingRequests(playerUUID);
FriendsAPI.acceptFriendRequest(receiverUUID, senderUUID);
FriendsAPI.denyFriendRequest(receiverUUID, senderUUID);
Messaging & Mail
FriendsAPI.sendMessage(senderUUID, receiverUUID, message);
FriendsAPI.getPlayerMail(playerUUID);
FriendsAPI.sendMail(senderUUID, receiverUUID, content);
Party System
FriendsAPI.createParty(leaderUUID);
FriendsAPI.disbandParty(partyId);
FriendsAPI.invitePlayerToParty(partyId, playerId);
FriendsAPI.getPlayerParty(playerId);
FriendsAPI.getPartyEffects(partyId);
FriendsAPI.sendPartyMessage(player, message);
FriendsAPI.isPartyChatEnabled(playerUUID);
Settings & Stats
FriendsAPI.getPlayerSettings(playerUUID);
FriendsAPI.getPlayerStats(playerUUID);
FriendsAPI.getLeaderboard(type, limit);
Optional Dependencies
- PlaceholderAPI โ For placeholders
- LuckPerms โ For permission integration
- GriefPrevention โ For claim trust integration
- WorldGuard โ For region sharing by friend group
- Vault โ For the party effects shop
- ProtocolLib โ For enhanced features


