Skip to main content

Overview

The ClanPlus interface is the main entry point for accessing the ClansPlus API. It provides access to the plugin’s data manager and clan manager utilities.

Getting the API Instance

To use the ClansPlus API, you first need to obtain an instance of the ClanPlus interface through Bukkit’s services manager.
ClanPlus clansPlusAPI = Bukkit.getServicesManager()
    .getRegistration(ClanPlus.class)
    .getProvider();

Checking Plugin Availability

Before using the API, verify that ClansPlus is installed and enabled:
@Override
public void onEnable() {
    if (Bukkit.getPluginManager().getPlugin("ClansPlus") == null) {
        getLogger().severe("ClansPlus is not in the server!");
        Bukkit.getPluginManager().disablePlugin(this);
        return;
    }
}

Main Methods

getPluginDataManager()

Returns the plugin’s data manager for accessing and manipulating clan and player data.
return
PluginDataManagerUtil
The data manager instance for database operations
PluginDataManagerUtil dataManager = clansPlusAPI.getPluginDataManager();

getClanManager()

Returns the clan manager for clan-related operations and utilities.
return
ClanManagerUtil
The clan manager instance for clan operations
ClanManagerUtil clanManager = clansPlusAPI.getClanManager();

Complete Example

Here’s a complete example of initializing and using the ClansPlus API:
import com.cortezromeo.clansplus.api.ClanPlus;
import com.cortezromeo.clansplus.api.ClanPlus.ClanManagerUtil;
import com.cortezromeo.clansplus.api.ClanPlus.PluginDataManagerUtil;
import org.bukkit.Bukkit;
import org.bukkit.plugin.java.JavaPlugin;

public class MyPlugin extends JavaPlugin {
    
    private ClanPlus clansPlusAPI;
    private PluginDataManagerUtil dataManager;
    private ClanManagerUtil clanManager;
    
    @Override
    public void onEnable() {
        // Check if ClansPlus is available
        if (Bukkit.getPluginManager().getPlugin("ClansPlus") == null) {
            getLogger().severe("ClansPlus is not installed!");
            Bukkit.getPluginManager().disablePlugin(this);
            return;
        }
        
        // Initialize API
        clansPlusAPI = Bukkit.getServicesManager()
            .getRegistration(ClanPlus.class)
            .getProvider();
        
        // Get managers
        dataManager = clansPlusAPI.getPluginDataManager();
        clanManager = clansPlusAPI.getClanManager();
        
        getLogger().info("ClansPlus API initialized successfully!");
    }
}

Next Steps

Build docs developers (and LLMs) love