WeFriends
1.0A comprehensive friend and party management system for Minecraft servers with cross-server support, built for Paper/Spigot and Folia.
1.0latestWeFriends 1.0Aug 24, 2025 We-Friends
[](htt… [](https:… [](htt… [](… A comprehensive friend and party management system for Minecraft servers with cross-server support, built for Paper/Spigot and Folia.Features
- Friend Requests: Send, accept, and deny friend requests - Friend List: View online/offline friends with status indicators - Friend Chat: Private messaging and group chat with friends - Join/Quit Notifications: Get notified when friends join or leave - Request Toggle: Enable/disable receiving friend requests - Cross-Server Support: Friends can interact across multiple serversFriend System
- Party Creation: Create and manage parties with friends - Party Invites: Invite friends to join your party - Party Chat: Dedicated party chat channel - Party Roles: Leader and member roles with permissions - Party Management: Kick, promote, transfer leadership, and disband - Cross-Server Parties: Party members can be on different serversParty System
- Multi-Server Network: Connect multiple servers with Redis - Real-time Sync: Instant notifications across servers - Server Identification: See which server friends/party members are on - Seamless Experience: Chat and interact across the entire networkCross-Server Support
- Database Support: SQLite and MySQL support - Redis Integration: For cross-server communication - PlaceholderAPI: Custom placeholders for other plugins - Folia Support: Full compatibility with Folia servers - Chat Spy: Staff can monitor friend/party chats - Chat Modes: Toggle between normal, friend, and party chatAdvanced Features
- Java: 17 or higher - Server Software: Paper 1.21.1+ or Folia - Database: SQLite (included) or MySQL - Redis: Required for cross-server functionality (optional)Requirements
1. Download the latest release from [Releases](https://github.com/WeThink25/We-Friends/releases) 2. Place the JAR file in your server'sInstallation
pluginsfolder 3. Start your server to generate the configuration files 4. Configure the plugin (see Configuration section) 5. Restart your serverConfiguration
Basic Setup (Single Server)
# config.yml database: type: sqlite # Use SQLite for single server server: name: lobby # Your server name cross-server: enabled: false # Disable for single server redis: enabled: false # Not needed for single serverMulti-Server Setup
# config.yml database: type: mysql # Required for multi-server mysql: host: localhost port: 3306 database: wefriends username: root password: "your_password" server: name: lobby # Unique name for each server cross-server: enabled: true # Enable cross-server features sync-interval: 30 notification-timeout: 5 redis: enabled: true # Required for cross-server host: localhost port: 6379 password: "" channel: wefriends:events limits: max-friends: 200 max-party-size: 8Database Setup (MySQL)
CREATE DATABASE wefriends; CREATE USER 'wefriends'@'%' IDENTIFIED BY 'your_password'; GRANT ALL PRIVILEGES ON wefriends.* TO 'wefriends'@'%'; FLUSH PRIVILEGES;Commands
Friend Commands
-/friend add <player>- Send a friend request -/friend accept <player>- Accept a friend request -/friend deny <player>- Deny a friend request -/friend remove <player>- Remove a friend -/friend list- View your friends list -/friend requests- View pending requests -/friend toggle- Toggle friend requests on/off -/fchat <message>- Send a message to all friends -/fmsg <friend> <message>- Send a private message to a friendParty Commands
-/party create- Create a new party -/party invite <player>- Invite a friend to your party -/party accept <player>- Accept a party invite -/party deny <player>- Deny a party invite -/party leave- Leave your current party -/party kick <player>- Kick a member from the party (leader only) -/party promote <player>- Promote a member to leader (leader only) -/party transfer <player>- Transfer leadership (leader only) -/party disband- Disband the party (leader only) -/pc <message>- Send a message to party membersChat Mode Commands
-/fchatmode- Toggle friend chat mode -/pchatmode- Toggle party chat mode -/chatmode- View current chat modeAdmin Commands
-/fchatspy- Toggle friend chat spy (permission required) -/partyspy- Toggle party chat spy (permission required) -/wefriends reload- Reload the plugin configurationPermissions
Player Permissions
-wefriends.friend.use- Use friend commands -wefriends.party.use- Use party commands -wefriends.chat.friend- Use friend chat -wefriends.chat.party- Use party chatAdmin Permissions
-wefriends.admin- Access admin commands -wefriends.spy.friend- Spy on friend chats -wefriends.spy.party- Spy on party chats -wefriends.reload- Reload plugin configuration
The plugin provides placeholders for use with PlaceholderAPI: -PlaceholderAPI
%wefriends_friends_online%- Number of online friends -%wefriends_friends_total%- Total number of friends -%wefriends_party_size%- Current party size -%wefriends_party_leader%- Party leader name -%wefriends_in_party%- Whether player is in a party (true/false)API Usage
Maven Dependency
<dependency> <groupId>me.wethink</groupId> <artifactId>wefriends</artifactId> <version>1.0.0</version> <scope>provided</scope> </dependency>Basic API Examples
// Get the plugin instance WeFriends plugin = WeFriends.getInstance(); // Check if two players are friends boolean areFriends = plugin.getFriendManager().areFriends(player1UUID, player2UUID); // Get a player's friends Set<UUID> friends = plugin.getFriendManager().getFriendUuidsPublic(playerUUID); // Get party information String partyId = plugin.getPartyManager().getPartyIdPublic(playerUUID); List<UUID> partyMembers = plugin.getPartyManager().getPartyMembers(partyId);Cross-Server Setup Guide
Step 1: Database Configuration
Set up a shared MySQL database accessible by all servers:database: type: mysql mysql: host: your-database-host port: 3306 database: wefriends_network username: wefriends_user password: secure_passwordStep 2: Redis Configuration
Configure Redis for real-time communication:redis: enabled: true host: your-redis-host port: 6379 password: redis_password channel: wefriends:networkStep 3: Server Identification
Give each server a unique name:server: name: lobby # For lobby server name: survival # For survival server name: creative # For creative serverStep 4: Enable Cross-Server Features
cross-server: enabled: true sync-interval: 30 notification-timeout: 5Troubleshooting
Common Issues
Database Connection Failed - Verify MySQL credentials and host accessibility - Check firewall settings - Ensure database exists and user has proper permissions Redis Connection Failed - Verify Redis server is running - Check Redis host and port configuration - Verify Redis password if authentication is enabled Cross-Server Not Working - Ensure all servers use the same MySQL database - Verify Redis configuration is identical across servers - Check that server names are unique - Confirmcross-server.enabledis true Plugin Not Loading - Verify Java 17+ is installed -
Similar projects
Plugin →VeinMiner
Mine the whole vein on mining a single ore/block. Make the tedious mining experience to something satisfying and fun! FTB Ultimine alternative
99.3MSueta
VeinMiner Enchantment
Veinminer Addon - Adds vineminer enchantment to enchanting tables. Only tools with the enchantment can veinmine
18MSueta
WorldEdit
A Minecraft Map Editor... that runs in-game! With selections, schematics, copy and paste, brushes, and scripting. Use it in creative, or use it temporarily in survival.
11.6MSueta
LuckPerms
A permissions plugin/mod for Minecraft servers.
2.8MSueta
ItemSwapper
Inventory update concept for hotswapping items.
2.1MSueta
SkinsRestorer
🎨 Ability to restore/change skins on servers! (Offline and Online Mode)
1.6MSueta