Skip to main content

ConsentPVP

Respect in Battle: ConsentPVP for a Better Gaming Experience!

ConsentPVP is a Minecraft Paper plugin that prevents unwanted PvP by requiring mutual consent. PvP damage is only allowed when both the attacker and the defender have PvP consent enabled. By default, players do not have PvP consent enabled, so the server is peaceful until players opt in.

Consent is per-player and persistent: it is saved by UUID, loaded when a player joins, and saved again when they quit (or the moment they toggle it). ConsentPVP goes beyond simple melee checks — it blocks a wide range of direct and indirect PvP, from projectiles and explosions to player-placed lava and fire.

note

ConsentPVP is currently in development. Configuration keys and behaviour described here target version 1.1.0.


Why ConsentPVP

  • Consensual by default — players start with PvP disabled and opt in when they want to fight.
  • Mutual, not one-sided — combat only succeeds when both players have consent enabled.
  • Comprehensive protection — blocks melee, projectiles, explosions, potions, player-placed lava/fire, and more.
  • Persistent & lightweight — consent is stored per UUID in playerdata.yml, with periodic cleanup of offline entries.
  • Clear feedback — MiniMessage-formatted messages and optional nametag indicators show PvP status at a glance.

Feature Summary

FeatureWhat it does
Mutual consentPvP only succeeds when both attacker and defender have consent enabled.
Self-service togglesPlayers enable or disable their own PvP consent with /pvp.
Toggle cooldownA configurable cooldown stops players from rapidly toggling PvP mid-fight.
Persistent dataConsent is saved per player by UUID in playerdata.yml.
Disable on deathOptionally disables a player's consent automatically when they die.
Nametag indicatorsOptional visual prefixes above players reflecting PvP status.
Indirect PvP protectionBlocks projectiles, TNT, end crystals, potions, explosions, player lava/fire, and more.
Vanish-awareSilently blocks attacks from vanished players.
MiniMessage formattingAll player-facing messages support MiniMessage.
Periodic cleanupRuns every 5 minutes to clear expired cooldowns and offline cache entries.

Requirements

RequirementDetail
Server softwarePaper
API version1.20
Built againstPaper API 1.21.5-R0.1-SNAPSHOT
Java21

Where to Next