VitalRegen
Smooth percentage-based health regen that pauses in combat — and finally detects damage from MythicMobs, MMOCore & true damage that other regen plugins miss.
Plus the fix for the big-HP "heart render" client crash.
Smooth percentage-based health regen that pauses in combat — and finally detects damage from MythicMobs, MMOCore & true damage that other regen plugins miss.
Plus the fix for the big-HP "heart render" client crash.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
On RPG/MMO servers, endgame players end up with enormous max HP — thousands or tens of thousands of points from level scaling, stats and gear. Here's the trap: the Minecraft client draws one heart for every 2 HP on a player's own health bar. Give a player a huge max-HP pool and the client tries to render thousands of heart sprites for their bar... and freezes or crashes.
VitalRegen caps how many hearts each player's bar is ever asked to draw — no matter their real max HP. Crash gone, and real health is never touched. Display-only, zero gameplay impact.
Scope note: this scales the player's own health bar. It doesn't alter mob health-bar or boss-bar displays.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Most combat-tag and regen plugins only listen to Bukkit's damage event — which MythicMobs and MMOCore skills bypass entirely. The result: players heal mid-fight against your custom bosses, and your combat lockout does nothing.
VitalRegen watches each player's actual health. If it drops, they took damage — no matter what dealt it (MythicMobs, MMOCore, MMOItems, true damage, fall, fire, anything). The combat lockout just works.
- Percentage-based healing — heals a % of each player's current max HP, so it scales automatically with level-based RPG health. No flat numbers to rebalance every tier.
- Source-agnostic combat detection — the health-drop watcher catches damage that Bukkit events never see.
- Combat lockout — regen pauses while taking or dealing damage, resumes after a configurable cooldown.
- Big-HP heart cap — stops the render crash on high-HP player setups.
- Zero dependencies — pure Paper API. No PlaceholderAPI, no libraries, nothing to install first.
- Lightweight — two lean scheduled tasks. No per-entity listeners chewing your TPS.
- Fully configurable — every value and every message, with colour codes and a custom prefix.
- Live reload —
/vitalregen reload, no restart needed.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Code:
# REGEN
# Every "interval-ticks" ticks, each living player is healed by
# "regen-percent" percent of their CURRENT maximum health. Regen pauses
# during combat (taking OR dealing damage) and resumes after the lockout.
regen-percent: 1.0 # % of max health restored each cycle. 1.0 = 1%
interval-ticks: 50 # ticks between heals. 20 = 1 second, 50 = every 2.5s
combat-lockout-seconds: 30 # seconds with no damage before regen resumes (0 = off)
# HUD HEART CAP
# Half-hearts the client draws on each player's bar, regardless of real
# max HP. 20 = 10 hearts. 0 = disabled (not recommended on big-HP servers).
hud-heart-scale: 20
# MESSAGES (& colour codes; reloaded supports {percent} {interval} {lockout} {hearts})
messages:
prefix: "&8[&bVitalRegen&8]&r "
no-permission: "&cYou don't have permission to do that."
reloaded: "&aReloaded. &f{percent}%&7 every &f{interval}s&7, lockout &f{lockout}s&7, hearts &f{hearts}&7."
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
/vitalregen reload(alias /vregen) — reload the config livevitalregen.reload— permission for the reload command (default: op)
Regen and the heart cap apply to everyone automatically — no setup commands, no per-player toggling.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
- Paper / Purpur 1.21.x (built against 1.21.8)
- Runs alongside MythicMobs, MMOCore, MMOItems and any custom-HP system — it reads max health generically, so it doesn't care how the HP got there.
- Proxy-friendly — backend plugin, nothing on the Velocity/Bungee side to break.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
- Purchase grants a licence for your own servers/networks.
- No redistribution, resale, or leaking.
- All sales final — digital product, no refunds after download.
Questions before buying? Drop me a message — happy to help.
