promotional bannermobile promotional banner

Teams999

A Minecraft plugin that lets players create, manage, and join teams with roles, invites, and team homes.
## Features

### Team Management
- Create and disband teams
- Invite players to your team, with configurable expiry and optional economy cost
- Kick players, promote/demote members, and transfer leadership
- Rename your team with optional cost and cooldown
- Set a team message of the day (MOTD)
- View team info in a GUI (level, members, homes, warps, MOTD)
- List all teams and see online team members
- Check team level progress with `/team level`

### Team Levels and Limits
- Team level is based on member-count thresholds
- Level-based limits for homes, alliances, and vault size
- Role daily withdrawal limits can scale by team level

### Team Homes
- Set, teleport to, and delete named team homes
- `/team home` lists homes when no name is provided
- Base max homes with optional level-based overrides
- Per-world toggles for homes
- Per-player teleport cooldown (shared with warps)

### Team Warps
- Shared warps that are separate from homes
- `/team warp` lists warps when no name is provided
- Uses the same world toggle and teleport cooldown as homes
- By default, only the team owner can set or delete warps, while members can use and list them

### Team Vault
- Shared storage with size based on config and team level
- Permission-based access for open, deposit, and withdraw
- Role daily withdrawal limits with team-level multipliers
- Per-world vault toggle
- Auto-saves vault contents

### Team Chat
- Toggle team-only chat and ally chat
- Mute or unmute members in team chat
- Optional role prefix display in player name tags and tab list (`/team showrole`)
- Per-world chat toggles

### Alliance System
- Invite, accept, decline, break, and list alliances
- Ally chat for cross-team communication
- Friendly-fire protection when enabled
- Configurable max alliances with level-based overrides
- Configurable cooldown after breaking an alliance

### Role System
- Default roles with configurable permissions and priorities
- Custom roles per team
- Starting role for new members is configurable
- Role priority enforces promotion, demotion, and management rules
- Internal permissions are not server permissions

### Team Colors
- 15 available team colors
- Random color on creation or default green
- Team colors show in chat, player list, and name tags
- `/team color` to change color and `/team colors` to list options

### Trust System
- Toggle a trusted flag for members
- Stored with team data (no extra permissions by default)

### Economy Integration
- Invite cost and rename cost use Vault economy if enabled

---

## Commands

### Team Commands

| Command | Description |
|---------|-------------|
| `/team create <name>` | Create a new team |
| `/team disband` | Disband your team |
| `/team invite <player>` | Invite a player to your team |
| `/team accept` | Accept a team invitation |
| `/team leave` | Leave your current team |
| `/team kick <player>` | Kick a player from the team |
| `/team promote <player>` | Promote a player to a higher role |
| `/team demote <player>` | Demote a player to a lower role |
| `/team transfer <player>` | Transfer leadership to another member |
| `/team info` | View team information in a GUI |
| `/team level` | Show team level and progress to next level |
| `/team list` | List all teams on the server |
| `/team online` | List online team members |
| `/team sethome <name>` | Set a named team home |
| `/team home [name]` | Teleport to a team home or list homes |
| `/team delhome <name>` | Delete a team home |
| `/team setwarp <name>` | Set a named team warp |
| `/team warp [name]` | Teleport to a team warp or list warps |
| `/team delwarp <name>` | Delete a team warp |
| `/team warplist` | List all team warps |
| `/team rename <name>` | Rename your team |
| `/team motd <message>` | Set the team message of the day |
| `/team chat` | Toggle team-only chat |
| `/team vault` | Open the team vault |
| `/team trust <player>` | Toggle trusted status for a player |
| `/team mute <player>` | Mute or unmute a player in team chat |
| `/team showrole` | Toggle role prefix display in name tags and tab list |
| `/team role` | Role management subcommands |
| `/team color <color>` | Change your team's display color |
| `/team colors` | List available team colors |
| `/team reload` | Reload config and save data (requires `teams999.reload`) |

### Role Commands

| Command | Description |
|---------|-------------|
| `/team role create <name>` | Create a custom role |
| `/team role delete <name>` | Delete a custom role |
| `/team role list` | List all roles in your team |
| `/team role info <name>` | View details about a role |
| `/team role assign <player> <role>` | Assign a role to a player |
| `/team role perm add <role> <perm>` | Add a permission to a custom role |
| `/team role perm remove <role> <perm>` | Remove a permission from a custom role |

