Social Studio ES|EN
Supervivencia en equipo

UltraRevive v1.0

En vez de morir de golpe, quedas derribado y tu equipo puede levantarte. Con tres tótems propios.

UltraRevive es un plugin de Paper hecho por Social Studio (su creador firma como GupeLegend) que cambia una sola regla, pero la cambia para siempre: el golpe que te iba a matar ya no te mata. Te deja derribado —en el piso, brillando, indefenso— y le da a tu equipo unos segundos para llegar y levantarte. Si nadie llega a tiempo, te desangras y ahí sí mueres de verdad. El plugin suma tres tótems propios con su propia textura, un resource pack que él mismo se encarga de servir, estadísticas por jugador y una API pública para que otros plugins sepan quién está derribado.

Qué es

UltraRevive convierte cualquier pelea en una pelea de equipo. Ir solo contra todos deja de ser "si fallo, muero" y pasa a ser "si fallo, tengo unos segundos para que alguien me salve". Quedarse cerca de los compañeros empieza a valer la pena, y un rescate bajo fuego —agacharse al lado de alguien que se está desangrando mientras le llueven flechas— termina siendo uno de los mejores momentos que te vas a llevar del servidor.

No es un plugin de tumbas ni de tótems que evitan la muerte: los tres tótems de UltraRevive no impiden que te derriben, lo que cambian es lo que pasa después. Eso es justamente lo que le da sentido al botón de auto-revivir.

[UltraRevive] ☠ Steve fue derribado. ¡Un compañero puede revivirlo!
[UltraRevive] ✔ Steve fue revivido.

Características

  • Derribo en vez de muerte instantánea: el golpe letal te tira al piso, no te mata.
  • Rescate cooperativo: agacharte al lado del caído lo revive; si se agachan varios a la vez, va más rápido.
  • Progreso con gracia: si el que reanima se aleja un instante, el progreso se congela unos segundos antes de empezar a bajar; no se pierde de golpe.
  • Tres tótems propios, cada uno con textura, nombre y lore distintos, y reglas de rescate distintas.
  • Resource pack servido por el propio plugin: nadie en tu servidor tiene que montar un hosting aparte.
  • Tensión en los últimos segundos: un latido que se acelera, partículas de sangre y una baliza de luz sobre el caído.
  • Fatiga opcional: si te derriban una y otra vez en poco tiempo, aguantas menos antes de desangrarte.
  • Estadísticas por jugador (/ur stats): derribos, revividas, rescates hechos, auto-revividas y desangrados.
  • Dos idiomas completos (inglés y español), incluyendo el nombre y la descripción de los tres tótems.
  • API pública y dos eventos de Bukkit para que otros plugins reaccionen a un derribo o a un rescate.
  • Migración automática desde instalaciones viejas (carpeta compartida, nombre anterior del plugin e incluso tumbas de una versión previa que ya no existe).

Requisitos y compatibilidad

Requisito Valor
Servidor Paper 26.1.2 o más nuevo (Spigot no está soportado)
Java Java 25
Folia No soportado (folia-supported: false en el plugin.yml)
Dependencias obligatorias Ninguna
Dependencias opcionales (softdepend) LuckPerms (para leer el rango del jugador desde el código del plugin)

Nota: el plugin.yml también declara LPC, ItemEdit e ItemTag como softdepend. Son herencia del jar compartido del que salió UltraRevive; el código publicado en este repo no los usa para nada todavía, así que no hace falta tenerlos instalados.

UltraRevive es autocontenido: no necesita una base de datos, no necesita Vault y no necesita ningún otro plugin para funcionar al cien por ciento. Si tienes LuckPerms instalado, el plugin lo detecta solo y expone el rango del jugador a través de su propia API interna (ver Integraciones y API); si no lo tienes, UltraRevive sigue funcionando exactamente igual.

Instalación paso a paso

  1. Descarga UltraRevive-1.0.jar y suéltalo en la carpeta plugins/ de tu servidor Paper.
  2. Inicia (o reinicia) el servidor. No hay que configurar nada a mano: todo viene listo para jugar apenas arranca.
  3. Revisa la consola: debería aparecer UltraRevive v1.0 enabled. y, si el resource pack interno pudo arrancar, Serving the resource pack at: http://....
  4. Si usas el modo interno del resource pack (el que viene por defecto), abre el puerto 8081 en tu firewall/router o en tu proveedor de hosting. Si el puerto está cerrado, el plugin lo avisa en consola y los tótems simplemente se ven como tótems de undying normales; el resto del plugin sigue funcionando igual.
  5. Ajusta plugins/UltraRevive/config.yml a tu gusto (ver Configuración) y, si cambiaste algo, ejecuta /ur reload.

