Compatibility
Minecraft: Java Edition
26.2
26.1.x
1.21.x
1.20.x
Platforms
Tags
Creators
Details
Licensed MIT
Published 15 hours ago
Updated 3 weeks ago
BalancedTeam
- GitHub:https://github.com/hahasc26-lang/BalancedTeam
- Wiki:https://github.com/hahasc26-lang/BalancedTeam/wiki
(中文见GitHub)
A high-performance Clan/Team plugin for Anarchy and survival-competitive Minecraft servers. Compatible with Bukkit / Spigot / Paper with native PlaceholderAPI integration.
Features
- Team Management — Create, disband, invite, kick, promote, transfer leadership, apply to join
- Diplomacy — Ally / Unally, War / Peace with configurable caps to prevent server-wide coalitions
- Balance Mechanics — Friendly fire toggle (with cooldown), ally protection, leave cooldown against backstabs
- Team Chat —
/tcchannel with lock mode; OP spy mode to monitor all channels (can disable) - Graphical GUI — Team menu, member management, server-wide list, confirmation dialogs
- Dual Storage — MySQL (production) / SQLite (zero-config), backed by HikariCP
- PlaceholderAPI Support — Full PlaceholderAPI integration with dozens of team and player placeholders
- Auto Multi-Language System — Auto-detects Minecraft client locale via
Player.getLocale(), with smart fuzzy matching (e.g.zh_HKfalls back tozh_CN/zh_TW), server fallbacks, and in-memory caching. Built-inzh_CN/zh_TW/en_US; players can override or reset via/teamlang; supports language codes or relative paths (e.g.lang/en_US.ymloren_US) inconfig.yml, which automatically adapts all server console output logs (startup banner, database, cache preloading, lifecycle, etc.) to the configured language - Comprehensive Official Wiki — Complete GitHub Wiki Documentation covering installation, configuration, commands, GUI guide, and combat mechanics
Installation
- Download the latest
BalancedTeam-x.x.x.jar - Drop it into your server's
plugins/folder and restart - Edit
plugins/BalancedTeam/config.yml(defaults to SQLite — no extra setup needed) - Restart or
/reload confirmto apply
Build from source:
git clone https://github.com/hahasc26-lang/BalancedTeam.git
cd BalancedTeam
mvn clean package # Standard build
mvn clean package -Pfatjar # Fat-Jar (for legacy servers)
Commands
Click to expand / collapse Command List
/team (aliases: /t /clan /bt)
| Command | Description | Permission / Role |
|---|---|---|
/team (or /team menu) |
Open interactive GUI dashboard | Everyone |
/team create <name> |
Create a new team | Everyone (No team) |
/team disband |
Disband your team (requires confirmation) | Leader |
/team invite <player> |
Invite a player to join | Leader / Officer |
/team kick <player> |
Kick a member from your team | Leader / Officer |
/team leave |
Leave current team (subject to cooldown) | Member / Officer |
/team promote <player> |
Promote a member to officer | Leader |
/team demote <player> |
Demote an officer to member | Leader |
/team transfer <player> |
Transfer team leadership | Leader |
/team apply <team> |
Apply to join a team | Everyone (No team) |
/team accept <target> |
Accept incoming member invite or alliance request | Leader / Officer |
/team deny <target> |
Reject incoming member invite or alliance request | Leader / Officer |
/team ally <add|accept|remove> <team> |
Send, accept, or break formal team alliance | Leader / Officer |
/team enemy <add|remove> <team> |
Declare hostility or remove enemy status | Leader / Officer |
/team truce <team> |
Send truce/peace request to an enemy team | Leader / Officer |
/team truce accept <team> |
Accept truce request & enter post-war protection | Leader / Officer |
/team truce deny <team> |
Reject incoming truce request | Leader / Officer |
/team truce cancel <team> |
Cancel outgoing truce request | Leader / Officer |
/team truce list |
View active incoming and outgoing truce requests | Leader / Officer |
/team ff |
Toggle friendly fire protection (subject to cooldown) | Leader / Officer |
/team chat [message] |
Send team chat message or toggle chat lock mode | Team Members |
/team info [team] |
View details of your team or another team | Everyone |
/team members [page] |
View member list and roles | Everyone |
/team list [page] |
Browse server team list GUI or chat | Everyone |
/team lang [code|auto|list] |
View or change personal client language preference | Everyone |
/teamlang (aliases: /tlang /btlang /clanlang)
| Command | Description | Permission |
|---|---|---|
/teamlang |
View current language code, detection mode, and help | balancedteam.use |
/teamlang list |
View all supported language packs loaded on server | balancedteam.use |
/teamlang <code> |
Manually switch to specific language (e.g. en_US, zh_CN) |
balancedteam.use |
/teamlang auto |
Reset to automatic Minecraft client locale detection | balancedteam.use |
/teamlang reload |
Hot-reload all language configuration files | balancedteam.admin |
/teamadmin (aliases: /ta /btadmin)
| Command | Description | Permission |
|---|---|---|
/teamadmin disband <team> |
Force disband any team immediately | balancedteam.admin |
/teamadmin kick <player> |
Force remove a player from their team | balancedteam.admin |
/teamadmin spy |
Toggle admin spy mode to monitor all team chats | balancedteam.admin.spy |
/teamadmin reload |
Hot-reload config.yml and all language files |
balancedteam.admin |
/teamadmin help |
Display administrator command help | balancedteam.admin |
/teammsg (aliases: /tc /tm /teamchat)
| Command | Description | Permission |
|---|---|---|
/teammsg <message> |
Send a quick message to your team channel | balancedteam.use |
/teammsg |
Toggle team chat lock mode (all chats route to team) | balancedteam.use |
Permissions
Click to expand / collapse Permissions List
| Permission | Default | Description |
|---|---|---|
balancedteam.use |
Everyone | Basic commands |
balancedteam.admin |
OP | Admin commands and language reload |
balancedteam.admin.spy |
OP | Monitor team chats |
PlaceholderAPI Placeholders
Click to expand / collapse Placeholders & Configuration Examples
Native PlaceholderAPI expansion with %balancedteam_<placeholder>%:
| Placeholder | Description |
|---|---|
%balancedteam_in_team% / %balancedteam_has_team% |
Whether player is in a team (true / false) |
%balancedteam_name% / %balancedteam_team_name% |
Player's team name |
%balancedteam_id% / %balancedteam_team_id% |
Player's team ID |
%balancedteam_tag% |
Formatted team tag (e.g. [TeamName]) |
%balancedteam_leader% / %balancedteam_leader_name% |
Leader username |
%balancedteam_leader_uuid% |
Leader UUID |
%balancedteam_is_leader% |
Whether player is team leader (true / false) |
%balancedteam_is_officer% |
Whether player is officer or leader (true / false) |
%balancedteam_role% |
Role display name (e.g. Leader, Officer, Member) |
%balancedteam_role_raw% |
Role enum name (LEADER / OFFICER / MEMBER / NONE) |
%balancedteam_role_level% |
Role level number (3 / 2 / 1 / 0) |
%balancedteam_description% |
Team description |
%balancedteam_friendly_fire% / %balancedteam_ff% |
Friendly fire status (true / false) |
%balancedteam_friendly_fire_formatted% |
Formatted friendly fire status |
%balancedteam_created_at% |
Team creation time |
%balancedteam_joined_at% |
Player team join time |
%balancedteam_members% / %balancedteam_member_count% |
Current member count |
%balancedteam_max_members% |
Max allowed members |
%balancedteam_online% / %balancedteam_online_count% |
Online member count |
%balancedteam_allies% / %balancedteam_ally_count% |
Allied teams count |
%balancedteam_max_allies% |
Max allowed allies |
%balancedteam_enemies% / %balancedteam_enemy_count% |
Enemy teams count |
%balancedteam_max_enemies% |
Max allowed enemies |
%balancedteam_allies_list% |
List of ally team names |
%balancedteam_enemies_list% |
List of enemy team names |
%balancedteam_total_teams% |
Total teams on server |
%balancedteam_total_members% |
Total players in teams across server |
%balancedteam_relation_<player>% |
Relation with target player (SAME_TEAM / ALLY / ENEMY / NONE) |
%balancedteam_relation_team_<teamName>% |
Relation with target team (SAME_TEAM / ALLY / ENEMY / NONE) |
%balancedteam_is_ally_<player>% |
Whether target player is ally (true / false) |
%balancedteam_is_enemy_<player>% |
Whether target player is enemy (true / false) |
%balancedteam_is_same_team_<player>% |
Whether target player is teammate (true / false) |
%balancedteam_team_leader_<teamName>% |
Leader of specific team |
%balancedteam_team_members_<teamName>% |
Member count of specific team |
%balancedteam_team_online_<teamName>% |
Online member count of specific team |
%balancedteam_team_desc_<teamName>% |
Description of specific team |
%balancedteam_team_created_<teamName>% |
Creation time of specific team |
%balancedteam_team_ff_<teamName>% |
Friendly fire of specific team |
%balancedteam_team_exists_<teamName>% |
Whether specific team exists (true / false) |
Configuration Examples (e.g. TAB / Scoreboards / Chat Format):
# Chat format example
format: '{balancedteam_tag} &7[{balancedteam_role}&7] &f{DISPLAYNAME}&7: &f{MESSAGE}'
# Scoreboard example
lines:
- '&b&lMY TEAM'
- '&7Team: &f%balancedteam_name%'
- '&7Role: &e%balancedteam_role%'
- '&7Members: &a%balancedteam_online%&7/&f%balancedteam_members%'
- '&7Allies: &b%balancedteam_allies%&7/&f%balancedteam_max_allies%'
Support
If you find this project helpful, consider buying me a coffee!


