Skip to content

Clubs

BlockBall includes an integrated club system powered internally by ShyGuild. Clubs allow players to form teams, manage rosters, and join BlockBall games together. No extra plugin installation is required — BlockBall 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 blockball_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)
- blockball.shyguild.command
- blockball.shyguild.cmd.create
- blockball.shyguild.cmd.delete
- blockball.shyguild.cmd.guild.list
- blockball.shyguild.cmd.role.add
- blockball.shyguild.cmd.role.remove
- blockball.shyguild.cmd.role.list
- blockball.shyguild.cmd.member.invite
- blockball.shyguild.cmd.member.accept
- blockball.shyguild.cmd.member.leave
- blockball.shyguild.cmd.member.remove
- blockball.shyguild.cmd.member.list
- blockball.shyguild.template.blockball_club

Step 1: Create a Club

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

/blockballclub create blockball_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:

/blockballclub create blockball_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:

/blockballclub member invite <clubName> <player>

Example:

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


Step 3: Accept an Invite

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

/blockballclub member accept <clubName>

Example:

/blockballclub 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:

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

Example:

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

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


Step 5: View Club Roster

List all current members and their roles:

/blockballclub member list <clubName>

Step 6: Leave or Delete a Club

Leave a club:

/blockballclub member leave <clubName>

Owner Restriction

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

Delete a club (owner only):

/blockballclub 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
- blockball.shyguild.cmd.member.add
- blockball.shyguild.cmd.template.list
- blockball.shyguild.cmd.reload

Step 1: Check Available Templates

First, verify that the blockball_club template is loaded:

/blockballclub template list

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


Step 2: Create the Club as Admin

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

/blockballclub create blockball_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:

/blockballclub member add <clubName> <player>

Example:

/blockballclub member add red-falcons Steve
/blockballclub member add red-falcons Alex
/blockballclub 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:

/blockballclub role add <clubName> owner <player>

Example:

/blockballclub 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:

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

Full Admin Workflow Example

# 1. Verify templates
/blockballclub template list

# 2. Create the club
/blockballclub create blockball_club red-falcons Red_Falcons

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

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

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

# 6. Verify
/blockballclub member list red-falcons

📋 Club Template Reference (blockball_club.yml)

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

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

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

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

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

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


📋 Complete Command Reference

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

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

Two Permissions Per Action

Most actions require two permissions: a command-level permission (e.g. blockball.shyguild.cmd.delete) and a club-specific permission (e.g. blockball.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 /blockballclub Missing base permission Add blockball.shyguild.command
Can't create a club Missing create or template permission Add blockball.shyguild.cmd.create and blockball.shyguild.template.blockball_club
Role permissions not applied LuckPerms not installed Install LuckPerms
Template not found blockball_club.yml missing Ensure the file exists in the clubs/ folder and run /blockballclub reload
Owner can't delete club Missing guild-level permission Ensure LuckPerms applied blockball.shyguild.guild.<club>.delete — try /blockballclub 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 blockball.club.join.<arena> Add the permission to the appropriate roles in blockball_club.yml and reload
Can't start a club game Missing blockball.club.start.<arena> Add the permission to owner, coach, and captain roles in blockball_club.yml and reload
Non-club players can enter club arenas blockball.join.<arena> granted to default group Remove blockball.join.<arena> from the default group; club access should come from the template only