HPByLevel is a lightweight, customizable Spigot plugin that dynamically adjusts a player's maximum health based on their current experience level. All level ranges and HP values are fully configurable via config.yml
Features
Automatically adjusts player max HP when:
Level changes
Reconnects
Respawns
XP is added by command (Admin or Server)
World is changed
Supports flexible level range mappings (e.g., 0-4, 10-19, 30)
Per-world HP control via enabled-worlds in config.yml
Safely clamps current health if it exceeds the max HP
Easy-to-edit config.yml with safe validation
Config auto-generated with sensible defaults
Permissions for admin and player command access
Reloadable in runtime — no server restart needed
Commands
/hpbl reload
Reloads the config and reapplies HP hpbl.command.reload or hpbl.admin
/hpbl info
Displays current HP level settings and enabled worlds hpbl.command.info
Permissions
hpbl.command.info
Allows use of /hpbl info
Default : true
hpbl.command.reload
Allows use of /hpbl reload
Default : op
hpbl.admin
Full access to admin commands
Default : op
Dev Notes
You must define the levels section in config.yml for the plugin to operate.
If the configuration is invalid, HP will not be applied and errors will be logged to console.
When reloading via /hpbl reload, validation occurs — if broken, the previous working config stays in effect.
Players entering non-enabled worlds will have their HP reset to vanilla (20).
Plugin is based on Bukkit's standard Attribute system, compatible with all modern Spigot forks.