Los datos del plugin viven en plugins/UltraRevive/: ahí aparecen config.yml, lang/en.yml, lang/es.yml, stats.yml y resourcepack.zip. Tu config.yml nunca se sobreescribe al actualizar el jar a una versión nueva.

Si vienes de una instalación anterior

UltraRevive nació como parte de un jar todo-en-uno; estas migraciones corren solas, una sola vez, al arrancar:

  • Carpeta compartida vieja (plugins/UltraView/UltraRevive/): si tus datos todavía estaban ahí, se mueven solos a plugins/UltraRevive/. Nada se pisa: si un archivo no se puede mover, la carpeta vieja se queda como estaba, y se borra sola cuando queda vacía.
  • Nombre anterior del plugin (UltraRevivir): si existe una carpeta plugins/UltraRevivir/, el plugin trae de ahí stats.yml, la carpeta lang/ y los valores de config.yml que todavía tengan el mismo nombre de clave en la versión nueva. No borra nada de la carpeta vieja.
  • Permisos viejos (ultrarevivir.*): siguen funcionando. Están declarados como padres de los permisos nuevos (ultrarevivir.admin → ultrarevive.admin, etc.), así que si ya se los diste a alguien en LuckPerms no tienes que tocar nada.
  • Tótems ya entregados: cada tótem lleva una etiqueta oculta (ultrarevive:ur_item). Los que se dieron cuando el plugin tenía su nombre anterior llevan la etiqueta vieja (ultrarevivir:ur_item) y se siguen reconociendo igual; no se vuelven tótems normales de la nada.
  • Tumbas pendientes: si tu servidor usaba antes un sistema de tumbas que ya no existe, y quedaba algo sin reclamar, UltraRevive lo devuelve automáticamente la primera vez que cada jugador afectado entra al servidor (incluida la experiencia). Lo que no entra en el inventario se deja caído a sus pies, nunca se pierde. Es un rescate de una sola vez: una vez que a todos se les devolvió lo suyo, el plugin deja de buscar tumbas pendientes.

Cómo funciona

Cuando te derriban

Si un golpe te dejaría a 0 de vida, UltraRevive lo intercepta: tu vida baja a 2 corazones (downed-health, 1 corazón en la barra) en vez de a cero, y pasas a estar derribado.

  • Quedas en modo aventura, en pose de arrastrarte (nado/swimming reutilizado como pose de "caído"), brillando en rojo, con Lentitud (nivel 7 por defecto) y Ceguera.
  • Mientras estás derribado no puedes atacar, romper ni poner bloques, soltar ítems ni comer. Si tienes el Tótem Bendito del Aether, la única excepción es usarlo (botón o clic derecho) para auto-revivirte.
  • Aparece una barra de jefe roja que cuenta los segundos que te quedan: 60 segundos por defecto.
  • Los mobs y el entorno no pueden rematarte (lo decide immune-to-mobs); otro jugador sí puede, si finish-by-players está activo (lo está por defecto). Si finish-by-players está en false, pegarle a un derribado no hace absolutamente nada.
  • El vacío sigue matando igual, derribado o no: nadie se queda cayendo para siempre.
  • Desconectarte estando derribado te mata (die-on-quit, activo por defecto). Cerrar el cliente no es una forma de salvarse.

En los últimos segundos (el 25% final del tiempo, bleed-tension.threshold-percent) suena un latido que se va acelerando y caen partículas de sangre a tus pies; además, si downed-beacon está activo, un haz de partículas (END_ROD por defecto) sube desde tu cuerpo para que tu equipo te ubique entre el caos de una pelea.

El rescate

Un compañero se agacha a 3 bloques de ti (revive-radius) y, mientras se mantenga agachado, el progreso sube. Tarda 5 segundos (revive-duration) en completarse.

  • Te cuesta hambre a quien te revive: al completarse el rescate se le descuentan 6 puntos de hambre (3 piernas de pollo) de una sola vez. Mientras está reanimando necesita tener algo de hambre (más de 0); si llega a 0, no puede seguir y se le avisa en la actionbar.
  • Rescate cooperativo: si varios jugadores se agachan a la vez junto al mismo caído, el progreso sube más rápido. Cada reanimador extra suma coop-revive.bonus-per-extra (1.0 por defecto) al ritmo, hasta un máximo de coop-revive.max-extra (3) reanimadores extra contando.
  • El progreso no se pierde de golpe: si el que te está reanimando se aleja (un empujón, un mob de por medio), el progreso se congela durante coop-revive.grace-seconds (2 segundos) antes de empezar a bajar de a poco. Así un empujón accidental no te condena.
  • Reglas opcionales para servidores más duros:
  • interrupt-on-damage: si el que te está reanimando recibe daño, se interrumpe (por defecto está apagado, para no cambiar el balance de golpe).
  • downed-fatigue: si te derriban varias veces seguidas en poco tiempo (window-seconds, 120s por defecto), aguantas menos antes de desangrarte la próxima vez (por defecto está apagado).