### Alliance Commands

| Command | Description |
|---------|-------------|
| `/ally invite <team>` | Invite a team to form an alliance |
| `/ally accept` | Accept an alliance invitation |
| `/ally decline` | Decline an alliance invitation |
| `/ally break <team>` | Break an alliance with a team |
| `/ally chat` | Toggle alliance-only chat |
| `/ally list` | List your team's alliances |

### Command Aliases
- `/team` can also be used as `/t`
- `/ally` can also be used as `/a`

---

## Internal Permissions

These permissions control what team members can do based on their role. They are NOT server permissions and do not work with permission plugins like LuckPerms.

### Member Management
| Permission | Description |
|------------|-------------|
| `team.invite` | Invite players to the team |
| `team.kick` | Kick players from the team |
| `team.promote` | Promote players to higher roles |
| `team.demote` | Demote players to lower roles |
| `team.role.assign` | Assign roles to players |
| `team.role.create` | Create custom roles |
| `team.role.delete` | Delete custom roles |

### Team Settings
| Permission | Description |
|------------|-------------|
| `team.motd.set` | Set the message of the day |
| `team.name.change` | Rename the team |
| `team.color.change` | Change the team's display color |
| `team.disband` | Disband the team |
| `team.transfer` | Transfer leadership to another player |

### Vault
| Permission | Description |
|------------|-------------|
| `team.vault.open` | Open the team vault |
| `team.vault.deposit` | Put items into the vault |
| `team.vault.withdraw` | Take items from the vault |

### Chat
| Permission | Description |
|------------|-------------|
| `team.chat.toggle` | Toggle between chat modes |
| `team.chat.team` | Send messages in team chat |
| `team.chat.ally` | Send messages in ally chat |
| `team.chat.moderate` | Mute and unmute team members |

### Alliances
| Permission | Description |
|------------|-------------|
| `team.ally.invite` | Send alliance invitations |
| `team.ally.accept` | Accept alliance invitations |
| `team.ally.break` | Break alliances |

### Homes
| Permission | Description |
|------------|-------------|
| `team.home.set` | Set team home locations |
| `team.home.delete` | Delete team home locations |
| `team.home.use` | Teleport to team homes |

### Warps
| Permission | Description |
|------------|-------------|
| `team.warp.set` | Set team warp locations |
| `team.warp.delete` | Delete team warp locations |
| `team.warp.use` | Teleport to team warps and list them |

### Other
| Permission | Description |
|------------|-------------|
| `team.info.view` | View team information |
| `team.trust` | Toggle trusted status for members |

### Reserved (No Effect Yet)
| Permission | Description |
|------------|-------------|
| `team.vault.lockedSlots` | Reserved for future vault slot locking |
| `team.claim` | Reserved for future land claim features |
| `team.unclaim` | Reserved for future land claim features |
| `team.war.start` | Reserved for future war features |
| `team.war.accept` | Reserved for future war features |

---

## Role Permission Matrix

This table reflects the default role permissions from `config.yml`. The Leader has all internal permissions.

| Permission | Leader | Co-Leader | Officer | Member | Recruit |
|------------|--------|-----------|---------|--------|---------|
| `team.invite` | Yes | Yes | Yes | No | No |
| `team.kick` | Yes | Yes | Yes | No | No |
| `team.promote` | Yes | Yes | No | No | No |
| `team.demote` | Yes | Yes | No | No | No |
| `team.role.assign` | Yes | Yes | No | No | No |
| `team.role.create` | Yes | Yes | No | No | No |
| `team.role.delete` | Yes | Yes | No | No | No |
| `team.motd.set` | Yes | Yes | No | No | No |
| `team.name.change` | Yes | No | No | No | No |
| `team.color.change` | Yes | No | No | No | No |
| `team.disband` | Yes | No | No | No | No |
| `team.transfer` | Yes | No | No | No | No |
| `team.vault.open` | Yes | Yes | Yes | Yes | No |
| `team.vault.deposit` | Yes | Yes | Yes | Yes | No |
| `team.vault.withdraw` | Yes | Yes | Yes | No | No |
| `team.chat.toggle` | Yes | Yes | Yes | Yes | No |
| `team.chat.team` | Yes | Yes | Yes | Yes | Yes |
| `team.chat.ally` | Yes | Yes | Yes | Yes | No |
| `team.chat.moderate` | Yes | Yes | Yes | No | No |
| `team.ally.invite` | Yes | Yes | No | No | No |
| `team.ally.accept` | Yes | Yes | No | No | No |
| `team.ally.break` | Yes | Yes | No | No | No |
| `team.home.set` | Yes | Yes | Yes | No | No |
| `team.home.delete` | Yes | Yes | Yes | No | No |
| `team.home.use` | Yes | Yes | Yes | Yes | No |
| `team.warp.set` | Yes | No | No | No | No |
| `team.warp.delete` | Yes | No | No | No | No |
| `team.warp.use` | Yes | Yes | Yes | Yes | No |
| `team.info.view` | Yes | Yes | Yes | Yes | Yes |
| `team.trust` | Yes | Yes | No | No | No |

