PvPMode Opt-in PvP — every player decides whether they can fight
Features
Per-player opt-in PvP — no damage unless both players have PvP on (in either direction)
Combat tagging — once two players start fighting, both are briefly locked into combat and cannot turn PvP off to escape; turning PvP on is always allowed (duration configurable, can be disabled)
PvP cooldown (optional) — an alternative to the combat lock: turning PvP off starts a delay during which you stay attackable, then it turns off automatically (default OFF)
Combat-log punishment (optional) — players who disconnect while combat-tagged (in an active fight) are killed at the logout spot and drop everything; on their next login they are told why they died (default OFF)
PvE loot bonus (optional) — extra mob drops, custom item drops and per-mob money for players who fight with PvP on; three mob groups plus per-mob overrides (default OFF)
Name colouring via scoreboard teams — over the head and in the tab list
Optional WorldGuard support — respects the region pvp flag (and runs perfectly fine without WorldGuard)
Optional PlaceholderAPI support — expose each player's PvP status and combat state in scoreboards, tab lists or chat (and runs perfectly fine without PlaceholderAPI)
Optional Vault support — per-mob money rewards for the loot bonus (and runs perfectly fine without Vault)
Per-world activation — pick exactly which worlds use the system
Configurable respawn behaviour — keep / always on / always off
Status is saved and survives relog and server restart; new players start safe (PvP off)
Command name + aliases fully configurable (in case /pvpmode is already taken)
Fully customizable messages — every in-game chat text lives in a language file you can reword, recolour with & codes and format (bold, italic, …)
Translatable into any language — copy the language file, translate it, and select it with a simple language option (missing lines fall back to English)
Self-updating config — on update, new options are added to your existing config automatically; your values and comments are kept and a config.yml.bak backup is written first (no more deleting your config)
Built-in update notice — operators are told on join when a newer version is available (it only notifies, never downloads)
Lightweight, standalone, zero required dependencies
Commands
/pvpmode — toggle your PvP on/off
/pvpmode on / /pvpmode off — set it directly
/pvpmode help — list the commands
/pvpmode reload — reload the configuration (and the messages/language)
Permissions
pvpmode.use — set/toggle own status (default: everyone)
pvpmode.help — use the help command (default: everyone)
pvpmode.reload — reload the config (default: operators)
pvpmode.update — receive the update notice on join (default: operators)
How damage is decided A hit between two players is only allowed when all three are true:
the world is in the configured active list,
WorldGuard (if enabled) does not deny PvP at that spot,
both players have PvP turned on.
If even one is false, no damage happens.
Combat tagging When two players actually hit each other, both are put "in combat" for a few seconds. While in combat a player cannot turn their PvP off — so nobody can escape a fight by quickly disabling PvP. Turning PvP on is always allowed, the duration is configurable (
combat.tag-seconds, default 10), and the whole feature can be switched off.
PvP cooldown (optional) An alternative to the combat lock. When
cooldown.enabled is true, turning your PvP off does not take effect right away: a delay starts (
cooldown.seconds, default 300 = 5 minutes) during which you stay attackable, then your PvP turns off automatically. The player gets an action-bar reminder at each full minute and a chat message when it ends. Turning PvP on is always instant and cancels a running cooldown, the cooldown survives relog, and while this feature is on it replaces the combat tag. Default off.
Combat-log punishment (optional) Stops players from escaping a fight by simply disconnecting. When
combat-log.enabled is true, a player who logs out
while still combat-tagged — i.e. they dealt or took a real PvP hit within the last
combat.tag-seconds, so they were genuinely in a fight — is killed at the logout spot and drops everything (a normal vanilla death). Merely having PvP on without a recent fight — even for minutes — is
not punished, and neither is a cooldown winding down without a recent hit; only logging out mid-fight is. Because the player is offline when the kill happens, they are told why on their
next login (a translatable chat message). The combat tag is recorded on every PvP hit, so this works even with the in-combat lock turned off; with
combat.tag-seconds: 0 no tag is set and nothing is punished. If the server gamerule
keepInventory is on, that setting is respected. Default off.
PvE loot bonus (optional) Rewards players who play with PvP active by giving them extra drops from mobs they killed themselves — Risk = Reward. The bonus is granted only while the killer's PvP is effectively active (active world, WorldGuard does not deny PvP there, PvP status on — a running cooldown still counts) and only for mobs they killed personally. Every mob falls into one of three groups —
hostile,
neutral,
passive — each with its own on/off switch and a bonus
percent that may exceed 100 (e.g. 200 = triple loot). The new
mobs.yml fine-tunes single mobs on top of the groups: a per-mob percent overrides its group (and is granted even when the group is off), a per-mob
items list adds custom extra drops rolled by their own chance, and a per-mob
money amount is paid to the killer (needs Vault plus
loot-bonus.money.enabled).
mobs.yml ships fully commented out, so by default only the group settings apply. Default off.
Configuration Active worlds, respawn behaviour, the two name colours, WorldGuard on/off, the combat lock (on/off and duration), the PvP cooldown, the combat-log punishment, the PvE loot bonus (groups + money), the update check, and the command name + aliases are all set in
config.yml. Per-mob loot overrides live in
mobs.yml. In-game texts live in
messages_<language>.yml — pick the language with the
language option, edit any text, colour and formatting, and translate it (missing lines fall back to English). When you update the plugin,
config.yml is brought up to date automatically: new options are added while your values and comments are kept (a
config.yml.bak backup is written first). A full
Tutorial.txt is written into the plugin folder on every start.
Placeholders (PlaceholderAPI) If PlaceholderAPI is installed, these placeholders are available:
%pvpmode_status% (coloured ON/OFF),
%pvpmode_status_plain% (ON/OFF, no colour),
%pvpmode_enabled% (true/false),
%pvpmode_combat% (in combat true/false) and
%pvpmode_combat_seconds% (seconds left on the combat lock). Without PlaceholderAPI the plugin simply runs without them.
Compatibility Spigot and Paper, Minecraft 1.16 – 1.21+, Java 17+. WorldGuard, PlaceholderAPI and Vault are optional — Vault is only needed for the loot-bonus money payout, and the plugin loads and runs fine without any of them.
Good to know End-crystal and bed/respawn-anchor explosions cannot be traced back to a player through the server API, so they are treated as environmental damage (this is documented in the config). Everything else between players is gated. PvPMode uses bStats to collect anonymous usage statistics; server owners can opt out at any time in
/plugins/bStats/config.yml.
Code (Text):
# =====================================================================
# PvPMode configuration
# Version: 1.3.1
# Author: WuZaa
# =====================================================================
#
# Note on explosions: TNT lit by a player is attributed to that player and follows the PvP rules.
# End-crystal and bed/respawn-anchor explosions cannot be traced back to a player through the
# server API, so they are NOT gated by this plugin - treat them like any other environmental hazard.
# Internal config version - lets the plugin notice when this file is older than the installed
# version after an update. Leave it as-is; you never need to change it by hand.
config-version: 4
# Language for the in-game chat texts. The plugin loads the file messages_<language>.yml from this
# folder (e.g. "en" -> messages_en.yml). The default messages_en.yml is created automatically on start.
# To translate: copy messages_en.yml to e.g. messages_de.yml, translate the lines, then set
# language: de here. If the file or a single line is missing, the English default is used.
# (This only affects texts players see in chat - console/log messages always stay English.)
language: en
worldguard:
# If true, the WorldGuard "pvp" flag is respected: where a region sets pvp to "deny",
# players cannot hurt each other even if both have PvP on.
# If WorldGuard is NOT installed, this option is ignored automatically.
enabled: true
# Worlds in which the opt-in PvP system is active.
# In worlds that are NOT listed here, this plugin never allows player-vs-player damage.
# World names are case-sensitive and must match the world folder names.
worlds:
- world
- world_nether
- world_the_end
# What happens to a player's PvP status after they respawn:
# on = always enabled after respawn
# off = always disabled after respawn
# keep = keep whatever status the player had before dying (default)
respawn-mode: keep
# Combat tagging: when two players actually hit each other (real PvP damage), BOTH are put
# "in combat" for a few seconds. While in combat a player cannot turn their PvP OFF - so nobody
# can escape a fight by quickly disabling PvP. Turning PvP ON is always allowed.
combat:
# Master switch for the in-combat lock. false = players may toggle PvP off at any time.
enabled: true
# How long the in-combat lock lasts after the last hit, in seconds (default 10). 0 disables it.
tag-seconds: 10
# PvP cooldown: an alternative to the in-combat lock above. When ON, turning your PvP OFF does not
# take effect immediately - instead a delay starts during which you STAY attackable, then your PvP
# turns off automatically once the delay runs out. This stops players from instantly going safe.
# While this cooldown feature is enabled it REPLACES the combat-tag (the in-combat lock above is
# skipped). Turning PvP ON always works instantly and cancels a running cooldown.
cooldown:
# Master switch. false = off (default), turning PvP off works the old way (subject to combat-tag).
enabled: false
# Length of the cooldown after pressing off, in seconds (default 300 = 5 minutes).
seconds: 300
# Combat-log punishment: stops players from escaping a fight by simply disconnecting. It applies ONLY
# while a player is combat-tagged (in an active fight). When ON, a player who logs out while still
# combat-tagged (i.e. they dealt or took a real PvP hit within the last combat.tag-seconds - they were
# in a fight) is killed at the logout spot, so they drop everything (vanilla death). Merely having PvP
# ON without a recent fight - even for minutes - is NOT punished, and neither is a cooldown winding down
# without a recent hit; only logging out mid-fight is. Because the player is offline when the kill
# happens, they are told why on their NEXT login (the 'combat-log-death' chat message).
# NOTE: this only depends on the combat tag, which is recorded on every PvP hit - so combat-log works
# even if the in-combat lock (combat.enabled) is turned off. With combat.tag-seconds: 0 no tag is set
# and nothing is punished.
combat-log:
# Master switch. false = off (default), logging out is never punished.
# NOTE: if the server's gamerule keepInventory is true the player keeps their items on this death -
# that is the server owner's setting and is accepted as-is.
enabled: false
# PvE loot bonus: rewards players who play with PvP active by giving them extra mob drops.
# The bonus applies ONLY to players whose PvP is effectively active (their world is active,
# WorldGuard does not deny PvP at the spot, and their PvP status is on - a running cooldown still
# counts as on, so cooldown players keep earning it: Risk = Reward) and ONLY for mobs they killed
# themselves. Mobs are sorted into three groups; each group has its own switch and bonus percentage.
loot-bonus:
# Master switch for the whole PvE loot bonus. Default off.
enabled: false
money:
# Give money per killed mob (requires Vault). Per-mob amounts live in mobs.yml. Default off.
enabled: false
# Per-group settings. "percent" is a free integer and MAY exceed 100 (e.g. 200 = triple loot:
# the normal drop plus two extra copies). A group only grants its bonus when both this master
# switch above and the group's own "enabled" are true.
groups:
# Mobs that attack on their own (zombies, skeletons, creepers, ...).
hostile:
enabled: true
percent: 50
# Mobs that only attack when provoked (endermen, wolves, bees, iron golems, ...).
neutral:
enabled: false
percent: 50
# Mobs that are never aggressive (cows, pigs, sheep, villagers, ...).
passive:
enabled: false
percent: 50
# Update check: on startup the plugin asks SpigotMC whether a newer version exists and, if so,
# notifies operators (permission pvpmode.update) when they join. It only NOTIFIES - nothing is ever
# downloaded or installed automatically. Set to false to switch the check off entirely.
update-check:
enabled: true
color:
# Name colour when PvP is ON. Default &c (red).
# Only the 16 standard Minecraft colour codes are allowed (no hex):
# &0 black &1 dark_blue &2 dark_green &3 dark_aqua &4 dark_red &5 dark_purple
# &6 gold &7 gray &8 dark_gray &9 blue &a green &b aqua
# &c red &d light_purple &e yellow &f white
pvp-on: '&c'
# Name colour when PvP is OFF. Default &f (white).
pvp-off: '&f'
command:
# The main command name. Change this if /pvpmode is already used by another plugin.
# NOTE: changing the name or aliases takes effect after a SERVER RESTART
# (a "/pvpmode reload" reloads settings but does not re-register the command).
name: pvpmode
# Extra names for the same command.
aliases:
- pvp
- togglepvp
Code (Text):
# =====================================================================
# PvPMode - per-mob loot overrides
# Author: WuZaa
# =====================================================================
#
# This file lets you fine-tune the PvE loot bonus for individual mobs, on top of the three
# GROUP settings (hostile / neutral / passive) in config.yml.
#
# HOW IT WORKS
# - Per-mob settings here OVERRIDE the matching group settings from config.yml. A mob that has
# its own "percent" here ignores its group's percent. A mob with an explicit "percent" is granted
# EVEN IF its group is switched off in config.yml (the per-mob override always wins).
# - Everything in this file is COMMENTED OUT by default, so out of the box only the group settings
# apply and this file changes nothing.
# - The WHOLE loot bonus (groups AND these overrides) does nothing unless loot-bonus.enabled is
# true in config.yml. The money payout additionally needs loot-bonus.money.enabled: true AND a
# Vault-compatible economy plugin installed.
# - As with the group bonus, drops are only granted for mobs the player killed themselves and only
# while that player's PvP is effectively active (active world, WorldGuard does not deny PvP there,
# and their PvP status is on - a running cooldown still counts).
#
# FORMAT (mob names are the Bukkit EntityType names, always UPPERCASE)
# MOB_NAME:
# percent: 100 # overrides the group percent for this mob (a free integer, may exceed 100)
# money: 5.0 # money paid to the killer per kill (needs loot-bonus.money.enabled + Vault)
# items: # custom extra item drops, each rolled independently
# - "minecraft:diamond:1:10" # namespacedId:amount:chance% (chance is 0-100)
# - "minecraft:emerald:2:25" # -> on a kill, 25% chance to drop 2 emeralds
#
# Any field is optional: list only what you want to change. A mob with no entry here just uses its
# group settings. Unknown mob names or unknown item ids are skipped with a warning in the console.
#
# To activate an entry, remove the leading "# " from its lines (keep the 2-space indentation).
# ---------------------------------------------------------------------
WHAT THIS PLUGIN DOES
Opt-in PvP. Every player controls their own PvP status.
Two players can only damage each other when ALL of these are true:
1. They are in a world where PvPMode is active (see 'worlds' in config.yml).
2. If WorldGuard support is on: the WorldGuard 'pvp' flag is not set to deny there.
3. BOTH players have their PvP turned ON.
If even one of these is false, no damage happens - in either direction.
This also covers projectiles (arrows, tridents) and harmful splash potions:
the real thrower/shooter is used as the attacker.
NAME COLOUR
A player's name (above the head and in the tab list) is coloured by status:
PvP ON -> the 'pvp-on' colour (default red)
PvP OFF -> the 'pvp-off' colour (default white)
COMBAT LOCK
When two players actually damage each other, BOTH are put 'in combat' for a few
seconds (combat.tag-seconds, default 10). While in combat a player cannot turn PvP
OFF - so nobody can escape a fight by disabling PvP. Turning PvP ON is always allowed.
Disable the whole feature with combat.enabled: false.
PVP COOLDOWN (optional, default OFF)
An alternative to the combat lock above. When cooldown.enabled is true, turning your
PvP OFF does NOT take effect right away: instead a delay starts (cooldown.seconds,
default 300 = 5 minutes) during which you STAY attackable, and your PvP only turns off
automatically once that delay runs out. This stops players from going safe instantly.
While the cooldown counts down the player gets a reminder on the action bar at each
full minute, and a chat message when it finally turns off. Turning PvP ON always works
instantly and cancels a running cooldown. A cooldown survives relog (it is stored and
resumes counting on the next login). While this feature is ON it REPLACES the combat
lock above (combat tagging is skipped). Switch it on with cooldown.enabled: true.
COMBAT-LOG PUNISHMENT (optional, default OFF)
Stops players from escaping a fight by simply disconnecting. The punishment applies ONLY
while a player is combat-tagged (in an active fight). When combat-log.enabled is true, a
player who logs out while still combat-tagged (i.e. they dealt or took a real PvP hit
within the last combat.tag-seconds) is killed at the logout spot, so they drop everything
(a normal vanilla death). Merely having PvP ON without a recent fight - even for minutes -
is NOT punished, and neither is a cooldown winding down without a recent hit; only logging
out mid-fight is. Because the player is offline when the kill happens, they are told why
on their NEXT login (the 'combat-log-death' chat message). The combat tag is recorded on
every PvP hit, so this works even if the in-combat lock (combat.enabled) is turned off;
with combat.tag-seconds: 0 no tag is set and nothing is punished. NOTE: if the server
gamerule keepInventory is true the player keeps their items on this death - that is the
server owner's setting and is accepted as-is. Switch it on with combat-log.enabled: true.
PVE LOOT BONUS (optional, default OFF)
Rewards players who play with PvP active by giving them EXTRA drops from mobs they
killed themselves (Risk = Reward). The bonus is granted ONLY while the killer's PvP is
effectively active (their world is active, WorldGuard does not deny PvP at the spot, and
their PvP status is on - a running cooldown still counts as on) and ONLY for mobs that
player killed personally.
Master switch: loot-bonus.enabled (default false) turns the WHOLE feature on or off.
Groups: every mob falls into one of three groups, each with its own on/off switch and
bonus 'percent':
hostile mobs that attack on their own (zombies, skeletons, creepers, ...).
neutral mobs that only attack when provoked (endermen, wolves, bees, golems, ...).
passive mobs that are never aggressive (cows, pigs, sheep, villagers, ...).
The 'percent' is a free integer and MAY exceed 100: it is applied to each drop stack,
so +50% gives a guaranteed extra half (rounded by chance) and +200% means triple loot.
Per-mob overrides: mobs.yml can fine-tune single mobs on top of the groups. A per-mob
'percent' replaces that mob's group percent and is granted even when its group is off
(the override always wins). A per-mob 'items' list adds custom extra drops, each rolled
by its own chance. A per-mob 'money' amount is paid to the killer and needs Vault plus
loot-bonus.money.enabled: true. mobs.yml ships fully commented out, so by default only
the group settings apply. Switch the feature on with loot-bonus.enabled: true.
COMMANDS
/pvpmode Toggle your PvP status on/off.
/pvpmode on Enable your PvP.
/pvpmode off Disable your PvP.
/pvpmode help Show the in-game help.
/pvpmode reload Reload config.yml (needs permission pvpmode.reload).
The command name and aliases can be changed in config.yml (command.name /
command.aliases) in case another plugin already uses /pvpmode. Changing them
takes effect after a SERVER RESTART.
PERMISSIONS
pvpmode.use Set/toggle your own PvP status. (default: everyone)
pvpmode.help Use the help subcommand. (default: everyone)
pvpmode.reload Reload the configuration. (default: operators only)
pvpmode.update Notice on join about a newer version. (default: operators only)
CONFIG (config.yml)
Updates add new options automatically (your values + comments kept; a config.yml.bak
is written first). You never need to delete your config after an update.
worldguard.enabled true/false - respect the WorldGuard 'pvp' flag
(ignored if WorldGuard is not installed).
worlds List of worlds where the PvP system is active.
respawn-mode on | off | keep - PvP status after respawn (default: keep).
color.pvp-on Name colour when PvP is on (default &c, red).
color.pvp-off Name colour when PvP is off (default &f, white).
Only the 16 standard Minecraft colours are allowed.
command.name Main command name (default pvpmode).
command.aliases Extra command names (default pvp, togglepvp).
language Language for in-game texts -> messages_<language>.yml
(default en). Console messages always stay English.
combat.enabled true/false - lock PvP-off while a player is in combat (default true).
combat.tag-seconds How long the combat lock lasts after the last hit (default 10; 0 = off).
cooldown.enabled true/false - delayed PvP-off instead of the combat lock (default false).
cooldown.seconds Length of that delay in seconds (default 300 = 5 minutes).
combat-log.enabled true/false - kill players who log out while combat-tagged, i.e. in a
fight - not for merely having PvP on (default false).
loot-bonus.enabled true/false - master switch for the PvE loot bonus (default false).
loot-bonus.money.enabled true/false - pay per-mob money rewards; needs Vault (default false).
loot-bonus.groups.* Per-group on/off and 'percent' for hostile / neutral / passive mobs
(percent may exceed 100). Per-mob overrides live in mobs.yml.
update-check.enabled true/false - check SpigotMC for a newer version on start (default true).
IN-GAME TEXTS / TRANSLATION
Every text a player sees in chat lives in messages_<language>.yml in this folder
(messages_en.yml is written on start). Edit it to change the wording, the colours
(&-codes like &c, &a) and formatting (&l bold, &o italic) on each line.
To add a language: copy messages_en.yml to messages_<code>.yml, translate it, then
set 'language' in config.yml. Any missing line falls back to the English default.
WORLDGUARD
WorldGuard is optional (soft-dependency). Without it the plugin still runs and the
WorldGuard stage is simply skipped. Built against the WorldGuard 7 API.
VAULT (optional)
Vault is only needed for the PvE loot bonus MONEY payout (per-mob 'money' in mobs.yml
with loot-bonus.money.enabled: true). Without Vault, or without an economy plugin behind
it, the money payout simply does nothing - every other feature works unchanged.
PLACEHOLDERAPI (optional)
If PlaceholderAPI is installed, these placeholders are available:
%pvpmode_status% coloured ON / OFF
%pvpmode_status_plain% ON / OFF (no colour)
%pvpmode_enabled% true / false
%pvpmode_combat% true / false (player currently in combat)
%pvpmode_combat_seconds% seconds left on the combat lock
UPDATE NOTICE
On start the plugin asks SpigotMC whether a newer version exists. If so, operators
(permission pvpmode.update) get a one-line notice when they join. It only notifies -
nothing is ever downloaded. Turn it off with update-check.enabled: false.
METRICS (bStats)
PvPMode reports anonymous usage statistics to bStats (https://bstats.org) - plugin
count, server version, and a few feature toggles. No personal or player data. Server
owners can opt out for ALL plugins at once in plugins/bStats/config.yml.
NEW PLAYERS
Anyone joining for the first time starts with PvP OFF. The status survives relog
and server restart.
WHAT IS COVERED / LIMITATIONS
Covered: melee, arrows, tridents, fireballs, thrown splash potions, lingering
potion clouds, tipped-arrow effects, and player-lit TNT.
Not covered: end-crystal and bed/respawn-anchor explosions - the server provides
no way to attribute these to a player, so they are treated as environmental damage.
=====================================================
Code (Text):
# =====================================================================
# PvPMode messages (English / default)
# Version: 1.3.1
# Author: WuZaa
# =====================================================================
#
# These are all the texts a PLAYER sees in chat. Edit them freely.
# (Console / server-log messages are NOT here - they stay English by design.)
#
# COLOURS & FORMATTING
# Write colour and formatting codes directly into the text with '&':
# &0 black &1 dark_blue &2 dark_green &3 dark_aqua &4 dark_red &5 dark_purple
# &6 gold &7 gray &8 dark_gray &9 blue &a green &b aqua
# &c red &d light_purple &e yellow &f white
# &l bold &o italic &n underline &m strike &k magic &r reset
#
# PLACEHOLDERS (get automatically replaced)
# {prefix} -> the 'prefix' text below (the [PvPMode] tag in front of a message)
# {command} -> the configured command name (e.g. pvpmode)
# {label} -> the command name the player actually typed
#
# TRANSLATING
# Copy this file to messages_<code>.yml (e.g. messages_de.yml), translate the lines,
# then set 'language' in config.yml (e.g. language: de). Any missing line falls back
# to the built-in English text, so nothing is ever blank.
# The tag shown in front of most messages.
prefix: "&6[PvPMode] &r"
# Shown when a player turns their PvP on / off.
pvp-on: "{prefix}&aPvP is now &cON&a. Your name shows the PvP colour and you can fight other PvP-enabled players."
pvp-off: "{prefix}&aPvP is now &7OFF&a. You can no longer hurt or be hurt by other players."
# The /<command> help listing.
help-header: "{prefix}&eCommands:"
help-toggle: "&6/{command}&7 - toggle your PvP status on/off."
help-on: "&6/{command} on&7 - enable your PvP."
help-off: "&6/{command} off&7 - disable your PvP."
help-help: "&6/{command} help&7 - show this help."
help-reload: "&6/{command} reload&7 - reload the configuration."
help-footer: "&8A red name means PvP is on, white means off. Damage only happens when both players have PvP on."
# Error / status messages.
unknown-subcommand: "{prefix}&cUnknown subcommand. Try /{label} help"
only-players: "{prefix}&cOnly players can change their PvP status."
no-permission: "{prefix}&cYou don't have permission to do that."
reloaded: "{prefix}&aConfiguration reloaded."
# Shown when a player tries to turn PvP OFF while still in combat (see 'combat' in config.yml).
# {seconds} is replaced with the whole seconds remaining on the lock.
combat-disable-blocked: "{prefix}&cYou're in combat - you can't turn PvP off for another &e{seconds}s&c."
# PvP cooldown messages (only used when 'cooldown' is enabled in config.yml).
# Shown when a player presses off and the cooldown starts. {minutes} = whole minutes of the cooldown.
cooldown-started: "{prefix}&ePvP will turn off in &6{minutes} minute(s)&e. You stay attackable until then."
# Reminder shown on the action bar at each full minute while the cooldown counts down. {minutes} = minutes left.
cooldown-reminder: "{prefix}&ePvP turns off in &6{minutes} minute(s)&e."
# Shown once the cooldown has finished and PvP has actually turned off.
cooldown-ended: "{prefix}&aYou are now really safe — PvP is off."
# Shown when a player presses off again while a cooldown is already running. {seconds} = seconds left.
cooldown-already: "{prefix}&eYour PvP is already winding down — &6{seconds}s&e left."
# Combat-log punishment (see 'combat-log' in config.yml): when a player logs out while combat-tagged
# (in an active fight) they are killed at the logout spot. Since they are offline at that moment, this
# message is shown on their NEXT login to explain why they died and lost their items.
combat-log-death: "{prefix}&cYou died because you logged out during a PvP fight."
# Shown to operators (permission pvpmode.update) on join when a newer version exists on SpigotMC.
# {latest} = the available version, {current} = the installed version.
update-available: "{prefix}&eA new version of PvPMode is available: &a{latest}&e (you have &7{current}&e). Download it on SpigotMC."
Feedback & Support Found a bug?
Have an idea for a new feature?
Need help with the plugin?
Feel free to join my Discord server:
I'm always open to feedback, suggestions, and feature requests.
I'll try to respond as quickly as possible and help you with any problems you may encounter.