Cualquiera puede revivirte, no solo tu equipo o tu clan: UltraRevive no filtra por facciones (eso se deja a cargo de un plugin de clanes aparte, si tu servidor usa uno). Que un desconocido se agache a salvarte es, a propósito, parte de la gracia.

El desangrado y la muerte definitiva

Si el contador de la barra de jefe llega a cero sin que nadie te haya revivido, te desangras: ahí sí mueres de verdad, con todo lo que eso implica en vanilla (se pierde el inventario según las reglas normales del servidor, suena ENTITY_WITHER_DEATH y se avisa a los jugadores cerca).

Importante: la muerte real de un jugador derribado siempre se aplica un tick después, nunca dentro del mismo evento de daño que lo remató. Es una decisión de diseño a propósito: matar dentro de un EntityDamageEvent anidaría dos muertes en un mismo golpe y el servidor terminaría vaciando el inventario dos veces, perdiendo el botín en el proceso.

También puedes rendirte vos mismo con el botón [Rendirse] (o /ur surrender) si no quieres esperar: te mata al instante, con su propio sonido y partículas de humo. Si configuraste surrender-cooldown (0 por defecto, o sea sin límite), tenés que aguantar derribado esa cantidad de segundos antes de poder rendirte.

Casos especiales

  • El vacío siempre mata, estés derribado o no; si caes al vacío mientras estás derribado, te desangras ahí mismo sin esperar a que se acabe el contador.
  • Un jugador con ultrarevive.bypass nunca se derriba: muere de la forma normal de vanilla, como si el plugin no existiera para él.
  • Mundos específicos: con enabled-worlds puedes limitar en qué mundos funciona el derribo (vacío = en todos).

Los tres tótems

Los tres son el mismo ítem base por dentro (TOTEM_OF_UNDYING), distinguidos por su custom-model-data y por una etiqueta oculta en sus datos persistentes. Eso significa dos cosas: un Tótem de Undying normal (sin esa etiqueta) sigue siendo un tótem normal y salva de la forma de vanilla de siempre, y nadie puede "falsificar" uno de los tres tótems renombrando un tótem común — el plugin no se fija en el nombre, se fija en la etiqueta.

Ningún tótem evita que te derriben. Lo que cambian es lo que pasa después de eso.

Tótem Bendito del Aether

Pescando el Tótem Bendito del Aether, dorado y de ojos verdes Dorado, con ojos verdes. Se puede pescar o encontrar en cofres de tesoro enterrado.

  • Qué hace: usalo mientras estás derribado (con el botón [Auto-Revivir] del chat o con clic derecho) y te levantás solo, sin necesidad de que nadie te rescate.
  • Al levantarte recibís Absorción (120 s) y Regeneración (5 s), y quedás un rato mareado (Náusea, 20 s) como efecto secundario.
  • Dónde sale: cofres de tesoro enterrado (20% de probabilidad) y pesca (0,5%). En ningún otro cofre del juego.
  • Se consume: se gasta una unidad al usarlo.

Tótem Maldito del Nether

Tótem Maldito del Nether en un cofre dentro de un portal en ruinas Piedra desgastada, con ojos rojos. Aparece en portales en ruinas, bastiones y fortalezas del Nether.

El mismo tótem, esta vez en un cofre dentro de una fortaleza del Nether Las fortalezas del Nether son, junto a los bastiones, donde más probabilidad tiene de aparecer.

El mismo tótem en un cofre dentro de un bastión Un bastión en ruinas, otro de sus escondites posibles.

  • Qué hace: no lo usás vos, lo llevás encima cuando revivís a otro jugador. Mientras lo tengas en el inventario, revivís hasta 3 veces más rápido de lo normal, y la persona que revivís vuelve con la vida llena (20 corazones), más Regeneración y Absorción de regalo.
  • El costo lo pagás vos, el que revive: al completarse el rescate recibís 20 segundos de Marchitamiento (Wither). El derribado no sufre nada de esto.
  • La maldición: si vos morís llevando este tótem encima (y no tenés un tótem de undying normal, sin la etiqueta, en la mano), no hay derribo que valga: morís directo, aunque también estés cargando el Tótem Bendito del Aether. Solo un tótem vanilla de verdad en la mano te salva de esto.
  • Dónde sale: portales en ruinas (0,67%), bastiones (1,2%) y fortalezas del Nether (1,2%).
  • Se consume: se gasta una unidad del inventario de quien revive, apenas se completa el rescate.

