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 +