Skip to main content

Overview

The ClanManagerUtil interface provides utilities for managing clans, checking player membership, sending messages, and accessing clan statistics.

Getting the Clan Manager

ClanPlus clansPlusAPI = Bukkit.getServicesManager()
    .getRegistration(ClanPlus.class)
    .getProvider();
    
ClanManagerUtil clanManager = clansPlusAPI.getClanManager();

Clan Verification Methods

isClanExisted()

Checks if a clan with the given name exists.
clanName
String
required
The name of the clan to check
return
boolean
true if the clan exists, false otherwise
boolean exists = clanManager.isClanExisted("HelloClan");
if (exists) {
    // Clan exists
}

isPlayerInClan()

Checks if a player is in any clan.
playerName
String
required
The player’s name to check
return
boolean
true if the player is in a clan, false otherwise
boolean inClan = clanManager.isPlayerInClan("Cortez_Romeo");
if (inClan) {
    // Player is in a clan
}
Also available with a Player object:
boolean inClan = clanManager.isPlayerInClan(player);

Clan Communication

alertClan()

Sends a message to all online members of a clan.
clanName
String
required
The name of the clan to alert
message
String
required
The message to send to clan members
clanManager.alertClan("HelloClan", "Have a good day!");

sendClanBroadCast()

Sends a clan broadcast message related to a player.
player
Player
required
The player associated with the broadcast
clanManager.sendClanBroadCast(player);

Player Management

addPlayerToAClan()

Adds a player to a clan with options for handling existing clan membership.
playerName
String
required
The name of the player to add
clanName
String
required
The name of the clan to add the player to
forceToLeaveOldClan
boolean
required
If true, removes player from their current clan before adding to new clan
// Add player to clan, forcing them to leave their old clan
clanManager.addPlayerToAClan("Cortez_Romeo", "HelloClan", true);

// Add player only if they're not in a clan
clanManager.addPlayerToAClan("NewPlayer", "HelloClan", false);

isPlayerRankSatisfied()

Checks if a player’s rank meets or exceeds a required rank.
playerName
String
required
The player’s name to check
requiredRank
Rank
required
The minimum rank required (LEADER, MANAGER, or MEMBER)
return
boolean
true if player’s rank is sufficient, false otherwise
import com.cortezromeo.clansplus.api.enums.Rank;

boolean canManage = clanManager.isPlayerRankSatisfied("Cortez_Romeo", Rank.MANAGER);
if (canManage) {
    // Player is MANAGER or LEADER
}

Clan Statistics

getClansScoreHashMap()

Returns a map of clan names to their scores.
return
HashMap<String, Integer>
Map of clan names to scores
HashMap<String, Integer> scores = clanManager.getClansScoreHashMap();
for (Map.Entry<String, Integer> entry : scores.entrySet()) {
    String clanName = entry.getKey();
    int score = entry.getValue();
}

getClansPlayerSize()

Returns a map of clan names to their member counts.
return
HashMap<String, Integer>
Map of clan names to member counts
HashMap<String, Integer> sizes = clanManager.getClansPlayerSize();

getClansWarpointHashMap()

Returns a map of clan names to their war points.
return
HashMap<String, Long>
Map of clan names to war points
HashMap<String, Long> warPoints = clanManager.getClansWarpointHashMap();

getClansCreatedDate()

Returns a map of clan names to their creation dates (in milliseconds).
return
HashMap<String, Long>
Map of clan names to creation timestamps
HashMap<String, Long> dates = clanManager.getClansCreatedDate();

getClansCustomName()

Returns a list of all clan custom names.
return
List<String>
List of clan custom names
List<String> customNames = clanManager.getClansCustomName();

Formatting Methods

getFormatClanName()

Returns the formatted display name for a clan.
clanData
IClanData
required
The clan data object
return
String
Formatted clan name
IClanData clanData = dataManager.getClanDatabase("HelloClan");
String formattedName = clanManager.getFormatClanName(clanData);

getFormatClanMessage()

Returns the formatted clan message.
clanData
IClanData
required
The clan data object
return
String
Formatted clan message
String formattedMessage = clanManager.getFormatClanMessage(clanData);

getFormatClanCustomName()

Returns the formatted clan custom name.
clanData
IClanData
required
The clan data object
return
String
Formatted clan custom name
String formattedCustomName = clanManager.getFormatClanCustomName(clanData);

getFormatRank()

Returns the formatted display name for a rank.
rank
Rank
required
The rank to format (LEADER, MANAGER, or MEMBER)
return
String
Formatted rank name
String formattedRank = clanManager.getFormatRank(Rank.LEADER);

Player State Methods

getPlayerUsingClanChat()

Returns a list of players currently using clan chat.
return
List<Player>
List of players in clan chat mode
List<Player> clanChatPlayers = clanManager.getPlayerUsingClanChat();

getPlayerTogglingPvP()

Returns a list of players who have PvP toggled on.
return
List<Player>
List of players with PvP enabled
List<Player> pvpPlayers = clanManager.getPlayerTogglingPvP();

getPlayerUsingChatSpy()

Returns a list of players using chat spy.
return
List<Player>
List of players with chat spy enabled
List<Player> chatSpyPlayers = clanManager.getPlayerUsingChatSpy();

isConsoleUsingChatSpy()

Checks if console has chat spy enabled.
return
boolean
true if console chat spy is enabled, false otherwise
boolean consoleSpy = clanManager.isConsoleUsingChatSpy();

Clan Storage

openClanStorage()

Opens a clan’s storage inventory for a player.
player
Player
required
The player to open the storage for
clanName
String
required
The name of the clan
storageNumber
int
required
The storage number to open (1-based)
skipDisabled
boolean
required
If true, bypasses disabled storage checks
clanManager.openClanStorage(player, "HelloClan", 1, false);

Complete Example

import com.cortezromeo.clansplus.api.ClanPlus;
import com.cortezromeo.clansplus.api.ClanPlus.ClanManagerUtil;
import com.cortezromeo.clansplus.api.enums.Rank;
import org.bukkit.entity.Player;

public void manageClan(Player player, String clanName) {
    ClanPlus api = Bukkit.getServicesManager()
        .getRegistration(ClanPlus.class)
        .getProvider();
    
    ClanManagerUtil clanManager = api.getClanManager();
    
    // Check if clan exists
    if (!clanManager.isClanExisted(clanName)) {
        player.sendMessage("Clan does not exist!");
        return;
    }
    
    // Add player to clan
    clanManager.addPlayerToAClan(player.getName(), clanName, false);
    
    // Alert clan members
    clanManager.alertClan(clanName, player.getName() + " has joined the clan!");
    
    // Get clan statistics
    HashMap<String, Integer> scores = clanManager.getClansScoreHashMap();
    int clanScore = scores.getOrDefault(clanName, 0);
    
    player.sendMessage("You joined " + clanName + " (Score: " + clanScore + ")");
}

Build docs developers (and LLMs) love