!Description
zMClans
Clan system for Paper / Purpur 1.20+
High performance · Fully configurable · No compromises
Modern, lightweight and fully customizable clans.
No mandatory dependencies, no main-thread blocking, no limits.
Why zMClans?
What you get
|
What you avoid
|
Features
Complete Clan Management
- Creation with tag and optional modtag
- Invitations with async expiration
- Accept, deny and cancel
- Voluntary leave (leader protected)
- Hierarchical kick by rank
- Disband with safe confirmation
- Public join — Open clans via
/clan join <clan>
Named Homes System
- Multiple homes per clan (limit scalable by level)
- Configurable warmup with real-time cancellation (ignores camera rotations)
- Cooldown with bypass permission (
zmclans.clan.bypass.cooldown) - Shared visibility with allies based on settings
- Dedicated GUI + direct commands
home:
max-homes: 3
teleport-cooldown: 30
teleport-warmup: 5
cancel-on-move: true
ModTag with Gradients and Hex
Native Adventure MiniMessage support:
<bold><gradient:#9A23FF:#7C09DE:#9A23FF>ZEPHY</gradient></bold>
Legacy hex support:
	A23FF&lZB16EF&lEC09DE&lPB16EF&lH	A23FF&lY
Guaranteed safety — Blocks
click,hoverand command injections. Only allows visual styles.
Alliances, Rivalries and Friendly Fire
- Reciprocal requests with configurable expiration
- Per-level ally/rival limits
- Interactions between allies:
- Share homes
- Ally chat
- Configurable ally PvP
- Friendly Fire for members:
- Blocks melee damage
- Blocks projectiles (arrows, tridents, etc.)
- Toggleable via
/clan ffor GUI
Private Clan Chat
- Integrated with Paper's modern API (
AsyncChatEvent) — no deprecations - Toggle mode (
/clan chat) or direct send (/clan chat <msg>) - Configurable format with tag, rank and prefix
format: "{tag} &7| {rank_prefix}{player} &8» &f{message}"
Points, Levels and Ranking
Configurable points for:
- Clan creation
- Member join
- Kills / Deaths
- Rank changes
Customizable formula:
progression:
base-points: 100
exponent: 1.5
start-level: 1
max-level: 50
level-limits:
1:
members: 10
homes: 1
allies: 2
rivals: 3
10:
members: 30
homes: 5
allies: 8
rivals: 10
Paginated leaderboard with filters:
- Members
- Points
- Kills
- Deaths
- KDR
Notification System
Each event has independent control over:
- Title / Subtitle (with fade-in/out)
- ActionBar
- Sound (volume and pitch)
Included events:
| Category | Events |
|---|---|
| Progression | clan-points-earned, clan-levelup, clan-create, clan-disband |
| Members | member-promote, member-demote, member-kick, member-join, member-leave, member-joined, member-left, member-kicked, transfer-leader |
| Invitations | invite-sent, invite-received, invite-accepted |
| Homes / Alliances | home-teleport, home-set, ally-accepted |
100% Configurable GUIs (YAML)
Data-driven architecture — zero Java code needed to customize.
| File | Description |
|---|---|
general.yml | Start and main menu |
members.yml | Paginated member list |
member_manage.yml | Individual management |
clanlist.yml | Ranking and clan browser |
invite.yml | One-click invite |
invites.yml | Received invitations |
settings.yml | Settings panel |
clan_info.yml | Info + statistics |
homes.yml | Home management |
confirm.yml | Critical confirmation |
Supported actions:
- CLOSE
- CANCEL
- PAGE_NEXT / PAGE_PREV
- OPEN_GUI:<name>
- CREATE_CLAN
- SHOW_HELP
- TOGGLE_CHAT
- CLAN_HOME_OR_SETHOME
- TOGGLE_SETTING:<key>
- MEMBER_PROMOTE / MEMBER_DEMOTE / MEMBER_KICK / MEMBER_TRANSFER_LEADER
- CMD_PLAYER:<cmd>
- CMD_CONSOLE:<cmd>
Robust Storage (SQLite / MySQL)
- HikariCP for efficient pooling
- Periodic async saving
- Single writer to preserve operation order
- Additive migrations (no data loss)
- Final save before shutdown
storage:
type: "MYSQL" # or SQLITE
auto-save-interval: 5
mysql:
host: "localhost"
port: 3306
database: "zmclans"
pool-size: 10
useSSL: false
Public API and Bukkit Events
Plugin candidate = Bukkit.getPluginManager().getPlugin("zMClans");
if (candidate instanceof zMClans clans && clans.isEnabled()) {
ZMClansAPI api = clans.getAPI();
api.getClanByPlayer(player.getUniqueId()).ifPresent(clan ->
player.sendMessage(clan.name() + " | level " + clan.level() + " | KDR " + clan.kdr()));
}
Available events:
ClanCreatedEventClanMemberJoinEventClanMemberLeaveEventClanPointsChangeEventClanLevelChangeEvent
All calls must be executed on the main thread.
Commands
Player (/clan, /c, /clans)
View full player command table
| Command | Description |
|---|---|
/clan | Opens the main interactive menu |
/clan create <name> [tag] | Creates a clan |
/clan info [clan] | Clan information |
/clan list | Leaderboard menu |
/clan invite <player> | Invites a player |
/clan invites | Invitations GUI |
/clan accept [clan] | Accepts an invitation |
/clan deny [clan] | Denies an invitation |
/clan join <clan> | Joins a public clan |
/clan members | Members GUI |
/clan setrank <player> <rank> | Assigns a rank |
/clan kick <player> | Kicks a member |
/clan leave | Leaves the clan |
/clan disband [confirm] | Disbands the clan |
/clan home [name] | GUI or teleport |
/clan homes | Homes GUI |
/clan sethome [name] | Creates/updates a home |
/clan delhome <name> | Deletes a home |
/clan chat [message] | Clan chat |
/clan ff | Toggles friendly fire |
/clan desc <text> | Changes the description |
/clan modtag <tag> | Changes tag with formatting |
/clan settings | Settings GUI |
/clan ally add|accept|deny|cancel|remove <clan> | Manages alliances |
/clan rival add|remove <clan> | Manages rivalries |
/clan relation remove <clan> | Removes a relation |
/clan stats | Consolidated clan info |
/clan help | Help |
Administrator (/zmclan, /zmclans, /clanadmin)
| Command | Description | Permission |
|---|---|---|
/zmclan help | List admin commands | zmclans.admin.help |
/zmclan reload | Reload configuration | zmclans.admin.reload |
/zmclan list [page] | List clans | zmclans.admin.list |
/zmclan members <clan> | View members | zmclans.admin.members |
/zmclan info <clan> | Clan details | zmclans.admin.info |
/zmclan disband <clan> | Administratively disband | zmclans.admin.disband |
/zmclan setleader <clan> <player> | Transfer leadership | zmclans.admin.setleader |
/zmclan points <add|set|remove> <clan> <n> | Adjust points | zmclans.admin.points |
Special Permissions
| Permission | Description |
|---|---|
zmclans.clan.bypass.cooldown | Bypasses home teleport cooldown |
zmclans.clan.bypass.cost | Bypasses clan creation cost |
All
zmclan.player.*nodes are denied by default. Grant them individually or usezmclan.playeras the parent node.
Default Ranks (ranks.yml)
| Rank | Priority | Permissions |
|---|---|---|
member | 1 | USE_HOME, USE_CHAT |
officer | 2 | + INVITE |
admin | 3 | + KICK, PROMOTE, SET_HOME, EDIT_DESCRIPTION, MODTAG |
leader | 4 | All (protected rank is-leader: true) |
View full list of rank permissions
USE_HOME— Use/clan homeUSE_CHAT— Clan chatINVITE— Invite playersKICK— Kick lower-ranked membersPROMOTE— Change ranks of lower membersSET_HOME— Modify clan homeEDIT_DESCRIPTION— Edit descriptionEDIT_SETTINGS— Manage settings (alliances, shared homes, FF...)TRANSFER_LEADER— Transfer leadershipDISBAND— Disband clanMODTAG— Modify tag with colors
Placeholders (PlaceholderAPI)
View full list of placeholders
Identification
%zmclans_hasclan% · %zmclans_hasclan_formated% · %zmclans_hasclan_formated_nocolor% · %zmclans_clan% · %zmclans_name% · %zmclans_clanid%
Tags
%zmclans_modtag% · %zmclans_tag% · %zmclans_tag_formated% · %zmclans_tag_nocolor%
Members
%zmclans_leader% · %zmclans_is_leader% · %zmclans_members% · %zmclans_onlinemembers% · %zmclans_slots%
Ranking (Top)
%zmclans_points% · %zmclans_top% · %zmclans_top:<N>% · %zmclans_top_points:<N>% · %zmclans_top_kdr:<N>%
States
%zmclans_is_ff% · %zmclans_isopen% · %zmclans_chat_active%
Home and Dates
%zmclans_hashome% · %zmclans_home% · %zmclans_creation_date%
Player Statistics
%zmclans_player_role% · %zmclans_player_kills% · %zmclans_player_kdr%
Relational
%rel_zmclans_relation_relboolean_member% · %rel_zmclans_relation_relcolor% · %rel_zmclans_relation_reltype%
Installation
# 1. Download zMClans-1.0.0.jar
# 2. Place it in /plugins/
# 3. Restart the server
# 4. Configure config.yml, ranks.yml, guis/, langs/
# 5. Apply changes:
/zmclan reload
Requirements
| Component | Version |
|---|---|
| Server | Paper / Purpur 1.20+ |
| Java | 21+ |
| Vault | Optional — Economy |
| PlaceholderAPI | Optional — Variables |
Creation Economy
| Mode | Requirements |
|---|---|
VAULT | Vault + economy provider |
CUSTOM | PlaceholderAPI + balance-placeholder + take-command |
NONE | No charge |
economy:
enabled: true
mode: "VAULT"
allow-cost-bypass: true
If the integration is missing, the balance is insufficient or the withdrawal fails, creation is rejected. The clan is never created without payment.
Compatibility and Notes
- The leader cannot leave — they must transfer or disband
- Additive migrations — data is never lost
- If you reduce limits, existing data is preserved (no new additions allowed)
/clan statskeeps compatibility with the info view- Automatic updates require a valid resource ID
Statistic
!bstats
Сервер для плагина zMClans - как у профи
Плагин zMClans создан для серверов: на своём сервере вы настраиваете его под себя и решаете, кому играть. Создать сервер с плагином zMClans для друзей можно за пару минут - BungeeHost всё уже подготовил.

