This plugin introduces an innovative knockout mechanic, offering players an alternative to outright elimination. When a player is knocked out, they become incapacitated, unable to take any actions. However, they can be revived by another player through interaction (by sneaking) or carried to a safer location. The downed player remains in this state until revived, dies immediately, or succumbs after a configurable duration.
✨ Features
✅ Downed state before death
✅ Option to revive fallen players by crouching
✅ Customizable revive & finish timers
✅ Option to carry downed players
✅ Permissions
✅ Many options to customize in config
✅ Support for PlaceholderAPI
✅ Compatible with 1.19 – 1.21+
✅ Optimized for Spigot / Paper / Purpur
Want to see a feature added? Join our Discord and suggest it!
➕ Commands
/die - Die at once when you are knocked out
/carry - Carry a knocked out player
/drop - Drop a carried player
Admin commands:
/knockout knockout <player> <seconds> - Knockout a player
/knockout reload - Reload plugin configuration
✔️ Permissions
knockout.carry - Permission to use carry command
knockout.drop - Permission to use drop command
knockout.die - Permission to use die command
knockout.revive - Permission to revive a player
knockout.command - Permission to use commands when knocked out
knockout.admin - Permission to use admin /knockout commands
⚡Preview
Example of a "knocking out" player.
Example of reviving a "knocked out" player.
Example of self-inflicted "knock out".
✔️ Join my Discord server
✔️ Report bugs, suggest features, and test early updates!
✴️ Inspired by
Kwadratowa Maskara (popular Polish YouTuber server)
❤️ Support the project
If you like the plugin, leave a ⭐ on GitHub and ⭐⭐⭐⭐⭐ on SpigotMC!
⬇️ Placeholders
Spoiler: Placeholders
Placeholders for PlaceholderAPI:
%knockout_knocked_out%
- TRUE if the player is knocked out; otherwise, FALSE -
%knockout_time_left%
- the player's left knockout time -
%knockout_killer%
- the name of the entity that knocked out the player -
%knockout_vehicle%
- the name of the player carrying the knocked-out player -
%knockout_is_being_revived%
- TRUE if the player is currently being revived; otherwise, FALSE -
%knockout_knockouts%
- the number of knocked-out players on the server at the moment -
%knockout_knocked_out%
- TRUE if the player is knocked out; otherwise, FALSE -
%knockout_time_left%
- the player's left knockout time -
%knockout_killer%
- the name of the entity that knocked out the player -
%knockout_vehicle%
- the name of the player carrying the knocked-out player -
%knockout_is_being_revived%
- TRUE if the player is currently being revived; otherwise, FALSE -
%knockout_knockouts%
- the number of knocked-out players on the server at the moment -
⚙️ Configuration
Everything is customizable inside config.yml:
- timers
- messages
- effects
- enable/disable knockouts for specific worlds
- run commands at different events
- and many more!
Spoiler: Config
# This plugin is compatible with PlaceholderAPI
# However, there are some placeholders available in the config itself
# There is also a few custom placeholders for PlaceholderAPI described on the plugin's page
# You can use RGB colors in messages, example: knockout-title: 'FD0AAKnockout'
# Time of knockout in seconds
knockout-time : 60
# Amount of xp levels required to revive a player
revive-levels : 5
# Time in seconds to revive a player
revive-time : 10
# Item required in main hand of a rescuer to revive a player, eq. 'GOLDEN_APPLE'. Set to '' to disable
revive-item : ''
# Send message to player after attempt to revive a player with an item missing in main hand
revive-item-missing-message : '&cYou need a golden apple in your main hand!'
# When true: add slowness effect for the player carrying a knocked out player
slowness-for-carrier : true
# Slowness amplifier for the player carrying a knocked out player; Slowness level is equal to amplifier + 1
slowness-amplifier : 0
# When true: when carrying player is hit, drop the knocked out player
drop-on-hit : true
# If true knocked out player will die when the knockout time ends otherwise will be revived
death-on-end : true
# When true: player will have blindness effect when knocked out
knockout-blindness : true
# Blindness amplifier for the knocked out player; Blindness level is equal to amplifier + 1
blindness-amplifier : 0
# When true: player will be able to move when knocked out
move-when-knocked-out : false
# When true: player will be able to swim when knocked out
swim-when-knocked-out : false
# When true: player will be able to jump when knocked out
jump-when-knocked-out : false
# When true: it will be possible to attack knocked out players
knockout-vulnerable : true
# When true: knocked out player will take damage on hit, else his knockout time will decrease
damage-on-hit : true
# Health of revived player after revival
# Set to -1 to set the maximum health of the player
# Set to 0 to not change the health
# Or set to a specific value to set the health of the revived player
revived-health : 0.0
# Allow looting a knocked out player by clicking RightClick on him
looting-allowed : false
# If damage-on-hit is false, it is amount of knockout time to be decreased on hit
time-decrease-on-hit : 5
# When true: players can be revived by instant health 2 potion
revive-by-instant-health : false
# When true: players can be carried by Shift+RightClick and dropped by Shift+LeftClick
click-to-carry-drop : true
# When true: if a knocked out player lefts the server, knockout will end
end-knockout-on-quit : true
# When true: replaces the death cause with knockout cause
# Works only on 1.20.4+ versions
remember-death-cause : true
# When true: player will respawn in the specific location given below
# Works only on 1.20.6+ versions
# WARNING: If true, the player will respawn in this specific location even if it is not safe! Make sure to set it to a safe location!
respawn-in-custom-location : false
# Specific location where the player will respawn
# If world-name is empty or incorrect, the player will respawn in the same world where he was knocked out
custom-location:
world-name : world
x : 0
y : 100
z : 0
# When true: players will get knocked out only in the worlds listed in world-whitelist
enable-world-whitelist : false
# Knockouts will work only in the worlds listed below if enable-world-whitelist is true.
world-whitelist :
-
# Knockouts will not work in the worlds listed below. Players will die instead.
world-blacklist :
-
# Note that "/ko knockout" command will work in all worlds regardless of the whitelist/blacklist
# When true: replaces the original death message with new-death-message. Set remember-death-cause to false for this to work correctly
replace-death-message : false
# Replaces the original death message, if replace-death-message is set to true and %entity% exists. Set remember-death-cause to false for this to work correctly
# Use variable %player% to show the knocked out player name
# Use variable %entity% to show the name of the entity causing knockout
# Use variable %death_message% to show the original death message
new-death-message : "%player% was knocked out by %entity%, then %death_message%"
# Message for the player when knocked out
knockout-message : '&cYou have been knocked out! Ask someone to revive you or use /die to die at once.'
# Title message for the player when knocked out
knockout-title : '&cKnockout'
# Subtitle message for the player when knocked out
# Use variable %timer% to show the remaining knockout time
knockout-subtitle : ' %timer%'
# Hologram title above the player when knocked out
knockout-hologram : '&cKnockout'
# Message for the player who knocked out another player
# Use variable %player% to show the knocked out player name
knockout-attacker-message : '&aYou knocked out &f %player%'
# Title message for the player who knocked out another player
# Use variable %player% to show the knocked out player name
knockout-attacker-title : ''
# Subtitle message for the player who knocked out another player
# Use variable %player% to show the knocked out player name
knockout-attacker-subtitle : ''
# Message for not allowed actions when knocked out
not-allowed-message : "&cYou can't do that when knocked out!"
# Message for the player with not enough levels to revive
# Use variable %levels% to show the required levels
no-levels-message : "&cYou don't have enough levels (%levels%) to revive that player"
# Title message for the rescuer when reviving
# Use variable %percent% to show the progress of reviving
# Use variable %loading-icon% to show the loading icon
# Use variable %player% to show the rescued player name
rescuer-reviving-title : '&aReviving ...'
# Subtitle message for the rescuer when reviving
# Use variable %percent% to show the progress of reviving
# Use variable %loading-icon% to show the loading icon
# Use variable %player% to show the rescued player name
rescuer-reviving-subtitle : ' %percent%%'
# Title message for the rescuer when revived
# Use variable %player% to show the rescued player name
rescuer-revived-title : '&aYou revived &f %player%'
# Subtitle message for the rescuer when revived
# Use variable %player% to show the rescued player name
rescuer-revived-subtitle : ''
# Successful revive message for the rescuer
# Use variable %player% to show the rescued player name
rescuer-revived-message : ''
# Title message for the rescued when reviving
# Use variable %percent% to show the progress of reviving
# Use variable %loading-icon% to show the loading icon
# Use variable %player% to show the rescuer player name
rescued-reviving-title : '&aYou are being revived ...'
# Subtitle message for the rescued when reviving
# Use variable %percent% to show the progress of reviving
# Use variable %loading-icon% to show the loading icon
# Use variable %player% to show the rescuer player name
rescued-reviving-subtitle : ' %percent%%'
# Title message for the rescued when revived by a player
# Use variable %player% to show the rescuer player name
rescued-revived-by-title : '&aYou live again!'
# Subtitle message for the rescued when revived by a player
# Use variable %player% to show the rescuer player name
rescued-revived-by-subtitle : '&aYou have been revived by &f %player%'
# Successful revive message for the rescued by a player
# Use variable %player% to show the rescuer player name
rescued-revived-by-message : ''
# Title message for the rescued when revived by other reason
rescued-revived-title : '&aYou live again!'
# Subtitle message for the rescued when revived by other reason
rescued-revived-subtitle : '&aYou have been revived'
# Successful revive message for the rescued by other reason
rescued-revived-message : ''
# Message when the player uses /die command and is not knocked out
invalid-die-message : "&cYou can use that command only when knocked out!"
# Message when the player uses /drop command and is not carrying any knocked out player
invalid-drop-message : "&cYou are not carrying any knocked out player!"
# Message when the player uses /carry command and there is no knocked out player nearby
invalid-carry-message : "&cThere is no knocked out player nearby!"
# Message when the player uses /carry command and is already carrying a knocked out player
already-carrying-message : "&cYou are already carrying a knocked out player!"
# Message when the player doesn't have permission to do something
no-permission-message : "&4You don't have permission to do that!"
# Aliases for the commands
# Restart the server after changing the aliases
aliases:
carry :
- podnies
-
drop :
- zrzuc
-
die :
- zgin
-
knockout :
- ko
# USE WITH CAUTION
# Commands to run from console.
# Variable %player% is the knocked out player
# Use DELAY <ticks> to delay the command execution
# 20 ticks = 1 second
# Example:
# - playsound minecraft:entity.zombie.death player %player% ~ ~ ~ 10 1 1
# - say &cPlayer fainted from breaking his legs
# - DELAY 40
# - say &eWill anyone help &f%player%&e?
# Enable console commands.
enable-console-commands : false
# Run console commands when a knockout happens.
console-knockout-commands :
-
# Run console commands during knockout on a loop.
# Use DELAY <ticks> to delay commands execution or the server will crash
console-knockout-loop-commands :
-
# Run console commands after knockout.
console-after-knockout-commands :
-
# Run console commands after revive.
console-after-revive-commands :
-
Code (YAML):
# This plugin is compatible with PlaceholderAPI
# However, there are some placeholders available in the config itself
# There is also a few custom placeholders for PlaceholderAPI described on the plugin's page
# You can use RGB colors in messages, example: knockout-title: 'FD0AAKnockout'
# Time of knockout in seconds
knockout-time : 60
# Amount of xp levels required to revive a player
revive-levels : 5
# Time in seconds to revive a player
revive-time : 10
# Item required in main hand of a rescuer to revive a player, eq. 'GOLDEN_APPLE'. Set to '' to disable
revive-item : ''
# Send message to player after attempt to revive a player with an item missing in main hand
revive-item-missing-message : '&cYou need a golden apple in your main hand!'
# When true: add slowness effect for the player carrying a knocked out player
slowness-for-carrier : true
# Slowness amplifier for the player carrying a knocked out player; Slowness level is equal to amplifier + 1
slowness-amplifier : 0
# When true: when carrying player is hit, drop the knocked out player
drop-on-hit : true
# If true knocked out player will die when the knockout time ends otherwise will be revived
death-on-end : true
# When true: player will have blindness effect when knocked out
knockout-blindness : true
# Blindness amplifier for the knocked out player; Blindness level is equal to amplifier + 1
blindness-amplifier : 0
# When true: player will be able to move when knocked out
move-when-knocked-out : false
# When true: player will be able to swim when knocked out
swim-when-knocked-out : false
# When true: player will be able to jump when knocked out
jump-when-knocked-out : false
# When true: it will be possible to attack knocked out players
knockout-vulnerable : true
# When true: knocked out player will take damage on hit, else his knockout time will decrease
damage-on-hit : true
# Health of revived player after revival
# Set to -1 to set the maximum health of the player
# Set to 0 to not change the health
# Or set to a specific value to set the health of the revived player
revived-health : 0.0
# Allow looting a knocked out player by clicking RightClick on him
looting-allowed : false
# If damage-on-hit is false, it is amount of knockout time to be decreased on hit
time-decrease-on-hit : 5
# When true: players can be revived by instant health 2 potion
revive-by-instant-health : false
# When true: players can be carried by Shift+RightClick and dropped by Shift+LeftClick
click-to-carry-drop : true
# When true: if a knocked out player lefts the server, knockout will end
end-knockout-on-quit : true
# When true: replaces the death cause with knockout cause
# Works only on 1.20.4+ versions
remember-death-cause : true
# When true: player will respawn in the specific location given below
# Works only on 1.20.6+ versions
# WARNING: If true, the player will respawn in this specific location even if it is not safe! Make sure to set it to a safe location!
respawn-in-custom-location : false
# Specific location where the player will respawn
# If world-name is empty or incorrect, the player will respawn in the same world where he was knocked out
custom-location:
world-name : world
x : 0
y : 100
z : 0
# When true: players will get knocked out only in the worlds listed in world-whitelist
enable-world-whitelist : false
# Knockouts will work only in the worlds listed below if enable-world-whitelist is true.
world-whitelist :
-
# Knockouts will not work in the worlds listed below. Players will die instead.
world-blacklist :
-
# Note that "/ko knockout" command will work in all worlds regardless of the whitelist/blacklist
# When true: replaces the original death message with new-death-message. Set remember-death-cause to false for this to work correctly
replace-death-message : false
# Replaces the original death message, if replace-death-message is set to true and %entity% exists. Set remember-death-cause to false for this to work correctly
# Use variable %player% to show the knocked out player name
# Use variable %entity% to show the name of the entity causing knockout
# Use variable %death_message% to show the original death message
new-death-message : "%player% was knocked out by %entity%, then %death_message%"
# Message for the player when knocked out
knockout-message : '&cYou have been knocked out! Ask someone to revive you or use /die to die at once.'
# Title message for the player when knocked out
knockout-title : '&cKnockout'
# Subtitle message for the player when knocked out
# Use variable %timer% to show the remaining knockout time
knockout-subtitle : ' %timer%'
# Hologram title above the player when knocked out
knockout-hologram : '&cKnockout'
# Message for the player who knocked out another player
# Use variable %player% to show the knocked out player name
knockout-attacker-message : '&aYou knocked out &f %player%'
# Title message for the player who knocked out another player
# Use variable %player% to show the knocked out player name
knockout-attacker-title : ''
# Subtitle message for the player who knocked out another player
# Use variable %player% to show the knocked out player name
knockout-attacker-subtitle : ''
# Message for not allowed actions when knocked out
not-allowed-message : "&cYou can't do that when knocked out!"
# Message for the player with not enough levels to revive
# Use variable %levels% to show the required levels
no-levels-message : "&cYou don't have enough levels (%levels%) to revive that player"
# Title message for the rescuer when reviving
# Use variable %percent% to show the progress of reviving
# Use variable %loading-icon% to show the loading icon
# Use variable %player% to show the rescued player name
rescuer-reviving-title : '&aReviving ...'
# Subtitle message for the rescuer when reviving
# Use variable %percent% to show the progress of reviving
# Use variable %loading-icon% to show the loading icon
# Use variable %player% to show the rescued player name
rescuer-reviving-subtitle : ' %percent%%'
# Title message for the rescuer when revived
# Use variable %player% to show the rescued player name
rescuer-revived-title : '&aYou revived &f %player%'
# Subtitle message for the rescuer when revived
# Use variable %player% to show the rescued player name
rescuer-revived-subtitle : ''
# Successful revive message for the rescuer
# Use variable %player% to show the rescued player name
rescuer-revived-message : ''
# Title message for the rescued when reviving
# Use variable %percent% to show the progress of reviving
# Use variable %loading-icon% to show the loading icon
# Use variable %player% to show the rescuer player name
rescued-reviving-title : '&aYou are being revived ...'
# Subtitle message for the rescued when reviving
# Use variable %percent% to show the progress of reviving
# Use variable %loading-icon% to show the loading icon
# Use variable %player% to show the rescuer player name
rescued-reviving-subtitle : ' %percent%%'
# Title message for the rescued when revived by a player
# Use variable %player% to show the rescuer player name
rescued-revived-by-title : '&aYou live again!'
# Subtitle message for the rescued when revived by a player
# Use variable %player% to show the rescuer player name
rescued-revived-by-subtitle : '&aYou have been revived by &f %player%'
# Successful revive message for the rescued by a player
# Use variable %player% to show the rescuer player name
rescued-revived-by-message : ''
# Title message for the rescued when revived by other reason
rescued-revived-title : '&aYou live again!'
# Subtitle message for the rescued when revived by other reason
rescued-revived-subtitle : '&aYou have been revived'
# Successful revive message for the rescued by other reason
rescued-revived-message : ''
# Message when the player uses /die command and is not knocked out
invalid-die-message : "&cYou can use that command only when knocked out!"
# Message when the player uses /drop command and is not carrying any knocked out player
invalid-drop-message : "&cYou are not carrying any knocked out player!"
# Message when the player uses /carry command and there is no knocked out player nearby
invalid-carry-message : "&cThere is no knocked out player nearby!"
# Message when the player uses /carry command and is already carrying a knocked out player
already-carrying-message : "&cYou are already carrying a knocked out player!"
# Message when the player doesn't have permission to do something
no-permission-message : "&4You don't have permission to do that!"
# Aliases for the commands
# Restart the server after changing the aliases
aliases:
carry :
- podnies
-
drop :
- zrzuc
-
die :
- zgin
-
knockout :
- ko
# USE WITH CAUTION
# Commands to run from console.
# Variable %player% is the knocked out player
# Use DELAY <ticks> to delay the command execution
# 20 ticks = 1 second
# Example:
# - playsound minecraft:entity.zombie.death player %player% ~ ~ ~ 10 1 1
# - say &cPlayer fainted from breaking his legs
# - DELAY 40
# - say &eWill anyone help &f%player%&e?
# Enable console commands.
enable-console-commands : false
# Run console commands when a knockout happens.
console-knockout-commands :
-
# Run console commands during knockout on a loop.
# Use DELAY <ticks> to delay commands execution or the server will crash
console-knockout-loop-commands :
-
# Run console commands after knockout.
console-after-knockout-commands :
-
# Run console commands after revive.
console-after-revive-commands :
-
Tags: knockout, nokaut, revive, downed, respawn-system, pvp, rpg, survival, minecraft
Quick facts
- Edition: Minecraft Java
- File type: .jar
- Minecraft versions listed: 1.19, 1.20, 1.20.6
- 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.
Knockout (Nokaut) is a free Minecraft Java mod. Compatible with Minecraft 1.19, 1.20, 1.20.6, 1.21 and newer. Downloaded 2,820 times (via Spigot). Download it and open it directly in the game.