diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml
index 6947d5f..7c51a58 100644
--- a/.github/workflows/nightly.yml
+++ b/.github/workflows/nightly.yml
@@ -134,6 +134,7 @@ jobs:
placeholderapi | optional
chunky | optional
worldguard | optional
+ teams-api | optional
ezcountdown | optional
ezeconomy | optional
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 529d1d7..a22d847 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -155,6 +155,7 @@ jobs:
placeholderapi | optional
chunky | optional
worldguard | optional
+ teams-api | optional
ezcountdown | optional
ezeconomy | optional
diff --git a/CHANGELOG.md b/CHANGELOG.md
index e0df475..c9827e5 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -20,6 +20,19 @@ Release tags use the `v` prefix (e.g. `v3.0.2`).
---
+## [3.2.0] - 2026-05-11
+
+### Added
+
+- **TeamsAPI claim avoidance**: EzRTP now integrates with [TeamsAPI](https://modrinth.com/plugin/teams-api) to skip chunk-claimed areas during RTP destination search.
+ - New protection provider id: `teamsapi`. Works alongside the existing `worldguard` and `griefprevention` providers.
+ - Enabled automatically when TeamsAPI (with a compatible claim provider) is installed. Silently skipped when absent, no errors, no configuration changes required.
+ - `teamsapi` added to the default `protection.providers` list in `rtp.yml`.
+ - `TeamsAPI` added to `softdepend` in `plugin.yml`.
+ - Claim availability is evaluated dynamically per check, so a claim plugin that loads after EzRTP is picked up without a reload.
+
+---
+
## [3.1.0] - 2026-05-09
### Added
diff --git a/README.md b/README.md
index 384dab0..d50284f 100644
--- a/README.md
+++ b/README.md
@@ -45,6 +45,7 @@ It is designed for **safety-first teleportation**, **cross-platform compatibilit
- **Biome-aware and cache-assisted searching** with optional rare-biome optimization.
- **Heatmap/statistics tooling** for operators to inspect RTP distribution and performance.
- **WorldGuard region command mode** for region-scoped RTP entry points.
+- **TeamsAPI integration** to skip chunk-claimed areas (works with any TeamsAPI-compatible team plugin).
- **Optional first-join/on-join teleport flow**.
- **Optional proxy/network destination menu support** for multi-server setups.
- **Chunky integration** for pre-generation workflows.
@@ -64,6 +65,7 @@ It is designed for **safety-first teleportation**, **cross-platform compatibilit
- [EzEconomy](https://modrinth.com/plugin/ezeconomy)
- [WorldGuard](https://modrinth.com/plugin/worldguard)
- [GriefPrevention](https://modrinth.com/plugin/griefprevention)
+- [TeamsAPI](https://github.com/ez-plugins/teams-api) (chunk-claim avoidance via any compatible team plugin)
- [PlaceholderAPI](https://modrinth.com/mod/placeholderapi)
- [Chunky](https://modrinth.com/plugin/chunky/)
diff --git a/docs/config/rtp.md b/docs/config/rtp.md
index fa0e9a7..4d55a34 100644
--- a/docs/config/rtp.md
+++ b/docs/config/rtp.md
@@ -222,9 +222,11 @@ protection:
providers:
- worldguard
- griefprevention
+ - teamsapi
```
Set `avoid-claims: true` to enable. Only providers that are installed will be used.
+Supported values: `worldguard`, `griefprevention`, `teamsapi`.
---
diff --git a/docs/integrations/protection-worldguard-griefprevention.md b/docs/integrations/protection-worldguard-griefprevention.md
index 99037b0..9613335 100644
--- a/docs/integrations/protection-worldguard-griefprevention.md
+++ b/docs/integrations/protection-worldguard-griefprevention.md
@@ -1,12 +1,12 @@
---
-title: WorldGuard & GriefPrevention
+title: WorldGuard, GriefPrevention & TeamsAPI
nav_order: 4
parent: Integrations
---
-# WorldGuard / GriefPrevention Protection Integration
+# Protection Integrations (WorldGuard, GriefPrevention, TeamsAPI)
-Use this integration when you want EzRTP to avoid protected regions/claims.
+Use these integrations when you want EzRTP to avoid protected regions or claimed chunks.
## What this integration does
@@ -14,8 +14,9 @@ When enabled, EzRTP validates candidate RTP locations against configured protect
Supported provider names in config:
-- `worldguard`
-- `griefprevention`
+- `worldguard` — WorldGuard protected regions
+- `griefprevention` — GriefPrevention claims
+- `teamsapi` — Chunk claims managed by any [TeamsAPI](https://modrinth.com/plugin/teams-api)-compatible team plugin
If a provider plugin is not installed, EzRTP continues with available providers (safe fallback behavior).
@@ -29,6 +30,7 @@ protection:
providers:
- worldguard
- griefprevention
+ - teamsapi
```
### Key settings
@@ -42,6 +44,25 @@ protection:
Why here: claim/region safety is part of RTP destination validation, so it belongs in `rtp.yml`.
+## TeamsAPI claim avoidance
+
+TeamsAPI is a universal bridge between Minecraft team / faction plugins and consumer plugins.
+When a team plugin that supports chunk claiming registers a `TeamsClaimService` with TeamsAPI,
+EzRTP automatically detects this and avoids claimed chunks during RTP destination search.
+
+**Requirements:**
+
+- [TeamsAPI](https://modrinth.com/plugin/teams-api) plugin installed (soft-depend — not mandatory).
+- A compatible team plugin with claim support installed alongside TeamsAPI.
+
+**Behaviour:**
+
+- If TeamsAPI is absent or no claim provider is registered, the `teamsapi` entry in
+ `providers` is silently skipped. No errors are logged unless `avoid-claims: true` and
+ *all* configured providers are unavailable.
+- Claim availability is re-checked dynamically, so a claim plugin that loads after EzRTP
+ is picked up without requiring a reload.
+
## Optional WorldGuard region command mode
You can also enable region-centric command routing:
@@ -61,5 +82,7 @@ worldguard:
## Recommended settings by server type
- **Survival / Towny-like protection-heavy servers:** set `avoid-claims: true`.
+- **Factions / Teams servers using TeamsAPI:** set `avoid-claims: true` and ensure
+ `teamsapi` is in `providers`.
- **Minigame / event servers with custom handling:** keep `avoid-claims: false` unless conflicts occur.
- **Mixed networks:** enable only on servers where claim boundaries matter.
diff --git a/ezrtp-api/pom.xml b/ezrtp-api/pom.xml
index f1412b3..fba9110 100644
--- a/ezrtp-api/pom.xml
+++ b/ezrtp-api/pom.xml
@@ -5,13 +5,13 @@
com.skyblockexp
ezrtp-parent
- 3.1.0
+ 3.2.0
../pom.xml
com.skyblockexp
ezrtp-api
- 3.1.0
+ 3.2.0
jar
EzRTP API
Lightweight public API for EzRTP intended for third-party plugins.
diff --git a/ezrtp-bukkit/pom.xml b/ezrtp-bukkit/pom.xml
index e383688..9147190 100644
--- a/ezrtp-bukkit/pom.xml
+++ b/ezrtp-bukkit/pom.xml
@@ -5,13 +5,13 @@
com.skyblockexp
ezrtp-parent
- 3.1.0
+ 3.2.0
../pom.xml
com.skyblockexp
ezrtp-bukkit
- 3.1.0
+ 3.2.0
jar
EzRTP (Bukkit)
EzRTP Bukkit-compatible plugin module.
@@ -111,7 +111,7 @@
com.skyblockexp
ezrtp-common
- 3.1.0
+ 3.2.0
diff --git a/ezrtp-common/pom.xml b/ezrtp-common/pom.xml
index 9e473c8..5fe6e77 100644
--- a/ezrtp-common/pom.xml
+++ b/ezrtp-common/pom.xml
@@ -5,13 +5,13 @@
com.skyblockexp
ezrtp-parent
- 3.1.0
+ 3.2.0
../pom.xml
com.skyblockexp
ezrtp-common
- 3.1.0
+ 3.2.0
jar
EzRTP Common
Shared utilities for EzRTP (platform-independent)
@@ -73,6 +73,12 @@
2.12.2
provided
+
+ com.github.ez-plugins
+ teams-api
+ 1.4.1
+ provided
+