Skip to content

Clubs

MCBasketball includes an integrated club system powered internally by ShyGuild. Clubs allow players to form teams, manage rosters, and join MCBasketball games together. No extra plugin installation is required — MCBasketball already ships with ShyGuild built in.

Premium Feature

The club system is exclusive to Patreon supporters who have funded this advanced feature. Support development to access these tools! ❤️

LuckPerms Required

Clubs use automatic per-club permission management. LuckPerms must be installed for role permissions to be applied automatically when a player creates or joins a club.


🎯 Overview

A club is a named group of players with a structured role hierarchy. The built-in mcbasketball_club template provides four roles out of the box:

Role Description
owner Full control — can manage roles, kick members, invite players, and delete the club
coach Can manage captains and players, invite and remove members, but cannot delete the club or promote owners
captain Can invite new players and view the roster
player Default role — can view the roster and leave the club

When a club is created, the creator is automatically assigned the owner role and all role permissions are applied via LuckPerms.


🚀 Quick Start (Player Self-Service)

This scenario covers servers where players manage their own clubs.

Required Permissions for Players

# Grant these to all players (e.g. via your default group)
- mcbasketball.shyguild.command
- mcbasketball.shyguild.cmd.create
- mcbasketball.shyguild.cmd.delete
- mcbasketball.shyguild.cmd.guild.list
- mcbasketball.shyguild.cmd.role.add
- mcbasketball.shyguild.cmd.role.remove
- mcbasketball.shyguild.cmd.role.list
- mcbasketball.shyguild.cmd.member.invite
- mcbasketball.shyguild.cmd.member.accept
- mcbasketball.shyguild.cmd.member.leave
- mcbasketball.shyguild.cmd.member.remove
- mcbasketball.shyguild.cmd.member.list
- mcbasketball.shyguild.template.mcbasketball_club

Step 1: Create a Club

Any player with the required permissions can create their own club:

/mcbasketballclub create mcbasketball_club <name> <displayName>
Parameter Description
<name> Internal club identifier — alphanumeric and hyphens only (e.g. red-falcons)
<displayName> Display name shown in chat — use underscores for spaces (e.g. Red_Falcons)

Example:

/mcbasketballclub create mcbasketball_club red-falcons Red_Falcons

The player who runs this command automatically becomes the club owner and all owner role permissions are applied via LuckPerms.


Step 2: Invite Members

As an owner or captain, invite other online players to your club:

/mcbasketballclub member invite <clubName> <player>

Example:

/mcbasketballclub member invite red-falcons Steve
/mcbasketballclub member invite red-falcons Alex


Step 3: Accept an Invite

Invited players must accept before they are added to the club:

/mcbasketballclub member accept <clubName>

Example:

/mcbasketballclub member accept red-falcons

Accepted players are assigned the player role (the default role).


Step 4: Assign Roles

Owners and coaches can promote members to higher roles:

/mcbasketballclub role add <clubName> <role> [player]

Example:

# Promote Steve to captain
/mcbasketballclub role add red-falcons captain Steve

# Promote Alex to coach
/mcbasketballclub role add red-falcons coach Alex


Step 5: View Club Roster

List all current members and their roles:

/mcbasketballclub member list <clubName>

Step 6: Leave or Delete a Club

Leave a club:

/mcbasketballclub member leave <clubName>

Owner Restriction

You cannot leave a club if you are the only owner. Promote another member to owner first with /mcbasketballclub role add <clubName> owner <player>.

Delete a club (owner only):

/mcbasketballclub delete <clubName>


🛡️ Admin-Managed Clubs

This scenario covers servers where staff or the server owner creates clubs and distributes ownership to specific players afterwards.

Required Permissions for Admins

# Staff group — in addition to all player permissions above
- mcbasketball.shyguild.cmd.member.add
- mcbasketball.shyguild.cmd.template.list
- mcbasketball.shyguild.cmd.reload

Step 1: Check Available Templates

First, verify that the mcbasketball_club template is loaded:

/mcbasketballclub template list

You should see mcbasketball_club in the output. If not, ensure mcbasketball_club.yml exists in the clubs/ folder and run /mcbasketballclub reload.


Step 2: Create the Club as Admin

An admin creates the club from the console or in-game:

/mcbasketballclub create mcbasketball_club red-falcons Red_Falcons

Console vs In-Game

When created from the console, no owner is automatically assigned. When created in-game by a player, that player becomes the owner. For the admin-managed workflow, create the club in-game as a staff player, or assign the owner role manually in the next step.


Step 3: Add Members Directly

Admins can bypass the invite system and add players directly:

/mcbasketballclub member add <clubName> <player>

Example:

/mcbasketballclub member add red-falcons Steve
/mcbasketballclub member add red-falcons Alex
/mcbasketballclub member add red-falcons Notch

All added players receive the player (default) role.


Step 4: Assign the Owner Role

Grant a player ownership of the club so they can manage it going forward:

/mcbasketballclub role add <clubName> owner <player>

Example:

/mcbasketballclub role add red-falcons owner Steve

Steve now has all owner permissions for the red-falcons club (delete, role management, invite, kick) applied automatically via LuckPerms.


Step 5: Optionally Assign Other Roles

Assign coach and captain roles to other members:

/mcbasketballclub role add red-falcons coach Alex
/mcbasketballclub role add red-falcons captain Notch

Full Admin Workflow Example

# 1. Verify templates
/mcbasketballclub template list

# 2. Create the club
/mcbasketballclub create mcbasketball_club red-falcons Red_Falcons

# 3. Add all members
/mcbasketballclub member add red-falcons Steve
/mcbasketballclub member add red-falcons Alex
/mcbasketballclub member add red-falcons Notch

# 4. Assign owner
/mcbasketballclub role add red-falcons owner Steve

# 5. Assign other roles
/mcbasketballclub role add red-falcons coach Alex
/mcbasketballclub role add red-falcons captain Notch

# 6. Verify
/mcbasketballclub member list red-falcons

📋 Club Template Reference (mcbasketball_club.yml)

The mcbasketball_club template ships with MCBasketball and defines the role hierarchy and permissions for every club created from it.

name: "mcbasketball_club"
maxPlayers: 30
defaultRole: "player"
roles:
  # The club owner has full control over the guild
  - name: "owner"
    allowPermissions:
      - "mcbasketball.shyguild.guild.%mcbasketball_guild_name%.delete"
      - "mcbasketball.shyguild.guild.%mcbasketball_guild_name%.role.add.owner"
      - "mcbasketball.shyguild.guild.%mcbasketball_guild_name%.role.remove.owner"
      - "mcbasketball.shyguild.guild.%mcbasketball_guild_name%.role.add.coach"
      - "mcbasketball.shyguild.guild.%mcbasketball_guild_name%.role.remove.coach"
      - "mcbasketball.shyguild.guild.%mcbasketball_guild_name%.role.add.captain"
      - "mcbasketball.shyguild.guild.%mcbasketball_guild_name%.role.remove.captain"
      - "mcbasketball.shyguild.guild.%mcbasketball_guild_name%.role.add.player"
      - "mcbasketball.shyguild.guild.%mcbasketball_guild_name%.role.remove.player"
      - "mcbasketball.shyguild.guild.%mcbasketball_guild_name%.role.list"
      - "mcbasketball.shyguild.guild.%mcbasketball_guild_name%.member.remove"
      - "mcbasketball.shyguild.guild.%mcbasketball_guild_name%.member.list"
      - "mcbasketball.shyguild.guild.%mcbasketball_guild_name%.member.invite"
      - "mcbasketball.shyguild.guild.%mcbasketball_guild_name%.member.leave"
      # Club arena access — add one entry per club arena
      - "mcbasketball.club.join.<arena>"
      - "mcbasketball.club.start.<arena>"
    denyPermissions: []

  # Coaches can manage captains and players, but cannot delete the club or assign owners
  - name: "coach"
    allowPermissions:
      - "mcbasketball.shyguild.guild.%mcbasketball_guild_name%.role.add.captain"
      - "mcbasketball.shyguild.guild.%mcbasketball_guild_name%.role.remove.captain"
      - "mcbasketball.shyguild.guild.%mcbasketball_guild_name%.role.add.player"
      - "mcbasketball.shyguild.guild.%mcbasketball_guild_name%.role.remove.player"
      - "mcbasketball.shyguild.guild.%mcbasketball_guild_name%.role.list"
      - "mcbasketball.shyguild.guild.%mcbasketball_guild_name%.member.remove"
      - "mcbasketball.shyguild.guild.%mcbasketball_guild_name%.member.list"
      - "mcbasketball.shyguild.guild.%mcbasketball_guild_name%.member.invite"
      - "mcbasketball.shyguild.guild.%mcbasketball_guild_name%.member.leave"
      # Club arena access — add one entry per club arena
      - "mcbasketball.club.join.<arena>"
      - "mcbasketball.club.start.<arena>"
    denyPermissions: []

  # Captains can invite new players and view the roster, but cannot manage roles
  - name: "captain"
    allowPermissions:
      - "mcbasketball.shyguild.guild.%mcbasketball_guild_name%.role.list"
      - "mcbasketball.shyguild.guild.%mcbasketball_guild_name%.member.list"
      - "mcbasketball.shyguild.guild.%mcbasketball_guild_name%.member.invite"
      - "mcbasketball.shyguild.guild.%mcbasketball_guild_name%.member.leave"
      # Club arena access — add one entry per club arena
      - "mcbasketball.club.join.<arena>"
      - "mcbasketball.club.start.<arena>"
    denyPermissions: []

  # Regular players can only view the roster and leave
  - name: "player"
    allowPermissions:
      - "mcbasketball.shyguild.guild.%mcbasketball_guild_name%.role.list"
      - "mcbasketball.shyguild.guild.%mcbasketball_guild_name%.member.list"
      - "mcbasketball.shyguild.guild.%mcbasketball_guild_name%.member.leave"
      # Club arena access — players can join but cannot start a club game
      - "mcbasketball.club.join.<arena>"
    denyPermissions: []