Tótem Desconocido del End

El Tótem Desconocido del End, hueso pálido con ojos violetas, dentro de un barco del End Una reliquia de los cofres de los barcos del End. Nadie entiende del todo su poder, y está pensado para ser una leyenda.

  • Si lo usás mientras estás derribado (como el del Aether, con botón o clic derecho): te levantás solo y además te teletransporta a tu punto de reaparición (tu cama, o el spawn del mundo si no tenés una), con 2 minutos de Ceguera como efecto secundario. Es, literalmente, una vía de escape.
  • Si lo llevás encima al revivir a otro jugador: en vez de ayudarte a vos, deja una zona de curación en el suelo alrededor del revivido — un círculo de partículas de corazones que da Regeneración y Levitación Lenta (para no morir de caída) a quien esté parado adentro, durante unos segundos. A cambio, quien revivió queda con Náusea 20 segundos.
  • Dónde sale: cofres de los barcos del End (0,00067% de probabilidad — está pensado para ser casi un mito). El plugin distingue el barco de la ciudad del End (comparten la misma tabla de botín de vanilla) buscando una élitra en un marco de ítem cerca del cofre, que es lo único exclusivo del barco.
  • Se consume: una unidad, tanto si te auto-revivís con él como si lo usás para curar al revivir a otro.

Nota: el area-heal-team-only del tótem del End está en el config.yml, pero en esta versión del código la zona de curación cura a cualquiera que esté parado adentro, no solo a tu equipo — el filtrado por equipos/clanes queda a cargo de un plugin de clanes aparte, que todavía no está conectado a esta opción.

El resource pack

Las texturas de los tres tótems vienen en un pequeño resource pack, y el plugin se lo ofrece solo a cada jugador quy se conecta, 2 segundos después de que entra. No hace falta que subas nada a ningún lado vos mismo.

  • Solo cambia la apariencia de los tres tótems de UltraRevive (custom-model-data 130001, 130003 y 130007). Un Tótem de Undying normal mantiene su textura de siempre, y ningún otro ítem, bloque o menú se toca.
  • Sin el pack, todo sigue funcionando igual; los tótems simplemente se ven como tótems de undying normales.
resource-pack:
  enabled: true
  mode: internal     # internal = lo sirve el plugin · url = lo servís vos
  host: "AUTO"        # AUTO = detecta la IP pública sola; o escribí la tuya
  port: 8081          # tenés que tener este puerto abierto en tu host
  url: ""             # solo se usa con mode: url
  force: false        # true = el jugador está obligado a aceptarlo
  prompt: ""          # vacío = usa el texto del idioma configurado

En modo internal (el de por defecto), UltraRevive levanta su propio servidor HTTP chiquito en el puerto configurado y trata de adivinar la IP pública del servidor consultando api.ipify.org; si eso falla, usa la IP configurada del servidor o, en último caso, 127.0.0.1. Si preferís controlarlo vos (por ejemplo porque estás detrás de un proxy o un dominio propio), poné host a mano o cambiá a mode: url y apuntá url a donde subiste el .zip.

Consejo: si ya le estás mandando tu propio resource pack a los jugadores, no hace falta que uses el modo interno: agregá el pack de UltraRevive al tuyo (o importá el .zip en tu administrador de packs y reconstruilo) y poné resource-pack.enabled: false. Si tu pack ya modifica el Tótem de Undying, fusioná ese archivo a mano: conservá las tres entradas de custom-model-data de UltraRevive y dejá tu modelo como el de respaldo (el normal, sin etiqueta).

Comandos

El comando principal es /ultrarevive, con los alias /ur y /revivir.

