{"id":152457,"date":"2026-06-09T08:17:57","date_gmt":"2026-06-09T05:17:57","guid":{"rendered":"https:\/\/vpesports.com\/minecraft\/mods\/teams-api\/"},"modified":"2026-06-09T08:17:57","modified_gmt":"2026-06-09T05:17:57","slug":"teams-api","status":"publish","type":"mod","link":"https:\/\/vpesports.com\/minecraft\/mods\/teams-api\/","title":{"rendered":"Teams API"},"content":{"rendered":"<p>**The universal bridge between team plugins and everything else.**<\/p>\n<p>TeamsAPI is a passive, server-side bridge plugin for Paper, Spigot, Purpur, and Folia servers, inspired by Vault. It provides a single, stable interface for team operations, so any plugin that needs team data can work with any compatible team plugin, without either plugin knowing about the other.<\/p>\n<p>Implemented in Factions fork: https:\/\/www.spigotmc.org\/resources\/pvpindex-factions.135055\/<\/p>\n<p>Suggest it as suggestion to teams plugins, they can send me a message so I can make a list.<\/p>\n<p>## How it works<\/p>\n<p>&#8220;`text<br \/>\nYour Plugin (consumer)  ->  TeamsAPI (bridge)  ->  Team Plugin (provider)<br \/>\n&#8220;`<\/p>\n<p>&#8211; **Providers** &#8212; faction, clan, guild, or custom team plugins `implement TeamsService`<br \/>\n  and register with TeamsAPI during `onEnable()`.<br \/>\n&#8211; **Consumers** &#8212; scoreboard plugins, chat formatters, quest plugins, or any plugin that<br \/>\n  needs team data call `TeamsAPI.getService()` and use the returned interface.<br \/>\n&#8211; **Server owners** &#8212; install `TeamsAPI.jar` and one compatible team plugin. Done.<\/p>\n<p>No two plugins need to know about each other. When the team plugin changes, every<br \/>\nconsumer plugin keeps working without a recompile.<\/p>\n<p>## Features<\/p>\n<p>&#8211; **Provider-agnostic**: works with any team plugin that ships a `TeamsService` implementation.<br \/>\n&#8211; **Graceful fallback**: if no provider is present, `TeamsAPI.isAvailable()` returns `false`; consumers can disable their team features cleanly instead of crashing.<br \/>\n&#8211; **Read-only snapshots**: `Team` and `TeamMember` are immutable interfaces; providers own the backing data.<br \/>\n&#8211; **Role hierarchy**: built-in `OWNER > ADMIN > MEMBER` with `outranks()` and `canManage()` helpers.<br \/>\n&#8211; **Optional invite service**: providers can expose `TeamsInviteService` for invitation workflows.<br \/>\n&#8211; **Optional warp service**: providers can expose `TeamsWarpService` for named team warps.<br \/>\n&#8211; **Optional claim service**: providers can expose `TeamsClaimService` for chunk-claim management.<br \/>\n&#8211; **Optional power service**: providers can expose `TeamsPowerService` for player and team power values.<br \/>\n&#8211; **Cancellable events**: twelve Bukkit events that providers can fire so other plugins can react to or cancel team operations.<br \/>\n&#8211; **Lightweight**: a single shaded JAR with no runtime dependencies beyond the Bukkit API.<br \/>\n&#8211; **JitPack-ready**: depend on just the API module at compile time; no transitive dependencies leak into your plugin.<br \/>\n&#8211; **Velocity bridge** *(experimental)*: optional `teams-api-velocity` plugin for querying team data from the Velocity proxy. Supports multi-proxy networks via Redis.<br \/>\n&#8211; **BungeeCord bridge** *(experimental)*: optional `teams-api-bungeecord` plugin for querying team data from BungeeCord \/ Waterfall proxies. Supports multi-proxy networks via Redis.<\/p>\n<p>## Requirements<\/p>\n<p>| Requirement | Value |<br \/>\n|&#8212;&#8212;&#8212;&#8212;-|&#8212;&#8212;-|<br \/>\n| Server software | Paper \/ Spigot \/ Purpur \/ Folia 1.16+ |<br \/>\n| Java | 17+ (25 recommended) |<br \/>\n| Plugin dependencies | None |<\/p>\n<p>## Installation (server owners)<\/p>\n<p>1. Download `teams-api-plugin-VERSION.jar` from the **Files** tab of this listing or<br \/>\n   from GitHub Releases.<br \/>\n2. Drop it into your server&#8217;s `plugins\/` directory.<br \/>\n3. Install a compatible team plugin that provides a `TeamsService` implementation.<br \/>\n4. Restart the server.<\/p>\n<p>TeamsAPI has no configuration files.<\/p>\n<p>## For developers<\/p>\n<p>Add the API artifact to your project via JitPack:<\/p>\n<p>### Maven<\/p>\n<p>&#8220;`xml<br \/>\n<repositories><br \/>\n    <repository><br \/>\n        <id>jitpack.io<\/id><br \/>\n        <url>https:\/\/jitpack.io<\/url><br \/>\n    <\/repository><br \/>\n<\/repositories><\/p>\n<p><dependency><br \/>\n    <groupId>com.github.ez-plugins<\/groupId><br \/>\n    <artifactId>teams-api<\/artifactId><br \/>\n    <version>1.4.0<\/version><br \/>\n    <scope>provided<\/scope><br \/>\n<\/dependency><br \/>\n&#8220;`<\/p>\n<p>### Gradle<\/p>\n<p>&#8220;`groovy<br \/>\nrepositories {<br \/>\n    maven { url &#8216;https:\/\/jitpack.io&#8217; }<br \/>\n}<br \/>\ndependencies {<br \/>\n    compileOnly &#8216;com.github.ez-plugins:teams-api:1.4.0&#8217;<br \/>\n}<br \/>\n&#8220;`<\/p>\n<p>### Consumer quick-start<\/p>\n<p>Declare the dependency in `plugin.yml` (use `softdepend` if team support is optional):<\/p>\n<p>&#8220;`yaml<br \/>\ndepend:<br \/>\n  &#8211; TeamsAPI<br \/>\n&#8220;`<\/p>\n<p>Then use the API at runtime:<\/p>\n<p>&#8220;`java<br \/>\n@Override<br \/>\npublic void onEnable() {<br \/>\n    if (!TeamsAPI.isAvailable()) {<br \/>\n        getLogger().warning(&#8220;No team plugin found. Team features disabled.&#8221;);<br \/>\n        return;<br \/>\n    }<br \/>\n    getLogger().info(&#8220;TeamsAPI found. Team features enabled.&#8221;);<br \/>\n}<\/p>\n<p>\/\/ In a command or listener:<br \/>\nTeamsService teams = TeamsAPI.getService();<br \/>\nOptional<Team> team = teams.getPlayerTeam(player.getUniqueId());<br \/>\nteam.ifPresent(t -> player.sendMessage(&#8220;Your team: &#8221; + t.getDisplayName()));<br \/>\n&#8220;`<\/p>\n<p>### Provider quick-start<\/p>\n<p>Declare a soft-dependency in `plugin.yml`:<\/p>\n<p>&#8220;`yaml<br \/>\nsoftdepend:<br \/>\n  &#8211; TeamsAPI<br \/>\n&#8220;`<\/p>\n<p>Register your implementation when the plugin loads:<\/p>\n<p>&#8220;`java<br \/>\n@Override<br \/>\npublic void onEnable() {<br \/>\n    TeamsAPI.registerProvider(this, new MyTeamsService(this));<br \/>\n}<\/p>\n<p>@Override<br \/>\npublic void onDisable() {<br \/>\n    TeamsAPI.unregisterProvider(teamsService);<br \/>\n}<br \/>\n&#8220;`<\/p>\n<p>## API surface<\/p>\n<p>### Team lifecycle &#038; lookup<\/p>\n<p>| Method | Returns | Description |<br \/>\n|&#8212;&#8212;&#8211;|&#8212;&#8212;&#8212;|&#8212;&#8212;&#8212;&#8212;-|<br \/>\n| `createTeam(name, ownerUUID)` | `Optional<Team>` | Creates a new team |<br \/>\n| `deleteTeam(teamId)` | `boolean` | Deletes a team by UUID |<br \/>\n| `getTeam(teamId)` | `Optional<Team>` | Looks up a team by UUID |<br \/>\n| `getTeamByName(name)` | `Optional<Team>` | Looks up a team by name |<br \/>\n| `getPlayerTeam(playerUUID)` | `Optional<Team>` | Returns the player&#8217;s current team |<br \/>\n| `getAllTeams()` | `Collection<Team>` | Returns every registered team |<br \/>\n| `getTeamCount()` | `int` | Total number of teams |<\/p>\n<p>### Membership management<\/p>\n<p>| Method | Returns | Description |<br \/>\n|&#8212;&#8212;&#8211;|&#8212;&#8212;&#8212;|&#8212;&#8212;&#8212;&#8212;-|<br \/>\n| `addMember(teamId, playerUUID, role)` | `boolean` | Adds a player with a given role |<br \/>\n| `removeMember(teamId, playerUUID)` | `boolean` | Removes a player from the team |<br \/>\n| `setMemberRole(teamId, playerUUID, role)` | `boolean` | Changes a member&#8217;s role |<br \/>\n| `getMemberRole(teamId, playerUUID)` | `Optional<TeamRole>` | Returns the member&#8217;s current role |<\/p>\n<p>### Invite service (optional)<\/p>\n<p>Register alongside `TeamsService` if your plugin supports invitations:<\/p>\n<p>&#8220;`java<br \/>\nTeamsAPI.registerInviteProvider(this, inviteService);<br \/>\n&#8220;`<\/p>\n<p>| Method | Returns | Description |<br \/>\n|&#8212;&#8212;&#8211;|&#8212;&#8212;&#8212;|&#8212;&#8212;&#8212;&#8212;-|<br \/>\n| `invitePlayer(teamId, inviterUUID, inviteeUUID)` | `boolean` | Sends an invitation |<br \/>\n| `acceptInvite(teamId, playerUUID)` | `Optional<Team>` | Accepts the invitation and joins the team |<br \/>\n| `declineInvite(teamId, playerUUID)` | `boolean` | Declines an invitation |<\/p>\n<p>Consumers check availability with `TeamsAPI.isInviteAvailable()` before calling `TeamsAPI.getInviteService()`.<\/p>\n<p>### Warp service (optional)<\/p>\n<p>Register alongside `TeamsService` if your plugin supports team warps:<\/p>\n<p>&#8220;`java<br \/>\nTeamsAPI.registerWarpProvider(this, warpService);<br \/>\n&#8220;`<\/p>\n<p>| Method | Returns | Description |<br \/>\n|&#8212;&#8212;&#8211;|&#8212;&#8212;&#8212;|&#8212;&#8212;&#8212;&#8212;-|<br \/>\n| `setWarp(teamId, name, location, creatorUUID)` | `boolean` | Creates or updates a named warp |<br \/>\n| `removeWarp(teamId, name)` | `boolean` | Deletes a warp by name |<br \/>\n| `getWarp(teamId, name)` | `Optional<TeamWarp>` | Looks up a warp by name |<br \/>\n| `getWarps(teamId)` | `Collection<TeamWarp>` | Returns all warps for a team |<\/p>\n<p>Consumers check availability with `TeamsAPI.isWarpAvailable()` before calling `TeamsAPI.getWarpService()`.<\/p>\n<p>### Claim service (optional)<\/p>\n<p>Register alongside `TeamsService` if your plugin supports chunk claims:<\/p>\n<p>&#8220;`java<br \/>\nTeamsAPI.registerClaimProvider(this, claimService);<br \/>\n&#8220;`<\/p>\n<p>| Method | Returns | Description |<br \/>\n|&#8212;&#8212;&#8211;|&#8212;&#8212;&#8212;|&#8212;&#8212;&#8212;&#8212;-|<br \/>\n| `claimChunk(teamId, playerUUID, world, x, z)` | `boolean` | Claims a chunk for the team |<br \/>\n| `unclaimChunk(teamId, playerUUID, world, x, z)` | `boolean` | Removes the claim |<br \/>\n| `unclaimAll(teamId)` | `boolean` | Removes all claims for the team |<br \/>\n| `getClaimAt(world, x, z)` | `Optional<TeamClaim>` | Returns the claim at a chunk, if any |<br \/>\n| `getTeamClaims(teamId)` | `Collection<TeamClaim>` | All claims for the team |<br \/>\n| `getClaimCount(teamId)` | `int` | Number of claimed chunks |<br \/>\n| `isClaimed(world, x, z)` | `boolean` | Whether the chunk is claimed by anyone |<br \/>\n| `isClaimedBy(teamId, world, x, z)` | `boolean` | Whether the chunk is claimed by this team |<br \/>\n| `getTeamMaxClaims(teamId)` | `int` | Claim limit (-1 means unlimited) |<\/p>\n<p>Consumers check availability with `TeamsAPI.isClaimAvailable()` before calling `TeamsAPI.getClaimService()`.<\/p>\n<p>### Power service (optional)<\/p>\n<p>Register alongside `TeamsService` if your plugin exposes power values:<\/p>\n<p>&#8220;`java<br \/>\nTeamsAPI.registerPowerProvider(this, powerService);<br \/>\n&#8220;`<\/p>\n<p>| Method | Returns | Description |<br \/>\n|&#8212;&#8212;&#8211;|&#8212;&#8212;&#8212;|&#8212;&#8212;&#8212;&#8212;-|<br \/>\n| `getPlayerPower(playerUUID)` | `double` | Current power of the player |<br \/>\n| `getPlayerMaxPower(playerUUID)` | `double` | Maximum power the player can hold |<br \/>\n| `setPlayerPower(playerUUID, power)` | `boolean` | Sets the player&#8217;s power |<br \/>\n| `getTeamPower(teamId)` | `double` | Combined power of all team members |<br \/>\n| `getTeamMaxPower(teamId)` | `double` | Maximum combined power the team can hold |<\/p>\n<p>Consumers check availability with `TeamsAPI.isPowerAvailable()` before calling `TeamsAPI.getPowerService()`.<\/p>\n<p>### Events<\/p>\n<p>All events live in `com.skyblockexp.teamsapi.event`. Providers are encouraged but not required to fire them.<\/p>\n<p>| Event | Cancellable | Fired when |<br \/>\n|&#8212;&#8212;-|&#8212;&#8212;&#8212;&#8212;-|&#8212;&#8212;&#8212;&#8212;|<br \/>\n| `TeamCreateEvent` | Yes | Before a team is created |<br \/>\n| `TeamDeleteEvent` | Yes | Before a team is deleted |<br \/>\n| `TeamJoinEvent` | Yes | Before a player joins a team |<br \/>\n| `TeamLeaveEvent` | Yes | Before a player leaves a team |<br \/>\n| `TeamRoleChangeEvent` | Yes | Before a member&#8217;s role changes |<br \/>\n| `TeamInviteEvent` | Yes | Before an invitation is sent |<br \/>\n| `TeamInviteAcceptEvent` | No | After a player accepts an invitation |<br \/>\n| `TeamInviteDeclineEvent` | No | After a player declines an invitation |<br \/>\n| `TeamWarpSetEvent` | Yes | Before a warp is created or updated |<br \/>\n| `TeamWarpDeleteEvent` | Yes | Before a warp is deleted |<br \/>\n| `TeamClaimEvent` | Yes | Before a chunk is claimed |<br \/>\n| `TeamUnclaimEvent` | Yes | Before a chunk is unclaimed |<\/p>\n<p>### Roles<\/p>\n<p>| Role | Priority | Description |<br \/>\n|&#8212;&#8212;|&#8212;&#8212;&#8212;-|&#8212;&#8212;&#8212;&#8212;-|<br \/>\n| `OWNER` | 100 | Full control; cannot be removed by others |<br \/>\n| `ADMIN` | 50 | Can manage members with a lower priority |<br \/>\n| `MEMBER` | 10 | Regular team member |<\/p>\n<p>## Links<\/p>\n<p>&#8211; GitHub &#8212; source code &#038; issue tracker<br \/>\n&#8211; Developer Guide &#8212; full integration walkthrough<br \/>\n&#8211; API Reference &#8212; complete method tables<br \/>\n&#8211; JitPack &#8212; Maven \/ Gradle dependency<\/p>\n<p>&#8212;<\/p>\n<p>*MIT License &#8211; free to use in any project, open- or closed-source.*<\/p>\n","protected":false},"excerpt":{"rendered":"<p>TeamsAPI is a passive, server-side bridge plugin for Paper servers, inspired by Vault<\/p>\n","protected":false},"featured_media":152458,"template":"","meta":{"_minecraft_slug":"teams-api","_minecraft_project_id":"2NJKwgXC","_minecraft_author":"Shadow48402","_minecraft_license":"MIT","_minecraft_downloads":60,"_minecraft_follows":1,"_minecraft_client_side":"unsupported","_minecraft_server_side":"required","_minecraft_storage_type":"zip","_minecraft_archive_name":"teams-api.zip","_minecraft_size_bytes":6039983,"_minecraft_version_count":12,"_minecraft_updated_at":"2026-05-15T21:21:00.689805Z","_minecraft_date_created":"2026-04-29T23:47:18.403163Z","_minecraft_date_modified":"2026-05-16T12:46:47.270450Z","_minecraft_project_url":"https:\/\/modrinth.com\/mod\/teams-api","_minecraft_icon_attachment_id":152458,"_minecraft_imported_at":"2026-06-09T05:17:58+00:00","_minecraft_import_hash":"22d9ffc107b341be8ec23f92f19e97d6","_minecraft_versions":"","_minecraft_links":"","_minecraft_gallery":"","_minecraft_api_metadata":""},"mod_category":[124,894,125,89,873,126,127,128,129,92,985,992],"mod_loader":[130,895,131,132,133,134,986,993],"minecraft_version":[118,119,120,46,47,48,49,50,51,52,53,54,55,56,57,58,59,36,60,93,94,101,102,62,37,40,41,73,74,38,78,79,80,81,82,83,167,163],"class_list":["post-152457","mod","type-mod","status-publish","has-post-thumbnail","hentry","mod_category-bukkit","mod_category-bungeecord","mod_category-folia","mod_category-game-mechanics","mod_category-library","mod_category-management","mod_category-paper","mod_category-purpur","mod_category-spigot","mod_category-utility","mod_category-velocity","mod_category-waterfall","mod_loader-bukkit","mod_loader-bungeecord","mod_loader-folia","mod_loader-paper","mod_loader-purpur","mod_loader-spigot","mod_loader-velocity","mod_loader-waterfall","minecraft_version-1-16","minecraft_version-1-16-1","minecraft_version-1-16-2","minecraft_version-1-16-3","minecraft_version-1-16-4","minecraft_version-1-16-5","minecraft_version-1-17","minecraft_version-1-17-1","minecraft_version-1-18","minecraft_version-1-18-1","minecraft_version-1-18-2","minecraft_version-1-19","minecraft_version-1-19-1","minecraft_version-1-19-2","minecraft_version-1-19-3","minecraft_version-1-19-4","minecraft_version-1-20","minecraft_version-1-20-1","minecraft_version-1-20-2","minecraft_version-1-20-3","minecraft_version-1-20-4","minecraft_version-1-20-5","minecraft_version-1-20-6","minecraft_version-1-21","minecraft_version-1-21-1","minecraft_version-1-21-10","minecraft_version-1-21-11","minecraft_version-1-21-2","minecraft_version-1-21-3","minecraft_version-1-21-4","minecraft_version-1-21-5","minecraft_version-1-21-6","minecraft_version-1-21-7","minecraft_version-1-21-8","minecraft_version-1-21-9","minecraft_version-26-1","minecraft_version-26-1-1","minecraft_version-26-1-2"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Teams API - Minecraft<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/vpesports.com\/minecraft\/mods\/teams-api\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Teams API - Minecraft\" \/>\n<meta property=\"og:description\" content=\"TeamsAPI is a passive, server-side bridge plugin for Paper servers, inspired by Vault\" \/>\n<meta property=\"og:url\" content=\"https:\/\/vpesports.com\/minecraft\/mods\/teams-api\/\" \/>\n<meta property=\"og:site_name\" content=\"Minecraft\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/teams-api\\\/\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/teams-api\\\/\",\"name\":\"Teams API - Minecraft\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/teams-api\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/teams-api\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/teams-api-icon-a91ac35eb0fb75a81c431de2ba8db0ca43080582_96.webp\",\"datePublished\":\"2026-06-09T05:17:57+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/teams-api\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/teams-api\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/teams-api\\\/#primaryimage\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/teams-api-icon-a91ac35eb0fb75a81c431de2ba8db0ca43080582_96.webp\",\"contentUrl\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/teams-api-icon-a91ac35eb0fb75a81c431de2ba8db0ca43080582_96.webp\",\"width\":96,\"height\":96},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/teams-api\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Mods\",\"item\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Teams API\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/#website\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/\",\"name\":\"Minecraft\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Teams API - Minecraft","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/vpesports.com\/minecraft\/mods\/teams-api\/","og_locale":"en_US","og_type":"article","og_title":"Teams API - Minecraft","og_description":"TeamsAPI is a passive, server-side bridge plugin for Paper servers, inspired by Vault","og_url":"https:\/\/vpesports.com\/minecraft\/mods\/teams-api\/","og_site_name":"Minecraft","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/vpesports.com\/minecraft\/mods\/teams-api\/","url":"https:\/\/vpesports.com\/minecraft\/mods\/teams-api\/","name":"Teams API - Minecraft","isPartOf":{"@id":"https:\/\/vpesports.com\/minecraft\/#website"},"primaryImageOfPage":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/teams-api\/#primaryimage"},"image":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/teams-api\/#primaryimage"},"thumbnailUrl":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/teams-api-icon-a91ac35eb0fb75a81c431de2ba8db0ca43080582_96.webp","datePublished":"2026-06-09T05:17:57+00:00","breadcrumb":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/teams-api\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vpesports.com\/minecraft\/mods\/teams-api\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/vpesports.com\/minecraft\/mods\/teams-api\/#primaryimage","url":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/teams-api-icon-a91ac35eb0fb75a81c431de2ba8db0ca43080582_96.webp","contentUrl":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/teams-api-icon-a91ac35eb0fb75a81c431de2ba8db0ca43080582_96.webp","width":96,"height":96},{"@type":"BreadcrumbList","@id":"https:\/\/vpesports.com\/minecraft\/mods\/teams-api\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/vpesports.com\/minecraft\/"},{"@type":"ListItem","position":2,"name":"Mods","item":"https:\/\/vpesports.com\/minecraft\/mods\/"},{"@type":"ListItem","position":3,"name":"Teams API"}]},{"@type":"WebSite","@id":"https:\/\/vpesports.com\/minecraft\/#website","url":"https:\/\/vpesports.com\/minecraft\/","name":"Minecraft","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/vpesports.com\/minecraft\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}},"_links":{"self":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod\/152457","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod"}],"about":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/types\/mod"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/media\/152458"}],"wp:attachment":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/media?parent=152457"}],"wp:term":[{"taxonomy":"mod_category","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod_category?post=152457"},{"taxonomy":"mod_loader","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod_loader?post=152457"},{"taxonomy":"minecraft_version","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/minecraft_version?post=152457"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}