---

## Configuration

### Team Settings

| Setting | Default | Description |
|---------|---------|-------------|
| `team.max-size` | 10 | Maximum players allowed in a team (minimum 2 enforced) |
| `team.invite-expiry` | 5 | Minutes before an invitation expires |
| `team.invite-cost` | 0 | Economy cost to send a team invitation (Vault required) |
| `team.max-homes` | 3 | Base maximum team homes if no level override applies |
| `team.rename-cost` | 1000 | Economy cost to rename a team (Vault required) |
| `team.rename-cooldown` | 60 | Minutes between team renames |
| `team.home-teleport-cooldown-seconds` | 0 | Per-player cooldown for home and warp teleports |
| `team.name-format` | `^[a-zA-Z0-9_]{3,16}$` | Regex for valid team names |
| `team.random-colors` | true | Assign random colors to new teams |

### Alliance Settings

| Setting | Default | Description |
|---------|---------|-------------|
| `alliances.friendly-fire` | false | If false, allies cannot damage each other where PvP protection is enabled |
| `alliances.max-alliances` | 3 | Base maximum alliances if no level override applies |
| `alliances.break-cooldown-minutes` | 0 | Minutes before a team can break another alliance |

### Vault Settings

| Setting | Default | Description |
|---------|---------|-------------|
| `vault.base-size` | 54 | Base vault size (multiple of 9, min 9, max 54) |

### Role Defaults

| Setting | Description |
|---------|-------------|
| `roles.starting-role` | Role assigned to new members when they accept an invite |
| `roles.defaults.<role>.display-name` | Display name shown in GUI and chat |
| `roles.defaults.<role>.color` | ChatColor name for the role prefix |
| `roles.defaults.<role>.priority` | Role priority (higher can manage lower) |
| `roles.defaults.<role>.can-be-kicked` | Whether members with this role can be kicked |
| `roles.defaults.<role>.can-be-modified` | Whether this role can be modified |
| `roles.defaults.<role>.daily-withdraw-limit` | Base daily vault withdrawal limit (-1 for unlimited) |
| `roles.defaults.<role>.permissions` | Internal permissions list, `*` grants all |

### Team Levels

| Setting | Default | Description |
|---------|---------|-------------|
| `team-levels.member-thresholds` | map | Member count thresholds for each team level |

### Level-Based Limits

| Setting | Default | Description |
|---------|---------|-------------|
| `limits.homes.by-level` | map | Max homes by team level |
| `limits.alliances.by-level` | map | Max alliances by team level |
| `limits.vault-size.by-level` | map | Vault size by team level |
| `limits.daily-withdrawals.team-level-multiplier` | map | Multiplier applied to role daily withdrawal limits |

### World Toggles

| Setting | Default | Description |
|---------|---------|-------------|
| `world-toggles.team-chat-disabled-worlds` | [] | Worlds where team and ally chat are disabled |
| `world-toggles.homes-disabled-worlds` | [] | Worlds where homes and warps are disabled |
| `world-toggles.vault-disabled-worlds` | [] | Worlds where team vault is disabled |
| `world-toggles.pvp-protection-disabled-worlds` | [] | Worlds where allied PvP protection is disabled |

---

## Available Team Colors

