Compatibility
Minecraft: Java Edition
Platforms
Tags
Creators
Details

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


