Getting the Plugin Instance
Access the main plugin instance to use the API:
import dev.spoky.teamduels.SPxTeamDuels; // Get the plugin instance SPxTeamDuels plugin = SPxTeamDuels.getInstance(); // Access managers TeamManager teamManager = plugin.getTeamManager(); ArenaManager arenaManager = plugin.getArenaManager(); DuelManager duelManager = plugin.getDuelManager(); ConfigManager configManager = plugin.getConfigManager();
Team API
Work with teams programmatically:
Getting Teams
// Get a team by name Team team = teamManager.getTeam("TeamName"); // Get a player's team Team playerTeam = teamManager.getPlayerTeam(player.getUniqueId()); // Check if player is in a team boolean isInTeam = teamManager.isInTeam(player.getUniqueId()); // Get all teams Collection<Team> allTeams = teamManager.getAllTeams();
Managing Teams
// Create a new team boolean success = teamManager.createTeam("NewTeam", leaderUUID); // Add a player to a team teamManager.addPlayerToTeam(playerUUID, "TeamName"); // Remove a player from their team teamManager.removePlayerFromTeam(playerUUID); // Delete a team teamManager.deleteTeam("TeamName");
Team Object Methods
Team team = teamManager.getTeam("TeamName"); // Get team info String name = team.getName(); UUID leader = team.getLeader(); List<UUID> members = team.getAllMembers(); int size = team.getSize(); // Check roles boolean isLeader = team.isLeader(playerUUID); boolean isMember = team.isMember(playerUUID); // Check duel status boolean inDuel = team.isInDuel();
Arena API
Manage arenas through code:
// Get an arena by name Arena arena = arenaManager.getArena("ArenaName"); // Get a free arena for a duel Arena freeArena = arenaManager.getFreeArena(); // Get all arenas Collection<Arena> allArenas = arenaManager.getAllArenas(); // Check if arena exists boolean exists = arenaManager.arenaExists("ArenaName"); // Get arena counts int total = arenaManager.getArenaCount(); int free = arenaManager.getFreeArenaCount();
Arena Object Methods
Arena arena = arenaManager.getArena("ArenaName"); // Get arena info String name = arena.getName(); Location pos1 = arena.getPos1(); // Team 1 spawn Location pos2 = arena.getPos2(); // Team 2 spawn // Check/set usage status boolean inUse = arena.isInUse(); arena.setInUse(true);
Duel API
Work with duels and duel requests:
// Send a duel request boolean sent = duelManager.sendDuelRequest(requesterTeam, targetTeam); // Check for pending request boolean hasPending = duelManager.hasPendingRequest(targetTeam, requesterTeam); // Start a duel boolean started = duelManager.startDuel(team1, team2); // Check if player is in a duel boolean inDuel = duelManager.isInDuel(playerUUID); // Get player's active duel ActiveDuel duel = duelManager.getPlayerDuel(playerUUID);
ActiveDuel Object Methods
ActiveDuel duel = duelManager.getPlayerDuel(playerUUID); // Get teams Team team1 = duel.getTeam1(); Team team2 = duel.getTeam2(); Arena arena = duel.getArena(); // Get player's team in the duel Team playerTeam = duel.getPlayerTeam(playerUUID); Team opponentTeam = duel.getOpponentTeam(playerUUID); // Check duel status boolean started = duel.isStarted(); boolean alive = duel.isPlayerAlive(playerUUID); // Get winning team (null if duel ongoing) Team winner = duel.getWinningTeam();
Color Utilities
Use the built-in color utilities for consistent styling:
import dev.spoky.teamduels.utils.ColorUtils; // Translate color codes String colored = ColorUtils.translate("&aGreen &cRed FF5500Hex"); // Create gradient text String gradient = ColorUtils.gradientPurpleBlue("Gradient Text"); String goldGradient = ColorUtils.gradientGoldYellow("Gold Text"); String redGradient = ColorUtils.gradientRedOrange("Red Text"); String greenGradient = ColorUtils.gradientGreenCyan("Green Text"); // Rainbow text String rainbow = ColorUtils.rainbow("Rainbow!"); // Convert to small caps String smallCaps = ColorUtils.toSmallCaps("small caps"); // Result: "ꜱᴍᴀʟʟ ᴄᴀᴘꜱ" // Strip colors String plain = ColorUtils.stripColor(coloredString);
Maven Dependency
Add SPxTeam Duels as a dependency in your project:
<!-- Add to your pom.xml --> <dependency> <groupId>dev.spoky</groupId> <artifactId>SPxTeamDuels</artifactId> <version>1.0.0</version> <scope>provided</scope> </dependency>
Add to your plugin.yml:
depend: [SPxTeamDuels] # Or use softdepend if optional softdepend: [SPxTeamDuels]
Example Integration
Here's a complete example of integrating with SPxTeam Duels:
public class MyPlugin extends JavaPlugin { private SPxTeamDuels teamDuels; @Override public void onEnable() { // Check if SPxTeamDuels is installed if (getServer().getPluginManager().getPlugin("SPxTeamDuels") != null) { teamDuels = SPxTeamDuels.getInstance(); getLogger().info("Hooked into SPxTeam Duels!"); } } // Example: Get player's team name public String getPlayerTeamName(Player player) { if (teamDuels == null) return null; Team team = teamDuels.getTeamManager() .getPlayerTeam(player.getUniqueId()); return team != null ? team.getName() : null; } // Example: Check if player is in an active duel public boolean isPlayerDueling(Player player) { if (teamDuels == null) return false; return teamDuels.getDuelManager() .isInDuel(player.getUniqueId()); } }