Comando Qué hace Permiso
/ur o /ur help (alias ayuda) Muestra la ayuda (distinta si sos admin o no) Ninguno
/ur surrender Te rendís y morís al instante, estando derribado ultrarevive.surrender
/ur selfrevive Te levantás solo gastando un Tótem Bendito del Aether o un Tótem Desconocido del End, estando derribado Ninguno (solo hace falta tener el tótem encima y estar derribado)
/ur stats [jugador] Ve las estadísticas de rescate; sin argumento ve las tuyas Ninguno para ver las tuyas · ultrarevive.admin para ver las de otro
/ur reload Recarga config.yml y los idiomas sin reiniciar el servidor ultrarevive.admin
/ur revive <jugador> Revive a un jugador derribado, como si lo hubiera hecho otro jugador ultrarevive.admin
/ur down <jugador> Derriba a un jugador que no esté derribado todavía ultrarevive.admin
/ur finish <jugador> (alias kill) Remata a un jugador derribado (lo hace desangrarse ya mismo) ultrarevive.admin
/ur give <self\|boost\|end> [jugador] [cantidad] (alias dar) Entrega uno de los tres tótems. Sin jugador, te lo das a vos mismo; sin cantidad, entrega 1 ultrarevive.admin

En /ur give, también aceptan como alias de cada tótem: self/aether/jer..., boost/nether/kit... y end (basta con que el argumento empiece con esas letras).

Mientras estás derribado, además, te aparecen botones clicables directamente en el chat: [Rendirse] (siempre) y [Auto-Revivir] (solo si al menos uno de los tótems de auto-revivir está habilitado en la config). Son atajos a /ur surrender y /ur selfrevive; no hace falta escribir el comando a mano.

Permisos

Permiso Por defecto Qué hace
ultrarevive.admin op Da acceso a /ur reload, /ur revive, /ur down, /ur finish, /ur give y a ver las estadísticas de otros jugadores
ultrarevive.bypass false Ese jugador nunca se derriba: muere de la forma normal de vanilla
ultrarevive.revive todos Puede revivir a otros jugadores agachándose a su lado
ultrarevive.surrender todos Puede usar /ur surrender o el botón [Rendirse]

Importante: ultrarevive.bypass interactúa con la opción affect-ops de la configuración de una forma que no es obvia. Si un jugador es operador y tiene el permiso bypass, pero affect-ops está en true (el valor por defecto), igual lo van a derribar: affect-ops: true hace que la mecánica de derribo alcance también a los ops, pasando por encima del permiso de bypass en ese caso puntual. Si querés que un operador con ultrarevive.bypass nunca se derribe sin importar nada, poné affect-ops: false.

Para compatibilidad con instalaciones viejas, los permisos con el nombre anterior del plugin (ultrarevivir.admin, ultrarevivir.bypass, ultrarevivir.revive, ultrarevivir.surrender) siguen funcionando: están declarados como permisos padre de los nuevos, así que si alguien ya los tenía en LuckPerms no hay que tocar nada.

Configuración

Todo vive en un único config.yml comentado, en español. Estos son sus valores tal como vienen de fábrica:

# UltraRevive. Se guarda en plugins/UltraRevive/ y NO se sobreescribe al actualizar.

# Idioma / Language: solo 'en' y 'es'.
# ⚠ Esto cambia TODO: mensajes del chat Y el nombre y lore de los tres totems.
language: en
enabled-worlds: []

# --- Tiempos ---
down-duration: 60
revive-duration: 5
revive-radius: 3.0
revive-by-sneaking: true

# --- Vida ---
downed-health: 2.0
revive-health: 10.0

# --- Visual ---
glow: true
glow-color: RED
pose-crawl: true
blindness: true
slowness-amplifier: 6
particles: true
bossbar: true
bossbar-color: RED

# --- Reglas ---
finish-by-players: true
immune-to-mobs: true
die-on-quit: true
adventure-mode: true
affect-ops: true

# Varios companeros agachados reaniman mas rapido.
coop-revive:
  enabled: true
  # El progreso se CONGELA estos segundos si el reanimador se aleja un instante (un empujon en
  # PvP, un mob que estorba) antes de empezar a decaer. 0 = se pierde de golpe.
  grace-seconds: 2
  bonus-per-extra: 1.0
  max-extra: 3

# Latido y particulas de sangre en los ultimos segundos del derribado.
bleed-tension:
  enabled: true
  threshold-percent: 25.0
  heartbeat-sound: ENTITY_WARDEN_HEARTBEAT

# Haz de particulas sobre el caido para que el equipo lo ubique.
downed-beacon:
  enabled: true
  particle: END_ROD

# Si te pegan mientras reanimas, se interrumpe. Apagado para no cambiar el balance de golpe.
interrupt-on-damage:
  enabled: false
  penalty: 1.0

# Si te derriban una y otra vez en poco tiempo, aguantas menos antes de desangrarte.
downed-fatigue:
  enabled: false
  window-seconds: 120
  factor-per-stack: 0.75
  min-fraction: 0.3

hunger-cost: 6

# --- Anuncios ---
broadcast-downed: true
broadcast-radius: 30