The %mcbasketball_guild_name% placeholder is automatically replaced with the actual club name when permissions are applied via LuckPerms.


📋 Complete Command Reference

All commands use /mcbasketballclub (alias: /mcbasketballclub). The base permission mcbasketball.shyguild.command is required for every command.

Command Description Permission
/mcbasketballclub create <template> <name> <displayName> Create a new club mcbasketball.shyguild.cmd.create + mcbasketball.shyguild.template.<template>
/mcbasketballclub delete <club> Delete a club mcbasketball.shyguild.cmd.delete + mcbasketball.shyguild.guild.<club>.delete
/mcbasketballclub member add <club> <player> Add a player directly (admin) mcbasketball.shyguild.cmd.member.add + mcbasketball.shyguild.guild.<club>.member.add
/mcbasketballclub member remove <club> <player> Remove a player from a club mcbasketball.shyguild.cmd.member.remove + mcbasketball.shyguild.guild.<club>.member.remove
/mcbasketballclub member list <club> List all club members mcbasketball.shyguild.cmd.member.list + mcbasketball.shyguild.guild.<club>.member.list
/mcbasketballclub member invite <club> <player> Invite a player to the club mcbasketball.shyguild.cmd.member.invite + mcbasketball.shyguild.guild.<club>.member.invite
/mcbasketballclub member accept <club> Accept a club invite mcbasketball.shyguild.cmd.member.accept
/mcbasketballclub member leave <club> Leave a club mcbasketball.shyguild.cmd.member.leave + mcbasketball.shyguild.guild.<club>.member.leave
/mcbasketballclub role add <club> <role> [player] Assign a role to a member mcbasketball.shyguild.cmd.role.add + mcbasketball.shyguild.guild.<club>.role.add.<role>
/mcbasketballclub role remove <club> <role> [player] Remove a role from a member mcbasketball.shyguild.cmd.role.remove + mcbasketball.shyguild.guild.<club>.role.remove.<role>
/mcbasketballclub role list <club> [player] List club roles or a player's roles mcbasketball.shyguild.cmd.role.list + mcbasketball.shyguild.guild.<club>.role.list
/mcbasketballclub guild list List your joined clubs mcbasketball.shyguild.cmd.guild.list
/mcbasketballclub template list List all loaded templates mcbasketball.shyguild.cmd.template.list
/mcbasketballclub reload Reload club configurations mcbasketball.shyguild.cmd.reload

Two Permissions Per Action

Most actions require two permissions: a command-level permission (e.g. mcbasketball.shyguild.cmd.delete) and a club-specific permission (e.g. mcbasketball.shyguild.guild.<club>.delete). The club-specific permissions are handled automatically by LuckPerms via the role template — you do not need to assign them manually.


🔍 Troubleshooting

Problem Likely Cause Solution
"No permission" on /mcbasketballclub Missing base permission Add mcbasketball.shyguild.command
Can't create a club Missing create or template permission Add mcbasketball.shyguild.cmd.create and mcbasketball.shyguild.template.mcbasketball_club
Role permissions not applied LuckPerms not installed Install LuckPerms
Template not found mcbasketball_club.yml missing Ensure the file exists in the clubs/ folder and run /mcbasketballclub reload
Owner can't delete club Missing guild-level permission Ensure LuckPerms applied mcbasketball.shyguild.guild.<club>.delete — try /mcbasketballclub reload
Can't leave as owner Only owner in club Assign owner role to another member first, then leave
Can't join a club arena Missing mcbasketball.club.join.<arena> Add the permission to the appropriate roles in mcbasketball_club.yml and reload
Can't start a club game Missing mcbasketball.club.start.<arena> Add the permission to owner, coach, and captain roles in mcbasketball_club.yml and reload
Non-club players can enter club arenas mcbasketball.join.<arena> granted to default group Remove mcbasketball.join.<arena> from the default group; club access should come from the template only