CubeClans
A feature-rich, high-performance Clan system built for Spigot and Paper Minecraft servers. Give your players an interactive GUI experience, upgradable shared chests, a PvP-based clan leveling system, customizable rank permissions, bank economy integration, alliance management, and 1-click migration from legacy plugins.
What's Included
Intuitive inventory menus for managing clans, reviewing member heads, selecting custom HEX clan colors, and browsing top clan leaderboards by KDR.
Shared vault storage that automatically expands up to 54 slots as your clan ranks up through the leveling progression.
Earn XP for your clan with every enemy kill and lose points on death. Automatic level-ups following an exponential curve formula.
Form strategic alliances, declare rival clans as enemies, control friendly fire with /clan pvp, and coordinate via separate ally chat.
Fully customizable hierarchy ladder in ranks.yml. Set custom chat prefixes and toggle fine-grained rank permissions.
Vault-powered financial bank. Members deposit funds, leaders and co-leaders manage withdrawals and track balances.
Choose between lightweight SQLite or high-speed MySQL with connection pooling for maximum multi-server stability.
Seamlessly import clan data, members, and stats from legacy clan plugins using simple admin commands.
📦 Installation
- Download
CubeClans.jarand place it inside your server'splugins/directory. - Restart your server. Configuration files will be generated automatically in
plugins/CubeClans/. - (Optional) Install Vault along with an economy plugin (like EssentialsX) to enable clan creation costs and clan bank features.
- (Optional) Install PlaceholderAPI to utilize
%cubeclans_*%placeholders across your scoreboards, tablists, and chat formatting plugins. - Modify
config.yml,messages.yml, andranks.ymlto customize plugin behavior to your server's style. - Run
/clan admin reloadto reload configuration files without restarting the server.
Soft Dependencies
| Plugin | Purpose | Required? |
|---|---|---|
| Vault | Clan creation fees and clan bank balance (deposit/withdraw) | No — Plugin will function without economy features |
| PlaceholderAPI | Expands %cubeclans_*% and relational placeholders | No |
💬 Commands
All player and administrative commands use the main root command /clan. Aliases: /clans, /c.
Player Commands
| Command | Description | Permission |
|---|---|---|
/clan | Opens the main interactive Clan GUI menu. | cubeclans.use |
/clan create <name> | Creates a new clan with the specified name. | cubeclans.create |
/clan disband | Disbands your clan (requires confirmation within 10s). | cubeclans.disband |
/clan invite <player> | Invites an online player to join your clan. | cubeclans.invite |
/clan accept <clan> | Accepts a pending clan invitation. | cubeclans.accept |
/clan leave | Leaves your current clan (leaders must transfer or disband). | cubeclans.leave |
/clan kick <player> | Kicks a lower-ranking member from the clan. | cubeclans.kick |
/clan promote <player> | Promotes a clan member to the next rank ladder position. | cubeclans.promote |
/clan demote <player> | Demotes a clan member down the rank ladder. | cubeclans.demote |
/clan info [clan] | Displays information about your clan or a target clan. | cubeclans.use |
/clan members | Opens the GUI or chat list of all clan members. | cubeclans.use |
/clan chest | Opens the shared upgradable clan inventory chest. | cubeclans.chest |
/clan list | Opens the GUI leaderboard of top clans sorted by KDR. | cubeclans.list |
/clan pvp | Toggles friendly fire between members of your clan. | cubeclans.pvp |
/clan chat | Toggles internal clan chat channel on/off. | cubeclans.chat |
/clan chat ally | Toggles alliance chat channel on/off. | cubeclans.chat |
/clan ally <clan> | Sends an alliance request to another clan. | cubeclans.ally |
/clan ally accept <clan> | Accepts an alliance request from another clan. | cubeclans.ally |
/clan ally deny <clan> | Denies an alliance request. | cubeclans.ally |
/clan ally remove <clan> | Removes an existing alliance. | cubeclans.ally |
/clan ally list | Displays all current allied clans. | cubeclans.ally |
/clan enemy <clan> | Declares another clan as an enemy (toggles status). | cubeclans.enemy |
/clan enemy remove <clan> | Removes a clan from your enemy list. | cubeclans.enemy |
/clan enemy list | Displays all declared enemy clans. | cubeclans.enemy |
/clan bank deposit <amount> | Deposits money from your balance into the clan bank. | cubeclans.bank |
/clan bank withdraw <amount> | Withdraws money from the clan bank into your account. | cubeclans.bank |
/clan bank balance | Displays the current balance of the clan bank. | cubeclans.bank |
Admin Commands
| Command | Description | Permission |
|---|---|---|
/clan admin disband <clan> | Force disbands any clan as an administrator. | cubeclans.admin.disband |
/clan admin reload | Reloads configuration files (`config.yml`, `messages.yml`, `ranks.yml`). | cubeclans.admin.reload |
/clan admin resetkdr <clan> | Resets kill, death, and KDR stats for a specific clan. | cubeclans.admin.resetkdr |
/clan admin migrate <Plugin> | Migrates clan data from legacy clan plugins into CubeClans. | cubeclans.admin.migrate |
🔑 Permissions
| Permission | Default | Description |
|---|---|---|
| cubeclans.use | false | Master node giving access to general player commands and clan menu. |
| cubeclans.create | false | Allows players to create new clans. |
| cubeclans.invite | false | Allows inviting online players to the clan. |
| cubeclans.accept | false | Allows accepting clan invitations. |
| cubeclans.leave | false | Allows members to leave their clan. |
| cubeclans.kick | false | Allows kicking lower-rank members. |
| cubeclans.promote | false | Allows promoting clan members up the hierarchy. |
| cubeclans.demote | false | Allows demoting clan members down the hierarchy. |
| cubeclans.disband | false | Allows leaders to disband their own clan. |
| cubeclans.pvp | false | Allows toggling friendly fire for the clan. |
| cubeclans.chat | false | Allows using clan chat and allies chat channels. |
| cubeclans.bank | false | Allows accessing the clan bank system. |
| cubeclans.chest | false | Allows opening the shared clan chest inventory. |
| cubeclans.ally | false | Allows sending and managing clan alliances. |
| cubeclans.enemy | false | Allows declaring and removing enemy status for clans. |
| cubeclans.list | false | Allows viewing top clan leaderboards. |
| cubeclans.admin | OP | Grants full administrative power over all clans. |
| cubeclans.admin.disband | OP | Allows force-disbanding any clan. |
| cubeclans.admin.reload | OP | Allows executing configuration reloads. |
| cubeclans.admin.resetkdr | OP | Allows resetting any clan's KDR statistics. |
| cubeclans.admin.migrate | OP | Allows triggering data migration scripts. |
🎰 GUI System
Executing /clan opens the main menu inventory. All items, glass panes, slots, and lores are fully configurable in config.yml with Hex color support (#RRGGBB).
Menu Navigation
| Screen | Description |
|---|---|
| Main Menu | Entry point. If not in a clan, presents the "Create Clan" option. If in a clan, provides quick navigation to Clan Details, Leaderboards, and Personal Stats. |
| Clan Details | Displays leader, member count, creation date, bank balance, KDR stats, allies count, and buttons for Member list and Color selector. |
| Members List | Paginated GUI displaying player heads for each member along with their role and join date. |
| Color Selector | Interactive color palette with standard dye items plus a custom HEX input button (type #RRGGBB in chat). |
| Clan Leaderboards | Paginated ranking screen showing top clans sorted dynamically by KDR. |
📦 Upgradable Clan Chest
CubeClans includes a built-in shared vault accessible via /clan chest. The chest capacity grows dynamically as your clan levels up.
Slot Progression Formula
Base slots start at 9 slots (1 row) at Level 1. Every levels-per-upgrade (default: 3 levels), the clan unlocks 9 additional slots up to a maximum of 54 slots (6 rows).
| Clan Level | Available Chest Slots | Rows |
|---|---|---|
| Level 1 – 3 | 9 Slots | 1 Row |
| Level 4 – 6 | 18 Slots | 2 Rows |
| Level 7 – 9 | 27 Slots | 3 Rows |
| Level 10 – 12 | 36 Slots | 4 Rows |
| Level 13 – 15 | 45 Slots | 5 Rows |
| Level 16+ | 54 Slots (Maximum) | 6 Rows |
chest section of config.yml.📈 Level & XP System
Clans earn XP and level up based on PvP activity. Every kill made by a member adds points, while deaths penalize clan progression.
Points & Formula
| Event | Default Value | Description |
|---|---|---|
| Player Kill | +10 XP | Awarded when a clan member kills an enemy player. |
| Player Death | -5 XP | Deducted when a member dies (XP never drops below 0). |
XP required to reach each level follows an exponential curve:
# Formula: points_needed = ceil(base-points * level^level-exponent)
base-points: 100
level-exponent: 1.5
- Level 1 → 2: 100 XP
- Level 2 → 3: 283 XP
- Level 3 → 4: 520 XP
- Level 4 → 5: 800 XP
⚔ Alliances & Enemies
Clans can manage diplomatic relations with rival factions. Limits are configurable in config.yml (Default: 3 Allies, 5 Enemies).
Features
- Alliance Requests: Command
/clan ally <clan>sends a request requiring acceptance by the target clan leader. - Allies Chat: Toggle dedicated ally communications with
/clan chat ally. - Enemy Declarations: Declare rival clans as enemies using
/clan enemy <clan>without requiring target consent. - Friendly Fire Protection: Toggle PvP between clan members using
/clan pvp.
🏦 Clan Bank Economy
Requires Vault and an economy provider plugin. Clans feature a shared financial bank.
| Action | Command | Permission Required |
|---|---|---|
| Deposit Money | /clan bank deposit <amount> | BANK_DEPOSIT permission in ranks.yml |
| Withdraw Money | /clan bank withdraw <amount> | BANK_WITHDRAW permission in ranks.yml |
| Check Balance | /clan bank balance | BANK_BALANCE permission in ranks.yml |
👑 Ranks & Hierarchy
CubeClans allows complete custom rank ladders via ranks.yml. Each rank defines display names, ladder position, chat prefix, and permissions.
Default Rank Hierarchy
| Rank Key | Display Name | Ladder Pos | Tag | Default Permissions |
|---|---|---|---|---|
leader | &aLeader | 2 | Leader | ALL permissions |
coleader | &cCo-Leader | 1 | Co-Leader | INVITE, KICK, COLORS, ALLY, ENEMY, PVP, BANK_DEPOSIT, BANK_WITHDRAW, BANK_BALANCE, CHAT, PROMOTE, DEMOTE |
member | &9Member | 0 | Member | BANK_DEPOSIT, BANK_WITHDRAW, BANK_BALANCE, CHAT |
🎨 Chat & Colors
CubeClans offers custom color codes and hex codes (#RRGGBB) for clan display names.
- Clan Chat: Switch to internal clan chat with
/clan chat. Format:&e&lCHAT CLAN » &8[&b%clan%&8] &7%player%: &f%message% - Allies Chat: Switch to alliance chat with
/clan chat ally. Format:&d&lCHAT ALLY » &8[&b%clan%&8] &7%player%: &f%message% - HEX Clan Colors: Select custom colors via the GUI or type
#RRGGBBwhen prompted. Cooldown configurable inconfig.yml.
⚙ Configuration Files
All configuration files reside in plugins/CubeClans/. Changes are applied using /clan admin reload.
| File | Description |
|---|---|
config.yml | Database settings (SQLite/MySQL), chest upgrades, level formula, GUI titles/items/slots, general rules. |
messages.yml | All user-facing chat messages, prompts, prefixes, and notifications. Supports & color codes. |
ranks.yml | Rank ladder positions, chat prefixes, default assignments, and permission lists. |
config.yml
Database Configuration
database:
type: SQLITE # SQLITE or MYSQL
mysql:
host: localhost
port: 3306
database: cubeclans
username: root
password: password
pool:
maximum-pool-size: 10
minimum-idle: 2
connection-timeout: 5000
General Settings
settings:
min-clan-name-length: 3
max-clan-name-length: 16
max-clan-members: 10
max-clan-allies: 3
max-clan-enemies: 5
allow-colors-in-names: true
clan-creation-cost: 300 # Requires Vault
messages.yml
Customizable text output with placeholders such as %clan%, %player%, %cost%, %color%, and {level}.
prefix: "&8[&bCubeClans&8]&r"
clan-created: "&aSuccessfully created clan &f%clan%&a!"
clan-deleted: "&aClan successfully deleted!"
level-up: "&a&lLEVEL UP! &eYou reached level &6{level}&e!"
ranks.yml
Defines the rank structure, permissions, and ladder positions.
ranks:
leader:
display-name: "&aLeader"
prefix: "&8[%color%**%clan%&8] &r"
ladder-position: 2
permissions:
- 'ALL'
member:
display-name: "&9Member"
prefix: "&8[%color%%clan%&8] &r"
ladder-position: 0
default: true
permissions:
- 'BANK_DEPOSIT'
- 'BANK_WITHDRAW'
- 'BANK_BALANCE'
- 'CHAT'
🔌 PlaceholderAPI
CubeClans registers official placeholders for tablists, scoreboards, and chat extensions.
| Placeholder | Description |
|---|---|
%cubeclans_name% | Returns player's clan name. |
%cubeclans_name_color% | Returns player's clan name formatted with color code. |
%cubeclans_leader% | Returns the clan leader's name. |
%cubeclans_members% | Current count of members in the clan. |
%cubeclans_max_members% | Maximum member capacity. |
%cubeclans_kdr% | Clan Kill/Death Ratio. |
%cubeclans_kills% | Total kills accumulated by clan members. |
%cubeclans_deaths% | Total deaths accumulated by clan members. |
%cubeclans_bank% | Current clan bank balance. |
%cubeclans_created% | Clan creation date string. |
%cubeclans_joined% | Date the player joined the clan. |
%cubeclans_allies% | Current count of allied clans. |
%cubeclans_enemies% | Current count of enemy clans. |
%clan_player_kills% | Player's kills while in the clan. |
%clan_player_deaths% | Player's deaths while in the clan. |
%clan_player_kdr% | Player's KDR ratio. |
%rel_cube_playername% | Relational placeholder returning target name colored based on relation (Ally: &b, Enemy: &c, Member: &a, Neutral: &e). |
🔄 Data Migration Tool
Easily import legacy clan data using the built-in administrator migration tool.
# Command usage:
/clan admin migrate <PluginName>