# --- Sonidos ---
sound-downed: ENTITY_PLAYER_HURT
sound-revived: ENTITY_PLAYER_LEVELUP
sound-bled-out: ENTITY_WITHER_DEATH
sound-surrender: ENTITY_TOTEM_USE
surrender-particles: true
surrender-cooldown: 0

stats: true

# --- Resource pack ---
# internal = lo sirve el plugin y necesita el puerto abierto. url = lo servis vos.
resource-pack:
  enabled: true
  mode: internal
  host: "AUTO"
  port: 8081
  url: ""
  force: false
  prompt: ""

# --- Los tres totems ---
# Todos son TOTEM_OF_UNDYING distinguidos por custom-model-data, asi que los totems normales
# siguen viendose normales. Se dan con /ur give <self|boost|end> [jugador] [cantidad].
items:
  self-revive:
    enabled: true
    material: TOTEM_OF_UNDYING
    custom-model-data: 130001
    glow: true
    health: 6.0
    sound: ITEM_TOTEM_USE
    side-effects: true
    loot:
      enabled: true
      tables:
        buried_treasure: 0.20
      chance: 0.0
      fishing: true
      fishing-chance: 0.005

  revive-boost:
    enabled: true
    material: TOTEM_OF_UNDYING
    custom-model-data: 130003
    glow: true
    speed-multiplier: 3.0
    revive-health: 20.0
    reward-effects: true
    curse-insta-death: true
    curse-wither-seconds: 20
    loot:
      enabled: true
      tables:
        ruined_portal: 0.0067
        bastion_treasure: 0.012
        nether_bridge: 0.012
      chance: 0.02
      fishing: false
      fishing-chance: 0.0

  end-revive:
    enabled: true
    material: TOTEM_OF_UNDYING
    custom-model-data: 130007
    glow: true
    teleport-home: true
    self-revive-health: 6.0
    blindness-seconds: 120
    unknown-misfire-chance: 0.0
    unknown-misfire-radius: 24
    area-heal-radius: 5
    area-heal-duration: 6
    area-heal-level: 1
    area-particle: HEART
    area-heal-team-only: true
    area-slow-falling: true
    area-slow-falling-seconds: 4
    reviver-nausea-seconds: 20
    sound: ENTITY_ENDERMAN_TELEPORT
    loot:
      enabled: true
      tables:
        end_city_treasure: 0.0000067
      chance: 0.0000067
      fishing: false
      fishing-chance: 0.0
      require-end-ship: true

Un repaso rápido de los bloques menos obvios:

  • language: cambia todo, no solo los mensajes de chat. El nombre y la descripción de los tres tótems viven en lang/<idioma>.yml, a propósito: si vivieran en config.yml, cambiar el idioma traduciría los mensajes pero dejaría los tótems en el idioma con el que se generó el archivo la primera vez.
  • downed-health / revive-health: a cuántos corazones quedás al caer derribado y a cuántos volvés al ser revivido de la forma normal (sin el Tótem Maldito del Nether, que usa su propio revive-health: 20.0 dentro de items.revive-boost).
  • slowness-amplifier: 6: es el amplificador de la poción, no el nivel que ves en pantalla — equivale a Lentitud VII.
  • revive-by-sneaking: por defecto hay que estar agachado para que cuente como "reanimando"; en false, basta con estar parado dentro del radio (revive-radius).
  • coop-revive: bonus-per-extra es cuánto progreso extra por tick aporta cada reanimador además del primero, hasta max-extra. grace-seconds es la ventana de perdón antes de que el progreso empiece a bajar si el reanimador se aleja.
  • interrupt-on-damage.penalty: va de 0.0 a 1.0; 1.0 (el valor por defecto si lo activás) significa que un solo golpe te hace perder el 100% del progreso acumulado.
  • downed-fatigue: factor-per-stack se aplica de forma multiplicativa por cada derribo dentro de la ventana (window-seconds), y min-fraction es el piso: nunca vas a aguantar menos de ese porcentaje del tiempo normal.
  • items.*.loot.tables: podés poner un mapa (como viene de fábrica, una probabilidad distinta por estructura) o una simple lista de nombres de tabla de botín, que usarían todas la misma probabilidad (chance). Las claves se comparan por coincidencia parcial contra la clave de la tabla de botín de Minecraft (por ejemplo "ruined_portal" matchea con minecraft:chests/ruined_portal).
  • items.end-revive.require-end-ship: la ciudad del End y los barcos del End comparten la misma tabla de botín en vanilla, así que "solo en barcos" no se puede pedir eligiendo la tabla. Con esto en true, el plugin revisa si hay una élitra en un marco de ítem cerca del cofre (lo único exclusivo de un barco) antes de dejar caer el tótem.

