Civilised Player versus Player combat. Players can only pvp if both players agree!
Players are protected from PvP at all times, unless both have agreed to pvp with the other. Players can easily agree to PvP with patented (not really) sneak & slap technology! Players simply hold their sneak button (default: shift) and slap (default: left click) the other player to challenge them to a duel! The second player can sneak+slap back to agree to pvp. Once both players have agreed to the duel, they can freely hurt each other.
Version 1.5+ is fully compatible with the 1.13 API, as-well as spigot versions from 1.8 through 1.12.2.
config.yml
world/world.yml
Installation is easy, just drop it into your plugins folder. Everything should be ready to go with no configuration necessary!
Configuration explained
The default plugin config contains some messages the plugin uses, you can change these as desired.
Coming soon...
This plugin uses the TextAPI library by theluca98, which is included in this plugin's jar.
You do not need to install any other plugin dependencies in order to use this plugin.
Players are protected from PvP at all times, unless both have agreed to pvp with the other. Players can easily agree to PvP with patented (not really) sneak & slap technology! Players simply hold their sneak button (default: shift) and slap (default: left click) the other player to challenge them to a duel! The second player can sneak+slap back to agree to pvp. Once both players have agreed to the duel, they can freely hurt each other.
Version 1.5+ is fully compatible with the 1.13 API, as-well as spigot versions from 1.8 through 1.12.2.
- No commands required! sneak+slap to agree to pvp, and sneak+slap with an empty hand to cancel pvp.
- Commands available! Use /agreedpvp toggle [player] to agree to pvp globally or per player
- Players' pvp agreements are reset when joining the server. They must agree once per session!
- Player's pvp agreements can optionally be reset when they die. (See config)
- Players are protected from a variety of pvp (melee, arrow, snowball, tnt, flame, etc.)
- All plugin messages are shown in the action bar
- Run other plugin's commands whenever a player agrees/disagrees to pvp!
- Disable players using other plugin's commands whilst they have agreed to pvp.
- Per-world configs; enable/disable AgreedPvP protections in each world seperately!
config.yml
Code (Text):
messages:
attacker:
bypass: You are bypassing AgreedPvP!
nopvp: You must agree to pvp before you can attack %v!
nopvpvictim: '%v must agree to pvp before you may hurt them.'
generic: You were protected from %a.
victim:
nopvp: You must agree to pvp before %a can hurt you.
nopvpattacker: '%a must agree to pvp before they may hurt you.'
generic: You were protected from %a.
toggle:
off:
player: You no longer agree to pvp with %p.
playernotify: %p no longer agrees to pvp with you.
on:
player: You have invited %p to PvP!
playernotify: %p has invited you to PvP!
bothagree: %p has agreed to PvP with you!
commands:
disabled: You cannot use this command whilst you have agreed to pvp!
autotoggle:
death: false
enable:
sneakandslap: true
commands:
onAgree: []
onDisagree: []
onEnable: []
onDisable: []
disable:
onAgree: []
attacker:
bypass: You are bypassing AgreedPvP!
nopvp: You must agree to pvp before you can attack %v!
nopvpvictim: '%v must agree to pvp before you may hurt them.'
generic: You were protected from %a.
victim:
nopvp: You must agree to pvp before %a can hurt you.
nopvpattacker: '%a must agree to pvp before they may hurt you.'
generic: You were protected from %a.
toggle:
off:
player: You no longer agree to pvp with %p.
playernotify: %p no longer agrees to pvp with you.
on:
player: You have invited %p to PvP!
playernotify: %p has invited you to PvP!
bothagree: %p has agreed to PvP with you!
commands:
disabled: You cannot use this command whilst you have agreed to pvp!
autotoggle:
death: false
enable:
sneakandslap: true
commands:
onAgree: []
onDisagree: []
onEnable: []
onDisable: []
disable:
onAgree: []
Code (Text):
enabled: true
commands:
onAgree: []
onDisagree: []
onEnable: []
onDisable: []
commands:
onAgree: []
onDisagree: []
onEnable: []
onDisable: []
Installation is easy, just drop it into your plugins folder. Everything should be ready to go with no configuration necessary!
Configuration explained
The default plugin config contains some messages the plugin uses, you can change these as desired.
- messages.attacker.bypass: Displayed to a player with the permission node agreedpvp.pvpbypass when they attack another player.
- messages.attacker.nopvp: Displayed to any player who has not yet agreed to pvp when trying to attack another player.
- messages.attacker.nopvpvictim: Displayed to any player who is trying to attack another player who has not yet agreed to pvp.
- messages.attacker.generic: Displayed to any player when trying to attack another player when the above instances, for whatever reason, do not apply.
- messages.victim.nopvp: Displayed to any player who has not yet agreed to pvp when protected from another player's attack.
- messages.victim.nopvpattacker: Displayed to any player who has already agreed to pvp when protected from another player's attack.
- messages.victim.generic: Displayed to any player when protected from another players' attack when the above instances, for whatever reason, do not apply.
- messages.toggle.off.player: Displayed to a player when they cancel pvp with another player.
- messages.toggle.off.playernotify: Displayed to a player when another player cancels pvp with them.
- messages.toggle.on.player: Displayed to a player when they agree to pvp with another player
- messages.toggle.on.playernotify: Displayed to a player when another player has agreed to pvp with them.
- messages.toggle.on.bothagree: Displayed to both players when they have both agreed to pvp. (Usually when the second player has agreed).
- autotoggle.death: if true, will auto-toggle a player's pvp off when they die.
- enable.sneakandslap: if false, will disable the sneak+slap feature for agreeing to pvp. (default: true)
- commands.onAgree: A list of commands to run when a player agrees to pvp with another player; supports the %player% and %other% placeholders.
- commands.onDisagree: A list of commands to run when a player no longer agrees to pvp with another player; supports the %player% and %other% placeholders.
- commands.onEnable: A list of commands to run when a player enables pvp with all players; supports the %player% placeholder.
- commands.onDisable: A list of commands to run when a player disables pvp with all players; supports the %player% placeholder.
- commands.disable.onAgree: A list of commands and subcommands to disable when a player has agreed to pvp with one or more players.
- enabled: when false, AgreedPvP will be disabled in this world. (default: true)
- commands.onAgree: A list of commands to run when a player agrees to pvp with another player whilst in this world; supports the %player% and %other% placeholders. This list will be ran after commands.onAgree commands from the default plugin config.
- commands.onDisagree: A list of commands to run when a player no longer agrees to pvp with another playerwhilst in this world; supports the %player% and %other% placeholders.This list will be ran after commands.onDisagree commands from the default plugin config.
- commands.onEnable: A list of commands to run when a player enables pvp with all players whilst in this world; supports the %player% placeholder. This list will be ran after commands.onEnable commands from the default plugin config.
- commands.onDisable: A list of commands to run when a player disables pvp with all players whilst in this world; supports the %player% placeholder. This list will be ran after commands.onDisable commands from the default plugin config.
Coming soon...
This plugin uses the TextAPI library by theluca98, which is included in this plugin's jar.
You do not need to install any other plugin dependencies in order to use this plugin.
Quick facts
- Edition: Minecraft Java
- File type: .jar
- Minecraft versions listed: 1.8, 1.9, 1.10
- How to install: Install the matching mod loader (Forge, Fabric or NeoForge) for your Minecraft version. → Download the .jar. → Put it in the .minecraft/mods folder and launch that loader profile.
- Where to get it: Opens on Spigot — not every file is mirrored on our own servers.
Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.
AgreedPvP is a free Minecraft Java mod. Compatible with Minecraft 1.8, 1.9, 1.10, 1.11 and newer. Downloaded 1,179 times (via Spigot). Download it and open it directly in the game.