COWMODSКаталог модов
PvPIndex Factions

ВЕРСИИ (21)

release

PvPIndex Factions 1.1.9

1.1.9
7 июн. 2026 г.836Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2bukkit, folia, paper, spigot
Скачать
Что нового
### Fixed - Fixed bStats `created_factions` chart to reset the counter after each report, ensuring it shows the number of factions created in the reporting period rather than the cumulative total since startup.
release

PvPIndex Factions 1.1.8

1.1.8
6 июн. 2026 г.24Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2bukkit, folia, paper, spigot
Скачать
Что нового
### Changed - Updated TeamsAPI integration from `2.4.0` to `2.5.0`. ### Added - `TeamsService.getTeamIds()` - returns all team UUIDs for iteration without loading full team objects. Consumers can iterate over team IDs for bulk operations without loading each full `Team` object. - `Team.getOwner()` - default method available via existing `getOwnerUUID()` and `getMember()` implementation. Returns the owner's `TeamMember` directly.
release

PvPIndex Factions 1.1.7

1.1.7
31 мая 2026 г.46Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2bukkit, folia, paper, spigot
Скачать
Что нового
### Server owner highlights This release improves faction role management for production servers and makes role behavior easier to control globally. - New dedicated `roles.yml` file for all role-related settings. - Safer defaults for rank structure and prefixes. - New PlaceholderAPI values for role name/prefix in chat, scoreboards, and tablist formats. - TeamsAPI baseline updated to `2.4.0` for role-definition compatibility. - Role-management messages (`custom.role.*`) are now translated into all eight supported locales: English, German, Spanish, French, Japanese, Portuguese (Brazilian), Russian, and Chinese. ### What you can use it for - Lock role changes server-wide while keeping role display prefixes: - Set `roles.overrides.enabled: false`. - Allow faction-specific role customization: - Set `roles.overrides.enabled: true`. - Standardize rank visuals across all newly created factions: - Configure `roles.defaults.owner.prefix`, `roles.defaults.officer.prefix`, and `roles.defaults.member.prefix`. - Show rank info in PlaceholderAPI-driven scoreboards/chats: - `%pvpindex_player_role%` - `%pvpindex_player_role_prefix%` ### Configuration examples #### 1) Keep role structure globally controlled (default-safe mode) ```yaml # roles.yml roles: overrides: enabled: false custom: enabled: true ``` Use this when you want admins to control rank structure centrally and avoid faction-by-faction role drift. #### 2) Allow faction-level custom roles ```yaml # roles.yml roles: overrides: enabled: true custom: enabled: true min-priority: 11 max-priority: 99 max-per-faction: 8 ``` Use this for community-driven servers where faction leadership should design its own rank ladder. #### 3) Set consistent role prefixes for new factions ```yaml # roles.yml roles: defaults: owner: prefix: "<gold>[Owner]</gold>" officer: prefix: "<yellow>[Officer]</yellow>" member: prefix: "" ``` Use this for clearer chat hierarchy and onboarding visibility. ### Commands added / updated Role management command suite: - `/f role list` - `/f role create <name> <priority> [prefix]` - `/f role rename <old> <new>` - `/f role setpriority <role> <priority>` - `/f role setprefix <role> <prefix|none>` - `/f role delete <role>` - `/f role assign <player> <role>` ### Integrations - TeamsAPI baseline: `2.4.0+` - Modrinth: https://modrinth.com/plugin/teams-api - PlaceholderAPI role placeholders available: - Modrinth: https://modrinth.com/plugin/placeholderapi ### Fixed - `/f role create` now shows a specific error for each failure path (priority out of range, actor rank too high, name already taken, role limit reached, feature disabled) instead of a generic "Could not create that role" message. The service method return type was changed from `boolean` to a typed `CreateRoleResult` enum with nine distinct values. ### Notes - Core roles (`Owner`, `Officer`, `Member`) remain protected from destructive edits. - Role authority checks apply consistently across legacy rank commands and role assignment. - Plugin version bumped to `1.1.7`.
release

PvPIndex Factions 1.1.6

1.1.6
28 мая 2026 г.38Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2bukkit, folia, paper, spigot
Скачать
Что нового
### Added ![Faction Chests](https://i.ibb.co/cKhbcnnw/image.png) - **Faction Chests**: - New `/f chest` command group for shared faction storage. - Added subcommands: `/f chest list`, `/f chest open <name>`, `/f chest create <name>`, `/f chest delete <name>`. - `/f chest` opens the configured default chest (`factions.team-chest.default-name`) and auto-creates it on first use. - Per-faction chest count is capped by `factions.max-team-chests` (default: `1`). - New permission nodes: `factions.cmd.chest`, `factions.cmd.chest.create`, and `factions.cmd.chest.delete`. ### Changed - Bumped plugin version to `1.1.6`. - Synced release metadata and public listing copy for this release. ### Documentation - Updated TeamsAPI requirement references in public docs/listings to `2.3.0+` to match the current integration baseline. ### Fixed - Fixed startup crash on servers using older TeamsAPI builds that do not provide `TeamsChestService`. TeamsAPI chest provider registration is now optional and loaded reflectively, so the plugin enables normally and keeps other available TeamsAPI adapters active.
release

