TeamsAPI

JitPack GitHub Packages

TeamsAPI is a passive bridge plugin for Paper 26.1+ servers, 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.


Features

  • Provider-agnostic — any team plugin can register as the TeamsService provider
  • Vault-style facade — single static TeamsAPI.getService() entry point
  • Bukkit ServicesManager — standard service priority system supported
  • Optional-safe API — all lookups return Optional<T>, never null
  • Null-safe facadeTeamsAPI methods silently handle null arguments
  • 5 cancellable eventsTeamCreateEvent, TeamDeleteEvent, TeamJoinEvent, TeamLeaveEvent, TeamRoleChangeEvent

Quick start

1. Add the dependency via JitPack:

<repositories>
  <repository>
    <id>jitpack.io</id>
    <url>https://jitpack.io</url>
  </repository>
</repositories>

<dependency>
  <groupId>com.github.ez-plugins</groupId>
  <artifactId>teams-api</artifactId>
  <version>1.0.1</version>
  <scope>provided</scope>
</dependency>

2. Check availability and call the service:

@Override
public void onEnable() {
    if (!TeamsAPI.isAvailable()) {
        getLogger().warning("No team plugin found — team features disabled.");
        return;
    }
    TeamsService teams = TeamsAPI.getService();
    Optional<Team> team = teams.getPlayerTeam(playerUUID);
}

Documentation

Page What it covers
Developer Guide Provider and consumer integration guide
API Reference Full public-method tables for every class

Requirements

Requirement Version
Java 25
Minecraft Paper 26.1+
Build tool Maven 3.8+ or Gradle 8+