- RED
- BLUE
- GREEN
- YELLOW
- GOLD
- AQUA
- LIGHT_PURPLE
- WHITE
- DARK_RED
- DARK_BLUE
- DARK_GREEN
- DARK_AQUA
- DARK_PURPLE
- DARK_GRAY
- GRAY

---

## Custom Roles

You can create custom roles for your team with specific permissions.

### Creating a Custom Role
1. Create the role: `/team role create Builder`
2. Add permissions: `/team role perm add Builder team.home.set`
3. Add more permissions: `/team role perm add Builder team.warp.use`
4. Assign to a player: `/team role assign PlayerName Builder`

### Managing Custom Roles
- View all roles: `/team role list`
- View role details: `/team role info Builder`
- Remove a permission: `/team role perm remove Builder team.home.set`
- Delete a role: `/team role delete Builder`

### Custom Role Notes
- Custom roles have priority 40 by default
- Custom roles can be modified, default roles cannot
- When a custom role is deleted, members with that role become Members
- You can only assign roles with lower priority than your own

---

## How Role Hierarchy Works

- Each role has a priority number
- Higher priority roles can manage lower priority roles
- You cannot kick, promote, demote, or assign roles to someone with equal or higher priority
- Leader and Co-Leader cannot be kicked from the team
- Only the Leader can transfer leadership or disband the team

---

## Data Storage

- Team data (members, roles, homes, warps, MOTD, trust list) is saved to `data.yml`
- Vault contents are saved to `teamvaults.yml`
- Data auto-saves periodically
- Data saves when the server stops

The Teams999 Team

profile avatar
  • 1
    Followers
  • 40
    Projects
  • 16.3K
    Downloads

More from Erik9994857View all

  • Stamina999 project image

    Stamina999

    • 56
    • Bukkit Plugins

    Stamina999 is a plugin that introduces a dynamic stamina system to your Minecraft server, making gameplay more challenging and realistic. Players will manage their stamina for various actions, leading to a more strategic and immersive experience.

    • 56
    • April 12, 2026
    • Bukkit Plugins
    • +4
  • RuinedStructures999 project image

    RuinedStructures999

    • 138
    • Bukkit Plugins

    Bring your world to life with RuinedStructures999 — a powerful plugin that spawns configurable, loot-filled ruined structures in your Minecraft world!

    • 138
    • April 7, 2026
    • Bukkit Plugins
    • +4
  • GracePlugin project image

    GracePlugin

    • 350
    • Bukkit Plugins

    Add a customizable grace for minecraft

    • 350
    • April 7, 2026
    • Bukkit Plugins
    • +3
  • SoloLeveling999 project image

    SoloLeveling999

    • 115
    • Bukkit Plugins

    SoloLeveling999 — Forge your own power as you slay mobs, level up, and master four core stats—Agility, Strength, Vitality, and Attack Speed—to evolve from an ordinary survivor into an unstoppable force.

    • 115
    • March 29, 2026
    • Bukkit Plugins
    • +4
  • Stamina999 project image

    Stamina999

    • 56
    • Bukkit Plugins

    Stamina999 is a plugin that introduces a dynamic stamina system to your Minecraft server, making gameplay more challenging and realistic. Players will manage their stamina for various actions, leading to a more strategic and immersive experience.

    • 56
    • April 12, 2026
    • Bukkit Plugins
    • +4
  • RuinedStructures999 project image

    RuinedStructures999

    • 138
    • Bukkit Plugins

    Bring your world to life with RuinedStructures999 — a powerful plugin that spawns configurable, loot-filled ruined structures in your Minecraft world!

    • 138
    • April 7, 2026
    • Bukkit Plugins
    • +4
  • GracePlugin project image

    GracePlugin

    • 350
    • Bukkit Plugins

    Add a customizable grace for minecraft

    • 350
    • April 7, 2026
    • Bukkit Plugins
    • +3
  • SoloLeveling999 project image

    SoloLeveling999

    • 115
    • Bukkit Plugins

    SoloLeveling999 — Forge your own power as you slay mobs, level up, and master four core stats—Agility, Strength, Vitality, and Attack Speed—to evolve from an ordinary survivor into an unstoppable force.

    • 115
    • March 29, 2026
    • Bukkit Plugins
    • +4