
⚔️ What is Knockout?
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".
⛺ Community
✔️ 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
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 -
⚙️ Configuration
Everything is customizable inside config.yml:
- timers
- messages
- effects
- enable/disable knockouts for specific worlds
- run commands at different events
- and many more!
You can change plugin settings in the config.yml file:
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:
-
Tags: knockout, nokaut, revive, downed, respawn-system, pvp, rpg, survival, minecraft
Similar projects
Plugin →Let Me Despawn
Improves performance by tweaking mob despawn rules. Say bye to pesky unintentional persistent mobs.
25MSueta
JourneyMap
Real-time map used for mapping in-game or your browser as you explore.
14.7MSueta
Emotecraft
Create your own emotes in Minecraft.
7.5MSueta
Simple Tpa
A simple tpa plugin which sends requests
5.4MSueta
Common Network
Forge and Fabric Unified Networking Solution
3.9MSueta
Set Home
A lightweight plugin for players to set their homes.
3.8MSueta