PvPIndex Factions 1.1.5

1.1.5
25 мая 2026 г.34Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2bukkit, folia, paper, spigot
Скачать
Что нового
This version is a small bugfix for the `/fa help` command. To have effect reset of the translation file is required. ### Fixed - Fixed MiniMessage MiniMessage translation for `/fa help` - Fixed configurable default messages for `/fa help` ![/fa info result screenshot](https://i.ibb.co/d0SkcsVX/image.png)
release

PvPIndex Factions 1.1.4

1.1.4
25 мая 2026 г.31Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2bukkit, folia, paper, spigot
Скачать
Что нового
### Fixed - **All `/f` subcommands broken when TeamsAPI is absent:** `FactionCommandExecutor` and `FactionTabCompleter` held direct `import` statements for TeamsAPI classes. On Paper's isolated plugin classloader this caused `NoClassDefFoundError` at class-load time when TeamsAPI was not installed, preventing the executor from being registered and making every `/f <subcommand>` (including `/f info`, `/f map`, etc.) fail with "Invalid command!". Introduced `TeamsCommandBridge` (no TeamsAPI imports, loaded unconditionally) and `TeamsCommandBridgeImpl` (imports TeamsAPI, instantiated only via reflection when TeamsAPI is confirmed present). Mirrors the existing `TeamsApiRegistrar` isolation pattern. With TeamsAPI absent the bridge is `null` and all subcommands route through the local `CommandRegistry` as intended.
release

PvPIndex Factions 1.1.3

1.1.3
24 мая 2026 г.39Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2bukkit, folia, paper, spigot
Скачать
Что нового
### Added - **`/f info` detail pages (`/f info page <n> [faction]`):** the summary view now shows a hint pointing players to `/f info page <n>`. The new `page` subcommand displays additional faction stats across paginated pages: - Online member count with a hover list of names - Rank distribution (members per rank) - Activity stats - inactive-over-7-days count and last-seen summary - Relations summary (Ally / Truce / Neutral / Enemy counts) - Claim capacity with RAIDABLE / STABLE risk indicator - Full power breakdown (total, member contribution, power boost) - Top 3 power contributors - Newest member and most-recent activity timestamps - **Sender context tracking for `/f info page`:** the last faction viewed per sender is remembered so `/f info page <n>` works without repeating the faction name after an initial `/f info [faction]`. - **New messages in `messages.yml`:** `info.details-hint`, `info.page-title`, `info.page-next`, `info.page-prev`, `info.invalid-page`, `info.page-no-context`. ![f info subcommand page 2](https://i.ibb.co/qMX3smFq/image.png) ### Changed - Updated [TeamsAPI](https://modrinth.com/plugin/teams-api) dependency from `2.0.0` to `2.1.0`. - Bumped plugin version to `1.1.3`. - [TeamsAPI](https://modrinth.com/plugin/teams-api) relation adapter now honors `TeamRelation` nature metadata (`RelationNature`) when persisting relation changes, so friendly/hostile custom relation natures map safely to internal declared relations. ### Fixed - **TeamsAPI relation adapter now honors `RelationNature` metadata (TeamsAPI 2.1.0+):** custom relation natures (`FRIENDLY` / `HOSTILE`) on non-standard `TeamRelation` values are mapped to the correct internal `ALLY` / `ENEMY` relation instead of always falling back to `NEUTRAL`.
release

PvPIndex Factions 1.1.2

