XzAffinity

Affinity system for PocketMine-MP servers

📋 Overview

XzAffinity is a comprehensive relationship system for PocketMine-MP servers, inspired by Mobile Legends' affinity system. It allows players to form special relationships with each other, such as Lovers, Best Friends, Siblings, or Rivals. This plugin enhances player interaction and creates a more engaging social experience on your server.

Developed by IndraMC, XzAffinity features an intuitive UI system powered by FormAPI, making it easy for players to manage their relationships.

✨ Features

  • Multiple Affinity Types: Customize different relationship types (Lovers, Best Friends, Siblings, Rivals, etc.)
  • User-friendly UI: Easy-to-use forms for all player interactions
  • Request System: Send, accept, or decline affinity requests
  • Relationship Management: View and delete existing affinities
  • Join/Quit Notifications: Get notified when your affinity partners join or leave the server
  • Admin Controls: Easily manage affinity types and their limits
  • Per-Type Limits: Set different maximum limits for each affinity type
  • Fully Configurable: Customize all messages and settings

🗒️ Example usage

Player

  • Sending an request type /affinity request or select send request from main menu
  • select a player from the list and choose an affinity type to request
  • the player will receiver a notification about your request
  • accepting/declining requests type /affinity or /affinity accept to open the requests menu
  • Select the request you want to manage
  • Choose to accept or decline the request
  • Both players will be notified of the decision
  • Managing Affinities
  • Type /affinity list to view your current affinities
  • Use /affinity delete <player> to remove an affinity

Admin

  • Type /affinityadmin to open the admin menu
  • Select Manage Affinity Types to view, edit, or delete types
  • Select Add New Affinity Type to create a new type

📥 Installation

  1. Download the latest version of XzAffinity from Poggit
  2. Place both plugins in your server's plugins folder
  3. Restart your server
  4. Configure the plugin settings in plugin_data/XzAffinity/config.yml (optional)

🔧 Commands

Player Commands

CommandDescriptionPermission
/affinityOpens the main affinity menuxzaffinity.command.use
/affinity requestOpens the player selection menu to send a requestxzaffinity.command.use
/affinity accept <player>Accept an affinity requestxzaffinity.command.use
/affinity decline <player>Decline an affinity requestxzaffinity.command.use
/affinity delete <player>Delete an existing affinityxzaffinity.command.use
/affinity listView your affinities and pending requestsxzaffinity.command.use
/affinity typesView available affinity types and their limitsxzaffinity.command.use

Admin Commands

CommandDescriptionPermission
/affinityadminOpens the admin management menuxzaffinity.command.admin

🔒 Permissions

PermissionDescriptionDefault
xzaffinity.command.useAllows using all player commandstrue
xzaffinity.command.adminAllows using admin commandsop

⚙️ Configuration

XzAffinity is highly configurable. You can customize all messages in the config.yml file, and you can customize affinity types and maximum limits in the settings.yml file.

Default Affinity Types

  • Lovers (Default max: 1)
  • Best Friends (Default max: 3)
  • Siblings (Default max: 5)
  • Rivals (Default max: 3)

Example settings.yml

# Affinity types and their maximum limits
affinity_types:
  - "Lovers"
  - "Best Friends"
  - "Siblings"
  - "Rivals"

max_affinities:
  "Lovers": 1
  "Best Friends": 3
  "Siblings": 5
  "Rivals": 3

# You can customize all messages in the messages section

🙏 Credits

  • Developer: IndraMC
  • UI Library: FormAPI by jojoe77777
  • GitHub: LordzDraa
  • Discord: IndraMC#7345

Details

Version: 1.0.0

Downloads: 13

Updated: 6/27/2025

Supported API versions: 5.0.0 to 5.36.0

Categories: Fun

License: MIT

Producers

Collaborator