TeamsAPI is a passive bridge plugin for Paper, Spigot, Purpur, and Folia servers running Minecraft 1.16+, modelled on Vault. It defines a standard interface for team operations so any plugin needing team data can work with any compatible team plugin without coupling them together.
A companion teams-api-velocity plugin bridges the same API over Velocity’s plugin messaging channel, so proxy-side plugins can query team data without contacting each backend server directly.
Features
Provider-agnostic: any team plugin can register as the TeamsService provider
Vault-style facade: single static TeamsAPI.getService() entry point
ServicesManager integration: Bukkit’s standard service priority system is fully supported
Optional-safe API: all lookups return Optional<T>, never null
Optional invite support: register a TeamsInviteService to handle invitation flows independently of the core team service
Optional warp support: register a TeamsWarpService to manage named team warps independently of the core team service
Optional team chest support: register a TeamsChestService to expose team chest contents and item add/remove operations
Optional claim support: register a TeamsClaimService for chunk claims, including SafeZone and WarZone territory typing
Optional power support: register a TeamsPowerService to expose team/player power
Optional power-history support: register a TeamsPowerHistoryService so plugins can read, write, and manage power-history entries
Optional relation support: register a TeamsRelationService for ally/truce/neutral/enemy diplomacy
Optional notification support: register a TeamsNotificationService for cross-plugin player notifications with built-in and custom string types
Velocity bridge: proxy-side async API (VelocityTeamsService) backed by a plugin messaging channel — no direct backend connection required
BungeeCord bridge: proxy-side async API (BungeeTeamsService) for BungeeCord and Waterfall — mirrors the Velocity bridge over the same protocol
Official extensions: bundled bridge modules for BetterTeams, Towny Advanced, and KingdomsX - install via /teamsapi install <extension> or place the JAR in plugins/TeamsAPI/extensions/
Multi-platform: Paper, Spigot, Purpur, and Folia (MC 1.16 through latest)
Java Multi-Release JAR: base bytecode targets Java 17; optimised class variants are provided for Java 25
@OverridepublicvoidonEnable(){if(!TeamsAPI.isAvailable()){getLogger().warning("No team plugin found. Team features disabled.");return;}TeamsServiceteams=TeamsAPI.getService();Optional<Team>team=teams.getPlayerTeam(playerUUID);}