1.1.2
23 мая 2026 г.29Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2bukkit, folia, paper, spigot
Скачать
Что нового
### Added - **Faction MOTD (`/f motd`):** officers and above can set a message of the day for their faction. The MOTD is displayed in chat when a member logs in. Use `/f motd clear` to remove it. - **Configurable member-size cap:** a new `max-members` setting in `config.yml` limits how many players can belong to a faction (0 = unlimited). The cap is enforced in `/f join` and in the join service. Default is `0` (no limit). - **Warp passwords (`/f warp password <name> [password | clear]`):** officers and above can protect a faction warp with a password. Players must supply the correct password as a second argument (`/f warp <name> <password>`) to teleport. Passwords are stored as plain text in the `warps` table — avoid using important credentials. - **Warp per-use cost (`/f warp cost <name> <amount>`):** officers and above can require a Vault economy payment each time a warp is used. Setting the cost to `0` makes the warp free. The charge is deducted via Vault before teleporting; if Vault is absent or the player has insufficient funds the teleport is blocked. - **Database migration:** the `warps` table gains two new nullable columns (`password`, `use_cost`) when the plugin starts on an existing installation. No data is lost during upgrade from 1.1.1. - **Dynmap startup smoke test** (`.github/workflows/dynmap-smoke.yml`): downloads the latest dynmap plugin from Modrinth, starts a Paper server with both plugins, and asserts `dynmap hooked - faction territory layer enabled.` is logged. Runs on Paper 1.21.4 and 1.21.11 on every PR to `main`/`develop`. ### Changed - **Dependency upgrades (maintenance):** all outdated compile and test dependencies bumped to their latest compatible versions: - `EssentialsX` 2.21.0 → 2.21.2 - `worldedit-bukkit` 7.3.9 → 7.4.3 - `worldguard-bukkit` 7.0.12 → 7.0.16 - `placeholderapi` 2.11.6 → 2.12.2 (repo URL updated to `repo.helpch.at`) - `mysql-connector-j` 9.1.0 → 9.7.0 - `h2` 2.3.232 → 2.4.240 - `HikariCP` 6.2.1 → 7.0.2 - `junit-jupiter` 5.11.4 → 5.14.4 - `mockito-core` / `mockito-junit-jupiter` 5.14.2 → 5.23.0 - `maven-shade-plugin` 3.6.0 → 3.6.2 - `asm` / `asm-commons` override 9.8 → 9.10 - `jacoco-maven-plugin` 0.8.12 → 0.8.14 - `maven-surefire-plugin` 3.5.2 → 3.5.5 ### Fixed - **dynmap compatibility expanded to 3.x (3.4 – 3.8):** the vendored compile-time `dynmap-api` dependency was upgraded from `3.4-beta-3` to `3.8` (latest stable, released 2026-01-14). In dynmap 3.8 the marker API was split into a separate `DynmapCoreAPI` JAR; both JARs are now vendored under `libs/` with minimal POMs so CI never contacts `repo.mikeprimm.com`. The runtime hook code only uses stable `org.dynmap` marker APIs that are present in every 3.x release, so the plugin continues to work with any installed dynmap 3.x version.
release

PvPIndex Factions 1.1.1

