CombatTagPlus
CombatTagPlus is the last plugin you'll ever need to stop those dirty combat loggers!
Note: If you encounter bugs in the download, please try the latest development build first before reporting an issue.
This project is supported by YourKit.
YourKit supports open source projects with its full-featured Java Profiler.
YourKit, LLC is the creator of YourKit Java Profiler and YourKit .NET Profiler, innovative and intelligent tools for profiling Java and .NET applications.
Supports
- CraftBukkit & Spigot 1.7.9
- CraftBukkit & Spigot 1.7.10
- Spigot 1.7.10 / 1.8 Protocol Patch
- CraftBukkit & Spigot 1.8.0
- CraftBukkit & Spigot 1.8.3
- CraftBukkit & Spigot 1.8.4 ~ 1.8.8
- CraftBukkit & Spigot 1.9.0 ~ 1.9.2
(Almost every feature is optional and can be configured)
- Spawn a NPC when a player logs off in combat
- Play an effect when NPC spawns
- Force NPC to always spawn when the player logs off, even out of combat
- Can instantly kill player when they log off in combat
- Safe Logout that optionally lets tagged player wait a timer without moving to safely log off
- Disallow flying while player is in combat
- Disallow block editing while player is in combat
- Disallow enderpearls while player is in combat
- Disallow teleporting while player is in combat
- Broadcast a PVP kill/death message
- Disable combat tagging for specific worlds
- Deny specific commands while player is in combat
- Disallow running back to safety while in combat (can also render a forcefield)
- Supports WorldGuard PVP deny flag (WorldGuard 5.x and 6.x both supported)
- Supports Factions PVP flag
- Supports Towny PVP permission
- Works with BarAPI to show a boss bar counting down with the player's remaining combat timer
- These custom BarAPI builds by @vemacs are more compatible than the official ones:
- Spigot 1.8.0: Download BarAPI
- Spigot 1.7.10 / 1.8 Protocol Patch: Download BarAPI
You can obtain development builds of CombatTagPlus from https://ci.byteflux.net/job/CombatTagPlus.
Installation
- Obtain the latest version of CombatTagPlus from the build server.
- Copy or move CombatTagPlus.jar into your server's plugins folder.
- Optionally obtain and install a compatible version of BarAPI (see the Features section above for downloads)
- Start the server. This creates a new file plugins/CombatTagPlus/config.yml
- Edit the newly created configuration file with desired behavior.
- If you made any changes, run the command /ctreload from console or as an operator.
Code (Text):
# Don't touch this. It's here to determine whether you need to refresh your config.
config-version: 20
# The duration in seconds that both the attacker and victim should be tagged in combat.
tag-duration: 15
# This message is displayed to both the attacker and victim when newly tagged. Set this to '' to display nothing.
tag-message: '&cYou have engaged in combat. Type &b/ct &cto check your timer.'
# This message is displayed the player when their tag expires. Set this to '' to display nothing.
untag-message: '&aYou are no longer in combat.'
# Resets the tag time when the tagged player throws an enderpearl.
reset-tag-on-pearl: false
# Plays an effect when a player logs off during combat.
play-effect: true
# Always spawns the NPC even without combat tagged to prevent any chance of running away.
always-spawn: false
# Allows mobs to combat tag players.
mob-tagging: false
# Duration in seconds the player must wait without movement to safely logout using the /logout command.
logout-wait-time: 10
# This message is displayed when the player has attempted to safely log out but moved or entered pvp.
logout-cancelled-message: '&cLogout cancelled due to movement or pvping.'
# This message is displayed when the player has successfully performed a safe logout.
logout-success-message: '&aYou were logged out safely.'
# This message is displayed every second when the player is pending a logout. {remaining} is the time remaining.
logout-pending-message: '&7Logging out safely in &b{remaining}&7...'
# Instantly kills the player when logged in PvP.
instantly-kill: false
# Untags the player if they are kicked from combat rather than logging.
untag-on-kick: false
# Only the attacker will be tagged if this is set to true.
only-tag-attacker: false
# Disables players being able to tag themselves.
disable-self-tagging: true
# Prevent block editing while tagged.
disable-block-edit: false
# This message is displayed when a player attempts to edit blocks within pvp if block editing is disabled in pvp.
disable-block-edit-message: '&bBlock editing &cis disabled in combat.'
# Prevent players in creative from getting tagged.
disable-creative-tags: true
# Prevent tagged players throwing enderpearls while tagged.
disable-enderpearls: false
# This message is displayed when a player attempts to enderpearl within pvp if enderpearls are disabled in pvp.
disable-enderpearls-message: '&bEnderpearls &care disabled in combat.'
# Prevent tagged players from flying during combat.
disable-flying: false
# This message is displayed when a player attempts to fly within pvp if flying is disabled in pvp.
disable-flying-message: '&bFlying &cis disabled in combat.'
# Prevent tagged players from teleporting during combat.
disable-teleportation: false
# This message is displayed when a player attempts to teleport within pvp if teleportation is disabled in pvp.
disable-teleportation-message: '&bTeleportation &cis disabled in combat.'
# Prevents tagged players from crafting during combat.
disable-crafting: false
# This message is displayed when a player attempts to craft an item while in combat if crafting is disabled.
disable-crafting-message: '&bCrafting &cis disabled in combat.'
# The duration in seconds to despawn the combat logger's NPC if it hasn't died.
npc-despawn-time: 60
# Should we reset the NPC despawn time when it gets hit?
reset-despawn-time-on-hit: true
# Generates a random name for the NPC. Turn this off to use the player name (potentially unsafe!)
generate-random-name: true
# This is the prefix to use for the random name. 12 characters max.
random-name-prefix: PvPLogger
# This message is displayed when a player is killed by another player. Set this to '' to display nothing.
kill-message: '&8&l>> &c{victim} was slain by {attacker}'
# Same as above, this is displayed when a player is killed by another player with an item in hand.
kill-message-item: '&8&l>> &c{victim} was slain by {attacker} with a {item}'
# Enables BarAPI integration for displaying a boss bar counting down with the remaining tag time.
barapi: true
# Message to be displayed on BarAPI when players' pvp timer has ended.
barapi-ended-message: '&aYou are no longer in combat!'
# Message to be displayed on BarAPI when the player is still in pvp.
barapi-countdown-message: '&eCombatTag: &f{remaining}'
# Deny movement into safezones from PVP enabled areas while combat tagged.
deny-safezone: true
# Deny teleporting with enderpearls into safezones from PVP enabled areas while combat tagged.
deny-safezone-enderpearl: true
# Enables force fields around Anti-PvP zones while in combat.
force-fields: true
# Radius in blocks around the player that should be checked for forcefields (Higher numbers = more laggy)
force-field-radius: 10
# Material of the forcefield block type.
force-field-material: STAINED_GLASS
# Damage value of the material specified above.
force-field-material-damage: 14
# Enables Factions integration for disabling combat tagging in regions with PVP disabled.
factions: true
# Enables WorldGuard integration for disabling combat tagging in regions with PVP disabled.
worldguard: true
# Enables Towny integration for disabling combat tagging in regions with PVP disabled.
towny: true
# This is a list of worlds where combat tagging should be disabled.
disabled-worlds: [world_the_end]
# This message is displayed when the player tries to execute a disabled command whilst in combat.
disabled-command-message: '&b{command}&c is disabled in combat.'
# These commands are unusable by players who are combat tagged.
disabled-commands:
# CombatTagPlus
- ctlog
- logout
- ctlogout
- ctpluslogout
- 'combattagplus:ctlog'
- 'combattagplus:logout'
- 'combattagplus:ctlogout'
- 'combattagplus:ctpluslogout'
# Factions
- f home
- f leave
- f warp
- f w
# LibsDisguises
- d
- disguise
- 'libsdisguises:d'
- 'libsdisguises:disguise'
# PlayerVaults
- pv
- vault
- chest
- playervaults
- 'playervaults:pv'
- 'playervaults:vault'
- 'playervaults:chest'
- 'playervaults:playervaults'
# FBasics
- wild
- wilderness
- 'fbasics:wild'
- 'fbasics:wilderness'
# mcMMO
- ptp
- 'mcmmo:ptp'
# BattleArena
- arena
- a
- 'battlearena:arena'
- 'battlearena:a'
# MobArena
- mobarena
- ma
- 'mobarena:mobarena'
- 'mobarena:ma'
# PlotMe
- plotme
- plot
- p
- 'plotme:plotme'
- 'plotme:plot'
- 'plotme:p'
# floAuction
- auction
- auc
- sauction
- sauc
- bid
- 'floauction:auction'
- 'floauction:auc'
- 'floauction:sauction'
- 'floauction:sauc'
- 'floauction:bid'
# Essentials
- spawn
- home
- homes
- warp
- warps
- back
- return
- call
- tpa
- tpask
- tpahere
- tpaccept
- tpyes
- clearinventory
- clearinvent
- clean
- clear
- ci
- fix
- repair
- suicide
- espawn
- ec
- enderchest
- endersee
- echest
- sell
- ehome
- ehomes
- ewarp
- ewarps
- eback
- ereturn
- ecall
- etpa
- etpask
- etpahere
- etpaccept
- etpyes
- eclearinventory
- eclearinvent
- eclean
- eclear
- eci
- esuicide
- efix
- erepair
- eec
- eenderchest
- eechest
- eendersee
- esell
- 'essentials:spawn'
- 'essentials:home'
- 'essentials:homes'
- 'essentials:warp'
- 'essentials:warps'
- 'essentials:back'
- 'essentials:return'
- 'essentials:call'
- 'essentials:tpa'
- 'essentials:tpask'
- 'essentials:tpahere'
- 'essentials:tpaccept'
- 'essentials:tpyes'
- 'essentials:clearinventory'
- 'essentials:clearinvent'
- 'essentials:clean'
- 'essentials:clear'
- 'essentials:ci'
- 'essentials:fix'
- 'essentials:repair'
- 'essentials:suicide'
- 'essentials:ec'
- 'essentials:enderchest'
- 'essentials:endersee'
- 'essentials:echest'
- 'essentials:sell'
- 'essentials:espawn'
- 'essentials:ehome'
- 'essentials:ehomes'
- 'essentials:ewarp'
- 'essentials:ewarps'
- 'essentials:eback'
- 'essentials:ereturn'
- 'essentials:ecall'
- 'essentials:etpa'
- 'essentials:etpask'
- 'essentials:etpahere'
- 'essentials:etpaccept'
- 'essentials:etpyes'
- 'essentials:eclearinventory'
- 'essentials:eclearinvent'
- 'essentials:eclean'
- 'essentials:eclear'
- 'essentials:eci'
- 'essentials:esuicide'
- 'essentials:efix'
- 'essentials:erepair'
- 'essentials:eec'
- 'essentials:eenderchest'
- 'essentials:eechest'
- 'essentials:eendersee'
- 'essentials:esell'
config-version: 20
# The duration in seconds that both the attacker and victim should be tagged in combat.
tag-duration: 15
# This message is displayed to both the attacker and victim when newly tagged. Set this to '' to display nothing.
tag-message: '&cYou have engaged in combat. Type &b/ct &cto check your timer.'
# This message is displayed the player when their tag expires. Set this to '' to display nothing.
untag-message: '&aYou are no longer in combat.'
# Resets the tag time when the tagged player throws an enderpearl.
reset-tag-on-pearl: false
# Plays an effect when a player logs off during combat.
play-effect: true
# Always spawns the NPC even without combat tagged to prevent any chance of running away.
always-spawn: false
# Allows mobs to combat tag players.
mob-tagging: false
# Duration in seconds the player must wait without movement to safely logout using the /logout command.
logout-wait-time: 10
# This message is displayed when the player has attempted to safely log out but moved or entered pvp.
logout-cancelled-message: '&cLogout cancelled due to movement or pvping.'
# This message is displayed when the player has successfully performed a safe logout.
logout-success-message: '&aYou were logged out safely.'
# This message is displayed every second when the player is pending a logout. {remaining} is the time remaining.
logout-pending-message: '&7Logging out safely in &b{remaining}&7...'
# Instantly kills the player when logged in PvP.
instantly-kill: false
# Untags the player if they are kicked from combat rather than logging.
untag-on-kick: false
# Only the attacker will be tagged if this is set to true.
only-tag-attacker: false
# Disables players being able to tag themselves.
disable-self-tagging: true
# Prevent block editing while tagged.
disable-block-edit: false
# This message is displayed when a player attempts to edit blocks within pvp if block editing is disabled in pvp.
disable-block-edit-message: '&bBlock editing &cis disabled in combat.'
# Prevent players in creative from getting tagged.
disable-creative-tags: true
# Prevent tagged players throwing enderpearls while tagged.
disable-enderpearls: false
# This message is displayed when a player attempts to enderpearl within pvp if enderpearls are disabled in pvp.
disable-enderpearls-message: '&bEnderpearls &care disabled in combat.'
# Prevent tagged players from flying during combat.
disable-flying: false
# This message is displayed when a player attempts to fly within pvp if flying is disabled in pvp.
disable-flying-message: '&bFlying &cis disabled in combat.'
# Prevent tagged players from teleporting during combat.
disable-teleportation: false
# This message is displayed when a player attempts to teleport within pvp if teleportation is disabled in pvp.
disable-teleportation-message: '&bTeleportation &cis disabled in combat.'
# Prevents tagged players from crafting during combat.
disable-crafting: false
# This message is displayed when a player attempts to craft an item while in combat if crafting is disabled.
disable-crafting-message: '&bCrafting &cis disabled in combat.'
# The duration in seconds to despawn the combat logger's NPC if it hasn't died.
npc-despawn-time: 60
# Should we reset the NPC despawn time when it gets hit?
reset-despawn-time-on-hit: true
# Generates a random name for the NPC. Turn this off to use the player name (potentially unsafe!)
generate-random-name: true
# This is the prefix to use for the random name. 12 characters max.
random-name-prefix: PvPLogger
# This message is displayed when a player is killed by another player. Set this to '' to display nothing.
kill-message: '&8&l>> &c{victim} was slain by {attacker}'
# Same as above, this is displayed when a player is killed by another player with an item in hand.
kill-message-item: '&8&l>> &c{victim} was slain by {attacker} with a {item}'
# Enables BarAPI integration for displaying a boss bar counting down with the remaining tag time.
barapi: true
# Message to be displayed on BarAPI when players' pvp timer has ended.
barapi-ended-message: '&aYou are no longer in combat!'
# Message to be displayed on BarAPI when the player is still in pvp.
barapi-countdown-message: '&eCombatTag: &f{remaining}'
# Deny movement into safezones from PVP enabled areas while combat tagged.
deny-safezone: true
# Deny teleporting with enderpearls into safezones from PVP enabled areas while combat tagged.
deny-safezone-enderpearl: true
# Enables force fields around Anti-PvP zones while in combat.
force-fields: true
# Radius in blocks around the player that should be checked for forcefields (Higher numbers = more laggy)
force-field-radius: 10
# Material of the forcefield block type.
force-field-material: STAINED_GLASS
# Damage value of the material specified above.
force-field-material-damage: 14
# Enables Factions integration for disabling combat tagging in regions with PVP disabled.
factions: true
# Enables WorldGuard integration for disabling combat tagging in regions with PVP disabled.
worldguard: true
# Enables Towny integration for disabling combat tagging in regions with PVP disabled.
towny: true
# This is a list of worlds where combat tagging should be disabled.
disabled-worlds: [world_the_end]
# This message is displayed when the player tries to execute a disabled command whilst in combat.
disabled-command-message: '&b{command}&c is disabled in combat.'
# These commands are unusable by players who are combat tagged.
disabled-commands:
# CombatTagPlus
- ctlog
- logout
- ctlogout
- ctpluslogout
- 'combattagplus:ctlog'
- 'combattagplus:logout'
- 'combattagplus:ctlogout'
- 'combattagplus:ctpluslogout'
# Factions
- f home
- f leave
- f warp
- f w
# LibsDisguises
- d
- disguise
- 'libsdisguises:d'
- 'libsdisguises:disguise'
# PlayerVaults
- pv
- vault
- chest
- playervaults
- 'playervaults:pv'
- 'playervaults:vault'
- 'playervaults:chest'
- 'playervaults:playervaults'
# FBasics
- wild
- wilderness
- 'fbasics:wild'
- 'fbasics:wilderness'
# mcMMO
- ptp
- 'mcmmo:ptp'
# BattleArena
- arena
- a
- 'battlearena:arena'
- 'battlearena:a'
# MobArena
- mobarena
- ma
- 'mobarena:mobarena'
- 'mobarena:ma'
# PlotMe
- plotme
- plot
- p
- 'plotme:plotme'
- 'plotme:plot'
- 'plotme:p'
# floAuction
- auction
- auc
- sauction
- sauc
- bid
- 'floauction:auction'
- 'floauction:auc'
- 'floauction:sauction'
- 'floauction:sauc'
- 'floauction:bid'
# Essentials
- spawn
- home
- homes
- warp
- warps
- back
- return
- call
- tpa
- tpask
- tpahere
- tpaccept
- tpyes
- clearinventory
- clearinvent
- clean
- clear
- ci
- fix
- repair
- suicide
- espawn
- ec
- enderchest
- endersee
- echest
- sell
- ehome
- ehomes
- ewarp
- ewarps
- eback
- ereturn
- ecall
- etpa
- etpask
- etpahere
- etpaccept
- etpyes
- eclearinventory
- eclearinvent
- eclean
- eclear
- eci
- esuicide
- efix
- erepair
- eec
- eenderchest
- eechest
- eendersee
- esell
- 'essentials:spawn'
- 'essentials:home'
- 'essentials:homes'
- 'essentials:warp'
- 'essentials:warps'
- 'essentials:back'
- 'essentials:return'
- 'essentials:call'
- 'essentials:tpa'
- 'essentials:tpask'
- 'essentials:tpahere'
- 'essentials:tpaccept'
- 'essentials:tpyes'
- 'essentials:clearinventory'
- 'essentials:clearinvent'
- 'essentials:clean'
- 'essentials:clear'
- 'essentials:ci'
- 'essentials:fix'
- 'essentials:repair'
- 'essentials:suicide'
- 'essentials:ec'
- 'essentials:enderchest'
- 'essentials:endersee'
- 'essentials:echest'
- 'essentials:sell'
- 'essentials:espawn'
- 'essentials:ehome'
- 'essentials:ehomes'
- 'essentials:ewarp'
- 'essentials:ewarps'
- 'essentials:eback'
- 'essentials:ereturn'
- 'essentials:ecall'
- 'essentials:etpa'
- 'essentials:etpask'
- 'essentials:etpahere'
- 'essentials:etpaccept'
- 'essentials:etpyes'
- 'essentials:eclearinventory'
- 'essentials:eclearinvent'
- 'essentials:eclean'
- 'essentials:eclear'
- 'essentials:eci'
- 'essentials:esuicide'
- 'essentials:efix'
- 'essentials:erepair'
- 'essentials:eec'
- 'essentials:eenderchest'
- 'essentials:eechest'
- 'essentials:eendersee'
- 'essentials:esell'
- ctplus.reload
Reload CombatTagPlus configuration
default: operator - ctplus.bypass.tag
Bypass combat tagging
default: operator - ctplus.bypass.command
Bypass command restrictions in combat
default: operator
- ctplus.bypass.blockedit
Bypass block edit restrictions in combat
default: operator - ctplus.bypass.enderpearl
Bypass enderpearl restrictions in combat
default: operator - ctplus.bypass.flying
Bypass flying restrictions in combat
default: operator
- ctplus.bypass.teleport
Bypass teleportation restrictions in combat
default: operator
- ctplus.check
Check remaining combat timer
default: everyone - ctplus.logout
Initiate a safe logout
default: everyone
- ctplus.notify.kill
Receive kill/death message broadcast
default: everyone
The source code is freely available on GitHub.
License
CombatTagPlus is licensed to you freely under the terms of the LGPL license.
Quick facts
- Edition: Minecraft Java
- File type: .jar
- Minecraft versions listed: 1.7, 1.8, 1.9
- 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.
CombatTagPlus is a free Minecraft Java mod. Compatible with Minecraft 1.7, 1.8, 1.9, 1.10 and newer. Downloaded 111,541 times (via Spigot). Download it and open it directly in the game.