Before using the API, you should verify that ClansPlus is installed and enabled on the server.
@Overridepublic void onEnable() { if (Bukkit.getPluginManager().getPlugin("ClansPlus") == null) { getLogger().severe("ClansPlus is not in the server!"); Bukkit.getPluginManager().disablePlugin(this); return; }}
Always check for ClansPlus before initializing the API. If ClansPlus is not present, disable your plugin to prevent errors.
String playerName = "Cortez_Romeo";boolean inClan = clanManager.isPlayerInClan(playerName);if (inClan) { getLogger().info(playerName + " is in a clan!");}
You can also check using a Player object:
Player player = Bukkit.getPlayer("Cortez_Romeo");if (player != null && clanManager.isPlayerInClan(player)) { getLogger().info(player.getName() + " is in a clan!");}
String playerName = "Cortez_Romeo";IClanData clanData = dataManager.getClanDatabaseByPlayerName(playerName);if (clanData != null) { getLogger().info(playerName + " is in clan: " + clanData.getName());} else { getLogger().info(playerName + " is not in a clan");}
Always check for null values and existence before accessing data:
public void displayClanInfo(String playerName) { // Check if player data exists if (!dataManager.getPlayerDatabase().containsKey(playerName)) { getLogger().warning("Player " + playerName + " not found in database"); return; } // Get player data IPlayerData playerData = dataManager.getPlayerDatabase(playerName); // Check if player is in a clan if (playerData.getClan() == null) { getLogger().info(playerName + " is not in a clan"); return; } // Get clan data IClanData clanData = dataManager.getClanDatabase(playerData.getClan()); // Verify clan exists if (clanData == null) { getLogger().severe("Data inconsistency: Clan " + playerData.getClan() + " not found!"); return; } // Safe to access clan data now getLogger().info("Clan: " + clanData.getName()); getLogger().info("Members: " + clanData.getMembers().size());}