NexusRevive
Modern downed and revive system for Paper servers
Version: 1.0.1 | Compatibility: 1.19.4 to 26.1+ (and forks)NexusRevive replaces instant death with a full downed system built for modern survival and PvP servers.
Down players instead of killing them, carry them to safety, revive them manually or automatically inside zones, track them with a configurable GPS, and fully customize the experience with config.yml, messages.yml, and gps.yml.
Screenshots
Player Downed

GPS

Carry

loot player downed

Main Features
Downed State
- Players fall into a downed state instead of dying instantly
- Custom downed pose with real
1.21.xNMS support - Death timer, invulnerability window, actionbar, scoreboard, and sounds
- Configurable potion effects while downed, including effects like
DARKNESS
Manual Revive and Carry
- Revive by holding
shiftnear the downed player - Carry downed players on your head and move them to safer locations
- Prevent reviving while carrying
- Optional item requirement to revive
Auto-Revive Zones
- Create revive zones with
/nr zone wand - Auto-revive players when they are inside a zone
- Zone speed multipliers
- Visual finish effect when auto-revive completes
GPS System
- Track downed players from a GUI menu
- GPS display modes:
BOSSBARACTIONBARHOLOGRAMBOSSBAR_AND_HOLOGRAM
- Configurable arrows, distance display, and hologram behavior
Safe Loot System
- Open a controlled loot menu with
shift + right click - Loot inventory, armor, and offhand
- Session locking to reduce desync and duplication risk
- Closes automatically if the target revives, dies, disconnects, or changes state
Hooks and Integrations
VaultWorldGuardDeluxeCombatPlaceholderAPI
WorldGuard Flags
nexus-revive- controls revivingnexus-revive-carry- controls carryingnexus-revive-loot- controls looting
Example:
/rg flag hospital nexus-revive allow
/rg flag warzone nexus-revive-carry deny
/rg flag spawn nexus-revive-loot deny
Commands and Permissions
Main Command:
/nexusrevive/nr(alias)
Commands:
/nr reload- Reload config, messages, gps, and zones (nexusrevive.command.reload)/nr down <player>- Force the downed state (nexusrevive.command.down)/nr revive <player>- Revive a downed player (nexusrevive.command.revive)/nr kill <player>- Permanently kill a downed player (nexusrevive.command.kill)/nr gps- Open the downed player tracker (nexusrevive.command.gps)/nr zone wand- Get the zone wand (nexusrevive.command.zone)/nr zone create <name>- Create a revive zone from your selection (nexusrevive.command.zone)/nr zone remove <name>- Remove a revive zone (nexusrevive.command.zone)/nr zone list- List revive zones (nexusrevive.command.zone)/nr zone speed <name> <multiplier>- Change zone revive speed (nexusrevive.command.zone)
Player Permissions:
nexusrevive.revivablenexusrevive.revivernexusrevive.pickablenexusrevive.pickernexusrevive.lootablenexusrevive.robbernexusrevive.downable
PlaceholderAPI
Identifier:
%nexusrevive_<placeholder>%
Available placeholders include:
statusdeath_delayinvulnerabilityreviverpickerattackervictimprogressauto_revive_zonein_auto_revive_zoneauto_revivingdeath_delay_barinvulnerability_barprogress_bar
API and Events
Main API class:
com.aquiles.nexusrevive.api.NexusReviveAPI
Useful methods:
NexusReviveAPI.isAvailable();
NexusReviveAPI.isDowned(player);
NexusReviveAPI.isReviving(player);
NexusReviveAPI.getDownedPlayer(player);
NexusReviveAPI.getReviveVictim(player);
NexusReviveAPI.getDownedPlayers();
NexusReviveAPI.revivePlayer(player);
NexusReviveAPI.revivePlayer(player, reviver);
NexusReviveAPI.killDowned(player);
NexusReviveAPI.downPlayer(player);
Events:
PlayerDownedEventPlayerStartReviveEventPlayerStopReviveEventPlayerReviveEventPlayerPickupDownedEventPlayerDropDownedEventPlayerFinalDeathEvent
Configuration Previews
config.yml preview
# ==========================================================
# NexusRevive - Main configuration
# ==========================================================
# This file controls the general plugin behavior:
# downed state, revive, carrying players, sounds, and hooks.
#
# Recommendation:
# 1. Change one section at a time.
# 2. Save the file.
# 3. Use /nr reload to apply simple changes.
# ==========================================================
mechanics:
# Health the player will have after entering the downed state.
# 1.0 = half a heart, 2.0 = one heart, etc.
downed-health: 1.0
# Movement speed while the player is downed.
# 0.2 is normal vanilla player speed.
downed-walk-speed: 0.06
# Total time in seconds before the downed player dies permanently.
death-delay-seconds: 75
# Seconds during which a newly downed player cannot be finished off.
invulnerability-seconds: 15
# Health the player will have after being revived.
revived-health: 6.0
# Delay in ticks before applying the downed pose.
# 20 ticks = 1 second.
# Useful to show the hit impact before dropping to the ground.
downed-entry-delay-ticks: 4
# Horizontal knockback when entering the downed state.
# Increase this for a more dramatic fall.
downed-entry-knockback-horizontal: 0.16
# Vertical knockback when entering the downed state.
# Lower values make the fall look more natural.
downed-entry-knockback-vertical: 0.08
# What should happen when the downed timer runs out:
# KILL = die permanently
# REVIVE = stand back up automatically
death-action: KILL
# If the player disconnects while downed:
# true = dies / state is cleared
# false = keeps the downed state on reconnect
kill-on-disconnect: true
# Hide the death message when the player dies permanently while downed.
disable-death-message-while-downed: true
revive:
# Time in seconds required to complete a revive.
duration-seconds: 10
# Whether the reviver must keep sneaking to continue reviving.
require-sneak: true
# Allow a downed player to revive themselves.
allow-self-revive: false
# Maximum distance to start a revive.
start-distance: 2.0
# If the reviver moves farther than this, the revive is cancelled.
cancel-distance: 4.5
# Where players can be revived:
# ANYWHERE = anywhere
# ONLY_IN_ZONES = only inside zones created with /nr zone
zone-mode: ANYWHERE
# Whether revive zones affect revive speed.
# true = the zone speed multiplier affects revive duration
# false = every zone revives at the same speed
zones-affect-speed: true
auto-revive-finish-effect:
# Visual/audio effect played when an auto-revive finishes inside a zone.
enabled: true
primary-particle:
enabled: true
particle: TOTEM_OF_UNDYING
count: 32
offset-x: 0.45
offset-y: 0.70
offset-z: 0.45
extra: 0.0
secondary-particle:
enabled: true
particle: HAPPY_VILLAGER
count: 18
offset-x: 0.40
offset-y: 0.60
offset-z: 0.40
extra: 0.0
sound:
enabled: true
sound: ITEM_TOTEM_USE
volume: 0.9
pitch: 1.15
required-item:
# Require a valid item in hand or offhand to revive.
enabled: false
# Consume 1 item from the matching stack on successful revive.
consume-on-success: true
# NexusRevive checks both main hand and offhand.
# If either hand matches a rule, the revive is allowed.
items:
revive_kit:
material: PAPER
has_custom_model_data: false
custom_model_data: 0
name_contains: "&eRevive Kit"
carry:
# Whether downed players can be carried.
enabled: true
# If the carrier takes damage:
# true = drop the downed player
# false = keep carrying
drop-on-picker-damage: false
# Pause the death timer while the player is being carried.
stop-death-timer-while-carried: false
# Allow the downed player to dismount by themselves.
allow-downed-dismount: false
loot:
# Allow looting downed players with shift + right click.
enabled: true
# Temporary debug for the loot system.
# true = prints detailed logs when opening/clicking/closing the menu
# false = hides those logs
debug: false
# Require sneaking while right-clicking to open loot.
require-sneak: true
# Allow only one player to keep a loot session open per victim.
# Recommended: true, for a safer and more predictable flow.
single-robber-lock: true
# Allow looting a downed player while someone is reviving them.
allow-while-reviving: false
# Allow looting a downed player while someone is carrying them.
allow-while-carried: false
# Allow looting the main inventory and hotbar.
allow-main-inventory: true
# Allow looting armor slots.
allow-armor: true
# Allow looting the offhand slot.
allow-offhand: true
persistence:
# Save states.yml to disk.
# true = keeps downed states and pending deaths across restarts
# false = does not load or save states.yml
enabled: false
updater:
# Check for updates on startup.
# The update URL is hardcoded in the plugin and cannot be edited here.
enabled: true
sounds:
# Sound played while revive progress is happening.
# cooldown-ticks prevents it from repeating too often.
# 20 ticks = 1 second.
reliving:
enabled: true
sound: BLOCK_NOTE_BLOCK_HARP
volume: 1.0
pitch: 1.0
cooldown-ticks: 20
# Sound played when a revive starts.
start-reliving:
enabled: true
sound: BLOCK_NOTE_BLOCK_HARP
volume: 1.0
pitch: 1.0
cooldown-ticks: 0
# Sound played when a revive is stopped or cancelled.
stop-reliving:
enabled: true
sound: BLOCK_NOTE_BLOCK_HARP
volume: 1.0
pitch: 1.0
cooldown-ticks: 0
# Sound played when a revive completes.
success-relive:
enabled: true
sound: BLOCK_NOTE_BLOCK_HARP
volume: 1.0
pitch: 1.0
cooldown-ticks: 0
downed-effects:
# Apply potion effects while the player is downed.
# These effects are removed automatically when the player revives,
# dies, or leaves the downed state.
enabled: true
# You can remove, edit, or add entries here.
# The "type" field accepts vanilla effect names such as:
# SLOWNESS, WEAKNESS, DARKNESS, BLINDNESS, SLOW_FALLING, etc.
effects:
slowness:
type: SLOWNESS
amplifier: 6
ambient: false
particles: false
icon: false
weakness:
type: WEAKNESS
amplifier: 1
ambient: false
particles: false
icon: false
# Optional example:
# darkness:
# type: DARKNESS
# amplifier: 0
# ambient: false
# particles: false
# icon: false
suicide:
# Allow the downed player to commit suicide by holding shift.
enabled: true
# How many seconds the player must hold shift.
hold-seconds: 5
restrictions:
worlds:
# World control:
# BLACKLIST = works in every world except the listed ones
# WHITELIST = works only in the listed worlds
mode: BLACKLIST
# World list used by the mode above.
list:
- example_world_disabled
# Damage causes ignored by the downed system.
# Example: if you add VOID, falling into the void will kill normally.
ignored-damage-causes:
- VOID
downed-interactions:
# Allow movement while downed.
allow-move: true
# Allow general block interaction while downed.
allow-interact: false
# Allow entity interaction while downed.
allow-entity-interact: false
# Allow breaking blocks while downed.
allow-block-break: false
# Allow placing blocks while downed.
allow-block-place: false
# Allow teleports or teleport-like commands while downed.
allow-teleport: false
# Allow shooting / throwing projectiles while downed.
allow-projectiles: false
# Allow eating or drinking consumable items while downed.
allow-consume: false
# Allow moving items in the main inventory and hotbar while downed.
# This does not control offhand or armor slots.
allow-inventory: false
# Allow using or swapping the offhand slot while downed.
allow-offhand: false
# Allow changing the helmet slot while downed.
allow-helmet: false
# Allow changing the chestplate slot while downed.
allow-chestplate: false
# Allow changing the leggings slot while downed.
allow-leggings: false
# Allow changing the boots slot while downed.
allow-boots: false
# Allow dropping items while downed.
allow-item-drop: false
# Allow picking up items while downed.
allow-item-pickup: false
# Allow using elytra while downed.
allow-gliding: false
# Allow taking fall damage while downed.
allow-fall-damage: false
# Maximum fall distance allowed for downing.
# -1 = unlimited
# If the player falls farther than this, they will not enter downed state.
max-fall-distance: -1
commands:
# Command control while the player is downed.
# BLACKLIST = blocks only the listed commands
# WHITELIST = allows only the listed commands
#
# /nr and /nexusrevive are always allowed separately.
mode: BLACKLIST
list: []
hooks:
vault:
# Vault hook for revive cost.
# Works only if Vault and an economy plugin are installed.
enabled: true
# Revive cost.
# 0.0 = free
revive-cost: 0.0
worldguard:
# WorldGuard hook.
enabled: true
# NexusRevive registers these region flags:
# nexus-revive
# nexus-revive-carry
# nexus-revive-loot
#
# nexus-revive:
# Controls only reviving.
#
# nexus-revive-carry:
# Controls only carrying downed players.
#
# nexus-revive-loot:
# Controls only looting downed players.
#
# If a flag is ALLOW, the action is allowed there.
# If a flag is DENY, the action is blocked there.
# If a flag is not defined, NexusRevive will not block that action by WorldGuard.
#
# Example:
# /rg flag <region> nexus-revive allow
# /rg flag <region> nexus-revive-carry deny
# /rg flag <region> nexus-revive-loot deny
deluxecombat:
# DeluxeCombat hook.
enabled: true
# Allow reviving while one of the players is in combat.
allow-revive-in-combat: true
# Allow carrying while one of the players is in combat.
allow-carry-in-combat: false
# Respect DeluxeCombat PvP protection when trying to down players.
respect-pvp-protection: true
scoreboard:
# Show a personal NexusRevive scoreboard.
enabled: true
# Update interval in ticks.
# 10 ticks = 0.5 seconds.
update-interval-ticks: 10
# Show a scoreboard for the downed player.
show-for-downed: true
# Show a scoreboard for the player who is reviving.
show-for-reviver: true
# Show a scoreboard for the player carrying a downed target.
show-for-picker: true
events:
# Command-based event system.
# Each entry accepts a list of commands.
#
# Supported senders:
# [console] = run as console
# [victim] = run as the downed player
# [attacker]= run as the attacker if present
# [reviver] = run as the reviver
# [picker] = run as the carrier
#
# Available placeholders:
# <victim> <attacker> <reviver> <picker>
# <world> <x> <y> <z>
#
# Example:
# - "[console] broadcast &c<victim> has been downed in <world> (<x>, <y>, <z>)"
player-downed:
# Fired when a player enters the downed state.
enabled: false
commands:
- "[console] say <victim> has been downed."
player-start-revive:
# Fired when someone starts reviving a downed player.
enabled: false
commands:
- "[console] say <reviver> started reviving <victim>."
player-stop-revive:
# Fired when a revive is interrupted or cancelled.
enabled: false
commands:
- "[console] say The revive of <victim> was cancelled."
player-revived:
# Fired when a revive completes successfully.
enabled: false
commands:
- "[console] say <victim> has been revived."
player-picked-up:
# Fired when a player carries a downed target.
enabled: false
commands:
- "[console] say <picker> is carrying <victim>."
player-dropped:
# Fired when a carried downed target is dropped.
enabled: false
commands:
- "[console] say <picker> dropped <victim>."
player-final-death:
# Fired when a downed player dies permanently.
enabled: false
commands:
- "[console] say <victim> died permanently."
# ==========================================================
# PlaceholderAPI
# ==========================================================
# If PlaceholderAPI is installed, NexusRevive registers
# internal placeholders with the identifier:
# %nexusrevive_<placeholder>%
#
# Available:
# %nexusrevive_status%
# %nexusrevive_death_delay%
# %nexusrevive_invulnerability%
# %nexusrevive_reviver%
# %nexusrevive_picker%
# %nexusrevive_attacker%
# %nexusrevive_victim%
# %nexusrevive_progress%
# %nexusrevive_auto_revive_zone%
# %nexusrevive_in_auto_revive_zone%
# %nexusrevive_auto_reviving%
# %nexusrevive_death_delay_bar%
# %nexusrevive_invulnerability_bar%
# %nexusrevive_progress_bar%
#
# Note:
# If persistence.enabled is true, NexusRevive saves
# temporary states in states.yml to support reconnects,
# restarts, and pending deaths.
messages.yml preview
general:
prefix: "&8[&b&lNexusRevive&8] &7"
no-permission: "&#ff5555You do not have permission to do that."
only-player: "&#ff5555Only a player can use this command."
player-not-found: "&#ff5555That player could not be found online."
blocked-command: "&#ff5555You are downed. Use /nr or wait for help."
reloaded: "7ff55Configurations reloaded successfully."
victim:
downed: |-
&#ff6b6bYou are downed.
&7You need help to get back on your feet.
&8- &fFinal death in: &c<death_delay>s
&8- &fSafe window: &e<invulnerability>s
reconnected-downed: "&#ffaa00You are still downed. You have &#ffffff<death_delay>s &#ffaa00left to receive help."
start-revive: "7ffff<reviver> has started reviving you."
stop-revive: "&#aaaaaa<reviver> interrupted the revive."
revived: "7ff55You have been revived successfully."
picked-up: "7ffff<picker> is carrying you."
dropped: "&#ffaa00You were placed back on the ground."
attacker:
downed: "&#ff5555You downed &#ffffff<victim>&#ff5555."
reviver:
start: "7ffffYou started reviving &#ffffff<victim>7ffff."
stop: "&#aaaaaaThe revive of &#ffffff<victim> &#aaaaaawas cancelled."
success: "7ff55You revived &#ffffff<victim>7ff55."
zone-required: "&#ff5555That player must be inside a revive zone."
carry-blocked: "&#ff5555You cannot revive a p
Similar projects
Plugin →VeinMiner
Mine the whole vein on mining a single ore/block. Make the tedious mining experience to something satisfying and fun! FTB Ultimine alternative
99.3MSueta
Simple Voice Chat
A working voice chat in Minecraft!
76.8MSueta
Chunky
Pre-generates chunks, quickly and efficiently
18.4MSueta
VeinMiner Enchantment
Veinminer Addon - Adds vineminer enchantment to enchanting tables. Only tools with the enchantment can veinmine
18MSueta
JourneyMap
Real-time map used for mapping in-game or your browser as you explore.
14.7MSueta
WorldEdit
A Minecraft Map Editor... that runs in-game! With selections, schematics, copy and paste, brushes, and scripting. Use it in creative, or use it temporarily in survival.
11.6MSueta