Después de editar config.yml a mano, corré /ur reload para que los cambios se apliquen sin reiniciar el servidor.

Mensajes e idiomas

Los textos que ve el jugador viven en plugins/UltraRevive/lang/en.yml y lang/es.yml, no en config.yml. Vienen completos en inglés (por defecto) y español; cambiar language: en la config cambia los mensajes de chat y el nombre/lore de los tres tótems a la vez.

Cada mensaje acepta algunos de estos marcadores, según el caso: {time}, {percent}, {target}, {player}, {name}, {n}, {secs}, {count}, {items}. Podés editar cualquier texto con códigos de color de Minecraft (&c, &l, etc.) y correr /ur reload para verlo aplicado.

Consejo: si agregás un idioma nuevo a mano o actualizás el plugin, no hace falta que copies el archivo entero: al cargar, UltraRevive agrega automáticamente cualquier clave que exista en el .yml del jar pero todavía no esté en el archivo de tu servidor, sin pisar lo que ya editaste.

Jugadores de Bedrock

UltraRevive no trae un menú ni una integración dedicada para Bedrock/Geyser: el código fuente no tiene nada pensado específicamente para eso. Dicho esto, casi todo el plugin corre del lado del servidor con mecánicas de vanilla (daño, modo aventura, pociones, barra de jefe, actionbar, títulos), así que debería comportarse razonablemente bien en un servidor con Geyser. Hay dos puntos a tener en cuenta:

  • Los botones de chat ([Rendirse] y [Auto-Revivir]) se arman con componentes clicables de texto (ClickEvent/HoverEvent), algo que el chat de Bedrock no siempre traduce igual que el de Java. Si un jugador de Bedrock no puede tocar el botón, puede usar directamente /ur surrender o /ur selfrevive.
  • El resource pack es un pack de Java Edition (cambia el custom-model-data de un ítem vanilla). Un cliente de Bedrock no puede cargar un resource pack de Java, así que para esos jugadores los tres tótems se van a ver siempre como un Tótem de Undying normal — exactamente lo mismo que le pasa a cualquier jugador de Java que rechace el pack. El plugin sigue funcionando igual de bien; solo cambia la textura.

Nota: esto no está probado exhaustivamente contra Geyser/Floodgate. Si administrás un servidor mixto Java/Bedrock, probá el flujo completo (derribo, botones, auto-revivir) con un jugador de Bedrock antes de confiar en él en producción.

Integraciones y API

