Creators
Details
1.0.1
Compatibility
Changes
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.ymlkeys: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.ymlkeys: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
ClaimServiceadapter: 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
PowerServiceadapter: get and set individual player power (clamped to configured max), query total and max power for a team. FactionTeamClaimvalue type bridging internalBoardEntrydata to the TeamsAPITeamClaimcontract.- Updated TeamsAPI dependency from
1.3.0to1.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 viafactions.power.gain-on-kill.enabled.
Fixed
- Plugin crashed on startup with
NoClassDefFoundErrorfor TeamsAPI classes when TeamsAPI was absent or not yet loaded. Removedload: STARTUPso the plugin loads in the defaultPOSTWORLDphase (respectingsoftdependorder), and changedBootstrapContextadapter fields toObjectto prevent eager JVM resolution of TeamsAPI interface types.
Optional dependencies
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:trDfzeaq:yIb7bUod"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:trDfzeaq:yIb7bUod"
}