1.1.1
22 мая 2026 г.60Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2bukkit, folia, paper, spigot
Скачать
Что нового
Download button on the bottom of the page or [check main page](https://modrinth.com/plugin/pvpindex-factions). ### Fixed - **Chat crash on Paper 26.x** (`ClassNotFoundException` / `AbstractMethodError` in `EngineChat$PaperChatListener`): multiple layers of shade-related breakage were present and are fully resolved: - maven-shade rewrites `net.kyori.adventure.*` string literals in the bytecode constant pool to `com.pvpindex.lib.adventure.*`. At runtime Paper's classloader cannot find that relocated namespace, causing `ClassNotFoundException`. String literals are now constructed at runtime via `String.valueOf` concatenation so shade never sees the full class name in the constant pool. - The chat renderer was originally a raw 4-parameter lambda targeting `ChatRenderer` directly; LambdaMetafactory cannot reliably link it against Paper 26.x runtime classes. The renderer now uses `ChatRenderer.viewerUnaware()` and a `Proxy`-based `InvocationHandler` that implements only the 3-parameter `ViewerUnaware.render` method, eliminating cross-version descriptor mismatches. - `EngineChat` now contains **zero `net.kyori.adventure` imports**; all adventure interactions go through `java.lang.reflect` against classes loaded from Paper's own classloader, so shade has nothing to rewrite in type descriptors either. - **Chat listener rebuilt as clean OOP dual-path design**: Paper/Folia servers use a `PaperChatListener` that installs a `ChatRenderer.ViewerUnaware` proxy; Spigot/Bukkit servers use a `LegacyChatListener` with `AsyncPlayerChatEvent.setFormat`. Reflection handles and the cached MiniMessage instance are resolved once at listener construction time to avoid per-message overhead. - **H2 database crash on first command** (`/f create`, `/f join`, and any other command that saves a model): H2 2.x does not implement the `VALUES(col)` function reference inside `ON DUPLICATE KEY UPDATE` that Jaloquent generates, causing a `JdbcSQLSyntaxErrorException` (error code 42122) on every save against an H2 backend. Upsert SQL is now transparently rewritten to `MERGE INTO … KEY(id)` before execution, which H2 fully supports. MySQL/MariaDB backends are unaffected. ### Changed - **Chat formatting is now disabled by default** (`factions.chat.show-tag: false` in `config.yml`). Operators must opt in by setting `show-tag: true`. Previously it was enabled for all players by default.
release

PvPIndex Factions 1.1.0

1.1.0
20 мая 2026 г.26Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2bukkit, folia, paper, spigot
Скачать
Что нового
### Added - **Faction merge** (`/f merge send <faction>`, `/f merge accept <faction>`): - Officers and above can send a merge request proposing their faction be absorbed by another. - Officers and above of the target faction can accept the request to complete the merge. - On acceptance, all claims, warps, bank balance, and members are transferred to the target faction; members join at the target's default rank; the sender faction is disbanded. - Online members of the target faction are notified when a merge request arrives. - New permission `factions.cmd.merge` (default: true). - New `MergeRequestModel` / `MergeRequestRepository` data layer and `MergeService` / `MergeServiceImpl` service layer. - New audit actions `merge-request` and `merge-accept` for the audit log. - Internationalization support with locale bundles under `messages/` for `en`, `es`, `de`, `fr`, `pt-BR`, `ja`, `zh`, and `ru`. - New player language command: `/f language [code|reset]` with aliases `lang` and `locale`. - New player profile locale persistence (`players.locale`) for per-player language overrides. - New config key: `factions.language.default` for server-wide default locale fallback. - New permission node: `factions.cmd.language` (default `true`). - New translator/contributor documentation: `docs/i18n.md`. ### Changed - Upgraded TeamsAPI integration to **2.0.0**: - `getRelation(id, id)` now returns `TeamRelation.MEMBER` when both team UUIDs are equal (new TeamsAPI 2.0.0 contract). - Message resolution now follows locale fallback order: player locale -> server default -> English -> inline fallback text. - `/f help` now includes the `language` command. - `/fa reload` now reloads locale bundles in `messages/` in addition to config.
release

PvPIndex Factions 1.0.10

1.0.10
20 мая 2026 г.17Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2bukkit, folia, paper, spigot
Скачать
Что нового
### Added - New admin power command suite under `/fa power`: - `view`, `set`, `add`, `remove`, `reset`, `freeze`, and `history` - Added granular permissions under `factions.cmd.admin.power.*` - Admin mutations now support reason logging through power history entries - New power service architecture: - Introduced centralized `PowerService` / `PowerServiceImpl` - `EnginePower`, `/f power buy`, and admin power commands now use the shared service - Expanded power model and controls: - Added player-level `power_frozen` state - Added source-level power controls under `factions.power.sources.*` - Added constraints under `factions.power.constraints.*` - Added context multipliers under `factions.power.multipliers.*` - Added freeze behavior toggles under `factions.power.freeze.*` - Added power notification routing under `factions.power.notifications.*` - New message keys for power change routing and admin responses (`power.admin-*`, `power.change-*`, `power.blocked-frozen`). ![Admin power history command output](https://i.ibb.co/XZvQDyLm/image.png) ### Changed - Refactored power mutation paths to remove duplicated logic and make power behavior consistently configurable. - Updated command wiring/bootstrapping to inject and reuse the centralized power service.
release

PvPIndex Factions 1.0.9

1.0.9
19 мая 2026 г.20Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2bukkit, folia, paper, spigot
Скачать
Что нового
### Added - **Audit log** (`/f audit`, `/fa audit <faction>`): - Records key faction actions: chunk claims/unclaims, relation changes, member kicks, promotions, demotions, and bank deposits/withdrawals/transfers. - `/f audit [page] [--action=<action>]` lets officers and above page through their faction's history with optional action-type filtering. - `/fa audit <faction> [page] [--action=<action>]` gives staff the same view for any faction; console-friendly. - Page size is configurable via `factions.audit.page-size` in `config.yml` (default: 10). - New permission `factions.cmd.audit` (default: op); included as a child of `factions.admin`. ![Faction audit log](https://i.ibb.co/Q3vFWYDq/image.png)
release

PvPIndex Factions 1.0.8

1.0.8
19 мая 2026 г.18Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2bukkit, paper, spigot
Скачать
Что нового
### Added - **Faction flags** (`/f flag`, `/f flag list`, `/f flag set <flag> [on|off]`): - Per-faction boolean toggles that officers can manage in-game. Five built-in flags: - `pvp`: allow PvP inside the faction's claimed territory (default: `true`) - `friendly-fire`: allow members to harm each other (default: `false`) - `explosions`: allow explosions to destroy terrain in territory (default: `false`) - `fire-spread`: allow fire to spread in territory (default: `false`) - `open`: allow anyone to join without a pending invite (default: `false`) - `/f flag` with no arguments shows the current flag list; `/f flag list` is an explicit alias. - `/f flag set <flag>` toggles; `/f flag set <flag> on|off` sets a specific value. - `/fa flag <faction> <flag> [on|off]` lets admins override any flag regardless of the `player-editable` config setting. - Flag defaults and player-editability are configurable per-flag under `factions.flags.*`. - New permissions: `factions.cmd.flag` (default `true`), `factions.cmd.flag.set` (default `true`, officer check enforced by command logic). - New `messages.yml` keys: `flag.*`. ![Faction Flags overview](https://i.ibb.co/qF7gtGBZ/image.png) ![Set flag state](https://i.ibb.co/DD16mXCM/image.png) ![Flag autocomplete](https://i.ibb.co/FLz53n5r/image.png) - **WorldGuard region sync** (`integrations.worldguard-sync-regions: false`, opt-in): - When enabled, every faction-claimed chunk is mirrored as a `ProtectedCuboidRegion` in WorldGuard on startup and kept in sync with claim, unclaim, join, leave, and disband events. - WG handles block-break and block-place denial at its native `NORMAL` event priority. Because the protection engine registers at `HIGH` with `ignoreCancelled = true`, enemy players are denied before our handler runs; no per-event database query is needed for them. - Faction members are added to their faction's regions as WG domain members so WG passes their interactions transparently. - Allies are handled by a dedicated `HIGHEST ignoreCancelled = false` pass that un-cancels their events after a single DB lookup. - Safezone and warzone chunks get WG regions with an empty member list, so WG denies all building there regardless of WG membership. - Requires WorldGuard to be installed and loaded. Toggling the option requires a restart. - New config key: `integrations.worldguard-sync-regions` (default `false`).
release

PvPIndex Factions 1.0.7

1.0.7
19 мая 2026 г.16Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2bukkit, paper, spigot
Скачать
Что нового
### Added - Startup update-check integration using [ez-plugins/mc-plugin-update-notifier](https://github.com/ez-plugins/mc-plugin-update-notifier) with chained sources: Modrinth public API as primary and GitHub public API as fallback. Modrinth queries loaders `paper`, `folia`, and `spigot` so the check works on all supported server software. - Operator join notification when an update is available, including clickable release URL output. - New update config keys: - `factions.updates.enabled` (default `false` - opt-in) - `factions.updates.notify-ops-on-join` (default `false`) - New message keys: - `update.available` - `update.url` - **[DiscordSRV](https://modrinth.com/plugin/discordsrv) integration** (`integrations.discordsrv.enabled: true`): - Faction create, disband, ally, truce, and enemy-declared events are broadcast to a Discord channel via DiscordSRV (pure reflection - no hard compile-time dependency). - Per-event toggles and Discord-markdown message templates are configurable in `config.yml` under `integrations.discordsrv.events.*`. - `channel-id` key routes messages to a specific text channel; leave empty to use DiscordSRV's main linked channel. - New config keys: - `integrations.discordsrv.enabled` (default `false`) - `integrations.discordsrv.channel-id` (default `""`) - `integrations.discordsrv.events.faction-created.enabled` / `.message` - `integrations.discordsrv.events.faction-disbanded.enabled` / `.message` - `integrations.discordsrv.events.relation-ally.enabled` / `.message` - `integrations.discordsrv.events.relation-truce.enabled` / `.message` - `integrations.discordsrv.events.relation-enemy.enabled` / `.message` - **[EssentialsX](https://modrinth.com/plugin/essentialsx) integration overhaul** (`integrations.essentialsx.enabled: true`): - `/f warp` teleports now route through EssentialsX alongside `/f home`. - EssentialsX `/back` location is recorded before every teleport so players can return with `/back`. - Jailed players are blocked from `/f home` and `/f warp` with a message. - Detected EssentialsX version is logged at startup. - New `messages.yml` keys: `home.teleported`, `home.teleport-failed`, `home.jailed`, `warp.teleported`, `warp.teleport-failed`, `warp.jailed`. - **Safe zones and war zones** (`factions.zones.safe-zone.enabled`, `factions.zones.war-zone.enabled`): - Both zones are enabled by default. Disabling a zone causes its chunks to behave as Wilderness - protection, PvP rules, and power-loss suppression are all inactive. - New admin commands `/fa safezone` and `/fa warzone` let operators assign chunks to each zone in one-shot, square, or circle modes (with an optional `remove` sub-mode). - New permissions: `factions.cmd.safezone`, `factions.cmd.warzone` (default `op`). - **Overclaiming** (`factions.overclaiming.enabled: false` - opt-in): - When enabled, a faction can claim an enemy's chunk if the victim's land count exceeds their current maximum land (power-based). Border adjacency is waived for overclaims. - Optional guard `factions.overclaiming.require-enemy-relation: true` restricts overclaims to factions that have declared `ENEMY` relation. - Attacker receives a `claim.overclaimed` notification; all online victim members receive `claim.overclaimed-victim` showing remaining chunk count. - `FactionChunkClaimEvent` gains an optional `overclaimedFromFaction` field populated on overclaim so third-party plugins can observe the event. - New `messages.yml` keys: `claim.overclaimed`, `claim.overclaimed-victim`, `claim.enemy-not-raidable`. - **Power and war improvements** - six optional, independently toggleable features that improve PvP/raiding pacing. All are disabled by default: - **F1 - Inactive member exclusion** (`factions.power.inactive-exclusion.enabled: false`): members who have been offline longer than `inactive-exclusion.days` do not contribute to the faction's max-land calculation. Their stored power is unchanged; only the land-cap computation skips them, discouraging dead factions from holding territory indefinitely. - **F2 - Death streak multiplier** (`factions.power.death-streak.enabled: false`): consecutive deaths within a rolling `window-seconds` window each multiply the power loss by `multiplier^streak`. After the window expires the streak resets. A separate `power.death-streak-penalty` message is sent on streak deaths. Persisted in two new `PlayerModel` columns: `last_death_at`, `death_streak`. - **F3 - Scaled kill rewards** (`factions.power.gain-on-kill.scale.enabled: false`): kill power gain is multiplied by `clamp(victimPower / killerPower, min-factor, max-factor)`. Rewarding high-risk kills and reducing farming incentive. - **F4 - Raidable state broadcast** (`factions.raidable.broadcast.enabled: true`): after each power tick, the engine detects factions that cross the raidable threshold and notifies members. Optional `server-wide: true` broadcasts to all online players. The raidable flag is persisted in a new `FactionModel` column: `is_raidable`. - **F5 - Offline protection** (`factions.overclaiming.offline-protection.enabled: false`): blocks overclaiming when all members of the defending faction are currently offline, preventing pure offline raiding. - **F6 - War shield** (`factions.war.shield.enabled: false`): a faction may be assigned a daily UTC protection window by an admin using the new `/fa shield <faction> <start-hour> <duration-hours>` command. During the window the faction's land cannot be overclaimed. Persisted in two new `FactionModel` columns: `shield_start_hour`, `shield_duration_hours`. - New admin command: `/fa shield <faction> <clear|<start-hour (0-23)> <duration-hours>>`. - New permission: `factions.cmd.shield` (default `op`, child of `factions.admin`). - New `config.yml` keys: - `factions.power.inactive-exclusion.enabled` / `.days` - `factions.power.death-streak.enabled` / `.window-seconds` / `.multiplier` - `factions.power.gain-on-kill.scale.enabled` / `.min-factor` / `.max-factor` - `factions.raidable.broadcast.enabled` / `.server-wide` - `factions.overclaiming.offline-protection.enabled` - `factions.war.shield.enabled` / `.max-duration-hours` - New `messages.yml` keys: `power.death-streak-penalty`, `raidable.*`, `shield.*`, `claim.enemy-offline-protected`, `claim.shield-active`. - **`/f powerhistory [<player>] [<page>]`** (`alias: phist`): shows a paginated log of significant power changes (death, kill, and purchase events). Players can view their own history without any extra permission. Viewing another player's history requires `factions.cmd.power.history.other` (default `op`). All message templates are configurable in `messages.yml` under `power.history-*`. - **[TeamsAPI](https://modrinth.com/plugin/teams-api) 1.8.0 power history provider**: when TeamsAPI 1.8.0+ is present the plugin registers a `TeamsPowerHistoryService` implementation that exposes all recorded power-change events through the standard TeamsAPI surface. Consumer plugins can read player and team history, filter by time range, add external entries, and remove or clear records without touching the database directly. The provider is registered reflectively so servers running TeamsAPI 1.7.x or earlier start cleanly and the provider is silently skipped. New permissions: `factions.cmd.power.history` (default `true`), `factions.cmd.power.history.other` (default `op`). ### Changed - **[TeamsAPI](https://modrinth.com/plugin/teams-api) dependency updated to 1.8.0** (was 1.7.0). - Update notifier library is now explicitly relocated in shading: `com.github.ezplugins.updater` -> `com.pvpindex.lib.updater`, preventing runtime classpath conflicts. - Update check is **disabled by default** (`factions.updates.enabled: false`). Opt in by setting it to `true`. - [EssentialsX](https://modrinth.com/plugin/essentialsx) interop now uses the compile-time EssentialsX API instead of reflection, making it resilient to future EssentialsX API changes and easier to diagnose when something breaks. - Plugin validates that the plugin named `Essentials` actually implements `IEssentials` before enabling the integration; logs a warning and falls back to noop if not.
release

PvPIndex Factions 1.0.6

1.0.6
18 мая 2026 г.29Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2bukkit, paper, spigot
Скачать
Что нового
### Added - **[TeamsAPI](https://modrinth.com/plugin/teams-api) 1.6 relation provider**: the plugin now implements the `TeamsRelationService` interface introduced in TeamsAPI 1.6. External plugins and scripts can read and write inter-faction relations (`ALLY`, `TRUCE`, `NEUTRAL`, `ENEMY`) through the standard TeamsAPI surface. `TeamRelationChangeEvent` is fired on every relation change, allowing third-party plugins to observe or cancel relation updates before they are persisted. ### Changed - **TeamsAPI dependency updated to 1.6.1** (was 1.5.0). ### Fixed - **Plugin crashed on startup when TeamsAPI 1.5.x was installed** (`NoClassDefFoundError: TeamsRelationService`): the `TeamsRelationService` interface was introduced in TeamsAPI 1.6 and did not exist in older installations. A direct bytecode reference to it in the registrar caused the JVM bytecode verifier to fail when loading the class, crashing the plugin on startup. All references to `TeamsRelationService` and its concrete adapter are now loaded via reflection so that TeamsAPI 1.5.x servers start cleanly and the relation provider is silently skipped when TeamsAPI < 1.6 is detected. - **Stale relation entries after faction disband**: when a faction was disbanded, references to it stored in other factions' relation maps were not removed, leaving orphaned entries in the database. Disbanding a faction now clears all incoming relation references across every other faction.
release

PvPIndex Factions 1.0.5

1.0.5
17 мая 2026 г.77Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2bukkit, paper, spigot
Скачать
Что нового
### Added - **Folia support**: the plugin now runs on Folia servers alongside Bukkit, Spigot, and Paper. All scheduled tasks use a new scheduler abstraction that automatically picks the correct Bukkit or Folia scheduler at runtime. `plugin.yml` now declares `folia-supported: true`. - **Correct chat formatting on Spigot**: chat-format events are now handled through the right API on each platform — `AsyncChatEvent` on Paper and `AsyncPlayerChatEvent` on Spigot. ### Fixed - **Plugin did not start when TeamsAPI or EzCountdown were absent**: Servers without TeamsAPI or EzCountdown installed logged `NoClassDefFoundError` at startup and the plugin failed to load entirely. Both integrations are now fully isolated — the plugin always starts cleanly and activates each integration only when its plugin is present. - **Plugin did not start on Spigot** (`NoClassDefFoundError` at startup): Several internal classes referenced Adventure API types that are absent or incompatible on Spigot 1.21.4 and 1.21.11, causing the JVM to crash during class initialisation before any commands or events could be registered. All Adventure-typed state has been moved into lazily-loaded inner classes that Spigot never touches at startup. - **Messages showed no colour or formatting on Spigot**: Plugin messages appeared as raw plain text because Spigot does not bundle Adventure at runtime. The plugin now ships its own copy of Adventure (MiniMessage + legacy serialiser) so colours, bold, italic, and other formatting always render correctly on Spigot. - **All commands crashed on Spigot** (`/f info`, `/f create`, and every other command): Every command thrown on Spigot produced `UnsupportedOperationException: No JsonComponentSerializer implementation found`, making the plugin completely unusable. The GSON serialiser is now bundled in the plugin JAR, and the initialisation sequence explicitly uses the plugin classloader so that Java's `ServiceLoader` locates the implementation at runtime rather than falling back to a stub that throws. - **Hover tooltips did nothing on Spigot** (`/f info` member list, `/f map` territory tiles): After the command crash was resolved, hover and click events were still silently dropped because the Spigot message path was sending plain §-coded strings. Messages to players are now serialised to JSON via the bundled GSON serialiser and delivered through the BungeeCord chat API, so hover and click events work correctly on Spigot. - **Intermittent shutdown error from bStats metrics** (rare): On servers that shut down shortly after startup, bStats background tasks occasionally ran after the database connection was already closed, logging `HikariDataSource has been closed`. A shutdown flag now prevents metrics tasks from querying the database once the plugin has stopped.
release

PvPIndex Factions 1.0.4

1.0.4
16 мая 2026 г.22Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2bukkit, paper, spigot
Скачать
Что нового
### Added - [TeamsAPI](https://modrinth.com/plugin/teams-api) 1.5.0 subcommand provider support: `/f <name>` now dispatches to any `TeamsSubcommand` registered via `TeamsAPI.registerSubcommand()`, with permission checks and usage-hint fallback. Tab-completion also surfaces registered subcommand names and forwards argument-level completions to each subcommand's own `tabComplete()`. ### Changed - Upgraded [TeamsAPI](https://modrinth.com/plugin/teams-api) dependency from `1.4.0` to `1.5.0`. - PvPIndex Factions now declares `loadbefore` for [EzShops](https://modrinth.com/plugin/ezshops), [EzAuction](https://modrinth.com/plugin/ezauction), [EzRTP](https://modrinth.com/plugin/ezplugins-ezrtp), and [EzClean](https://modrinth.com/plugin/ezclean) so those plugins always load after the faction provider is available.
release

PvPIndex Factions 1.0.3

1.0.3
13 мая 2026 г.27Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2bukkit, paper, spigot
Скачать
Что нового
### Added - New `notifications.yml` config file consolidating all notification settings (inbox, member join, economy tax, EzCountdown). - EzCountdown relation announcements now fall back to a server-wide chat broadcast when EzCountdown is absent or disabled in config. ### Changed - EzCountdown integration is now fully optional: relation announcements are delivered via chat by default and only use EzCountdown when the plugin is present and `notifications.ezcountdown.enabled` is `true`. - Notification settings moved from `config.yml` to `notifications.yml`: `notify-members` (economy tax) and all `integrations.ezcountdown.*` keys.
release

PvPIndex Factions 1.0.2

1.0.2
11 мая 2026 г.24Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2bukkit, paper, spigot
Скачать
Что нового
### Added - `/f map` now supports a size option: `--size=<size>`. - Shared command argument parsing coverage for valued long options (`--key=value` and `--key value`), including error handling tests. - New reusable faction member notification helper (`FactionMemberNotifier`) for consistent online-member notifications across features. - New predefined factions system with separate `pre-defined.yml` storage and explicit in-memory reload flow. - New `/f predefined` command tree (with `/f prefined` alias): `create`, `claim`, `sethome`, `reload`, and `list`. - New predefined defaults and policy toggles in `pre-defined.yml`: `enabled` (default `false`), `case-sensitive`, and `block-disband`. - `/f info` can now display relationship sections, configurable via: - `factions.info.relations.show-allies` (default `true`) - `factions.info.relations.show-truces` (default `false`) - `factions.info.relations.show-neutrals` (default `false`) - `factions.info.relations.show-enemies` (default `false`) ### Changed - `/f map once` default render radius increased to `3` via config default (`factions.map.once-radius`). - `/f map` row suffix formatting no longer appends `z=<value>` at line ends. - `/f map` tile hover text now uses explicit coordinate labels for clarity: `Chunk X`, `Chunk Z`, and `Player Y`. - `/f create <name>` now enforces a predefined-name whitelist when predefined mode is enabled. - Improved relation workflow and UX: - `/f relation` now supports `relationship` alias. - Ally/truce now support pending-to-mutual confirmation flow. - Enemy/neutral relations are mirrored for consistency. - Ally/truce limits are enforced via relation limits. - Tab completion improvements: - Fixed `/f relation <faction> <relation>` completion. - Fixed `/f relationship ...` completion. - Improved `/f map` completion for mixed argument order (`on|off|once` with `--size`). - Join and relation notifications now use configurable message keys in `messages.yml`. - Added predefined command permissions and configurable predefined messages in `messages.yml`. ### Fixed - Fixed invite acceptance join path that could fail with database NOT NULL constraint errors when player rows were first created. - Faction members are now notified when a player successfully joins their faction. - Predefined factions can be protected from disbanding (player and admin disband paths) when policy is enabled.
release

PvPIndex Factions 1.0.1

1.0.1
10 мая 2026 г.19Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2bukkit, paper, spigot
Скачать
Что нового
### Added - `/f power buy <amount>` subcommand: opt-in feature (disabled by default) allowing players to purchase personal power with money via Vault. Configurable cost per point and per-purchase cap (`factions.power.buy.*`). - New `config.yml` keys: `factions.power.gain-on-kill.enabled`, `factions.power.gain-on-kill.amount`, `factions.power.buy.enabled`, `factions.power.buy.cost-per-point`, `factions.power.buy.max-per-purchase`. - New `messages.yml` keys: `power.lost-on-death`, `power.kill-gained`, `power.buy-success`, `power.buy-disabled`, `power.buy-no-vault`, `power.buy-invalid-amount`, `power.buy-already-max`, `power.buy-insufficient-funds`. ### Changed **Teams API updated** The TeamsAPI integration now has access to faction claims and faction power, making it possible to connect other plugins to it and making a more unique Factions experience per server. - TeamsAPI `ClaimService` adapter: claim and unclaim individual chunks, bulk-unclaim by team, query claims by chunk or team, check whether a chunk is claimed or owned by a specific team, and compute max claim allowance from total power. - TeamsAPI `PowerService` adapter: get and set individual player power (clamped to configured max), query total and max power for a team. - `FactionTeamClaim` value type bridging internal `BoardEntry` data to the TeamsAPI `TeamClaim` contract. - Updated [TeamsAPI](https://modrinth.com/plugin/teams-api) dependency from `1.3.0` to `1.4.0`. **Power engine improved** To create a gameplay flow around power we have decided to make it kill based by default with an opt-in power buy feature (`/f power buy <amount>`). - Power loss on death: players lose configurable power (`factions.power.loss-on-death`, default 4.0) when killed; respects the server-start grace period and skips safezone territory. - Power gain on kill: killing an enemy player grants the killer configurable power (`factions.power.gain-on-kill.amount`, default 2.0); opt-out via `factions.power.gain-on-kill.enabled`. ### Fixed - Plugin crashed on startup with `NoClassDefFoundError` for TeamsAPI classes when TeamsAPI was absent or not yet loaded. Removed `load: STARTUP` so the plugin loads in the default `POSTWORLD` phase (respecting `softdepend` order), and changed `BootstrapContext` adapter fields to `Object` to prevent eager JVM resolution of TeamsAPI interface types.
release

PvPIndex Factions 1.0.0

1.0.0
10 мая 2026 г.17Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2bukkit, paper, spigot
Скачать
Что нового
### Added - Initial modern PvPIndex Factions release baseline. - Release workflow with changelog-driven GitHub release notes and marketplace publish flow. ### Changed - Documentation and listing improvements for server-owner onboarding and publishing.