UltraRevive no tiene una expansión de PlaceholderAPI ni se integra con Vault; lo que sí ofrece es:

  • Un puente opcional a LuckPerms: si el plugin lo detecta instalado, expone internamente (UltraRevive#luck()) el rango principal del jugador y, si existe una ruta de ascenso (track) llamada rankup, el siguiente rango de esa ruta. Pensado para que otros plugins de Social Studio lo consuman; no cambia nada del comportamiento propio de UltraRevive ni de sus mensajes.
  • API pública para otros plugins, sin necesitar una dependencia de compilación:
UltraReviveAPI.isDowned(player);      // o por UUID: isDowned(uuid)
UltraReviveAPI.isReviving(player);    // ¿está agachado reanimando a alguien ahora mismo?
UltraReviveAPI.isNormalTarget(player); // ¿es un objetivo "normal" para efectos de otro plugin?
UltraReviveAPI.available();           // ¿está UltraRevive instalado y activo?
  • Dos eventos de Bukkit, por si preferís escuchar en vez de preguntar:
  • PlayerDownedEvent — se dispara justo después de derribar a alguien; trae el jugador y cuántos ticks va a aguantar (ya con la fatiga aplicada, si corresponde).
  • PlayerRevivedEvent — se dispara cuando un derribo termina, de la forma que sea. Trae el jugador, quién lo revivió (null si fue auto-revivida, desangrado o rendición) y una causa: REVIVED, SELF_REVIVED, BLED_OUT o SURRENDERED. Tiene un atajo survived() que devuelve true solo para REVIVED y SELF_REVIVED.
  • Un metadato compartido: mientras un jugador está derribado, UltraRevive le pone el metadato ultrarevive_downed (valor true). Es la misma convención de metadato de visibilidad (vanished) que usan plugins como TAB, así que UltraReviveAPI también sabe leer si un jugador está en modo vanish de staff.

Estadísticas

/ur stats (o /ur stats <jugador> si sos admin) muestra:

  • cuántas veces te derribaron;
  • cuántas veces te revivieron;
  • a cuántos compañeros reviviste vos;
  • cuántas veces te auto-revivíste con un tótem;
  • cuántas veces te desangraste.

Se guardan por jugador en plugins/UltraRevive/stats.yml, se escriben a disco cada ~30 segundos (y al apagar el servidor) y se pueden desactivar del todo poniendo stats: false en la config. Además, cada vez que un jugador entra o muere, UltraRevive sincroniza en el mismo archivo sus muertes, asesinatos, minutos jugados y nivel de experiencia, tomados de las estadísticas normales del servidor — útil si algún día querés mostrar todo junto en un panel o un comando propio.

Preguntas frecuentes

¿Qué pasa si nadie me revive a tiempo? Te desangras: morís de verdad, con las reglas normales de muerte de tu servidor (se pierde el inventario según corresponda). Es exactamente como morir en vanilla, solo que unos segundos después del golpe que debería haberte matado.

¿Los mobs pueden rematarme mientras estoy derribado? No, por defecto (immune-to-mobs: true). Si querés que también puedan hacerlo, ponelo en false.

¿Puedo levantarme solo sin que nadie me ayude? Solo si llevás el Tótem Bendito del Aether o el Tótem Desconocido del End encima; sin alguno de los dos, necesitás que otro jugador se agache a tu lado.

¿Qué pasa si me desconecto estando derribado? Morís (die-on-quit: true por defecto). Cerrar el cliente para "salvarte" no funciona.

¿Es obligatorio aceptar el resource pack? No, a menos que pongas resource-pack.force: true. Si no lo tenés (o lo rechazás), los tres tótems se ven como Tótems de Undying normales; el resto del plugin funciona exactamente igual.

¿Puedo llevar los tres tótems a la vez? Sí, son ítems independientes. Pero ojo con el Tótem Maldito del Nether: si morís llevándolo encima y no tenés un tótem de undying normal (sin etiqueta) en la mano, morís directo — ni siquiera el Tótem del Aether te salva de esa maldición puntual.

¿UltraRevive filtra las revividas por equipo o clan? No. Cualquier jugador con el permiso ultrarevive.revive que se agache a tu lado puede revivirte, sea de tu equipo o no. El filtrado por clanes/facciones queda a cargo de un plugin de clanes aparte, si tu servidor usa uno.

¿Funciona en Spigot? No. Está hecho específicamente contra la API de Paper 26.1.2+; en Spigot no va a cargar.

¿Qué pasa con mis configuraciones si vengo de UltraRevivir (el nombre anterior)? Se migran solas la primera vez que arranca el plugin nuevo: config, idiomas, estadísticas, permisos y hasta los tótems que ya repartiste. Ver Instalación paso a paso.

¿Cómo le doy un tótem a un jugador sin esperar a que lo encuentre? Con /ur give <self|boost|end> [jugador] [cantidad], siendo admin.

Historial de versiones

1.0 — 15 de octubre de 2026

Primera versión pública, para Paper 26.1.2 (Java 25). Antes el plugin era parte de un jar todo-en-uno privado; en esta versión sale solo, con lo suyo: derribar, revivir y los tres tótems.

  • Derribado y rescate completos: pose, brillo rojo, barra de jefe, botones de chat, rescate cooperativo con gracia, tensión de latido y sangre en los últimos segundos, baliza de partículas, fatiga opcional e interrupción opcional por daño.
  • Los tres tótems (Bendito del Aether, Maldito del Nether, Desconocido del End), cada uno con su textura, su probabilidad por estructura y sus propias reglas.
  • Resource pack servido por el propio plugin (o por una URL propia), sin afectar ningún otro ítem del juego.
  • Comandos y permisos de /ur, incluyendo compatibilidad retroactiva con los permisos ultrarevivir.*.
  • config.yml completo en español y dos idiomas de mensajes (inglés y español), con los nombres de los tótems ligados al idioma.
  • Carpeta de datos propia (plugins/UltraRevive/), con migración automática desde la carpeta compartida vieja (plugins/UltraView/UltraRevive/).
  • API pública (UltraReviveAPI.isDowned, isReviving) y los eventos PlayerDownedEvent y PlayerRevivedEvent.
  • Arreglos de la migración: la API pública buscaba el plugin por un nombre que ya no existía y devolvía siempre null; rematar a un derribado podía procesar dos muertes por un mismo golpe y perder el botín (ahora la muerte se aplica un tick después); los tótems entregados en instalaciones anteriores se siguen reconociendo.

Enlaces