❤️ EzLifesteal ❤️ Seasons - Top hologram - Bans - Revive Beacon icon

❤️ EzLifesteal ❤️ Seasons - Top hologram - Bans - Revive Beacon -----

NEW advanced Lifesteal plugin with all of your expected Lifesteal features



EzLifesteal
EzLifesteal is a configurable Lifesteal plugin for Paper, Spigot, Folia, and Bukkit servers. It ships with flexible heart rules, fast storage, hologram/scoreboard overlays, PlaceholderAPI hooks, and built-in smurf protection.

[​IMG]
[​IMG] [​IMG] [​IMG]

Highlights
  • Works with Paper 26.1 (Java 25) and stays friendly with Paper, Spigot, Folia, and Bukkit. The jar includes the `folia-supported` marker.
  • Saves player data asynchronously to YAML files or MySQL so leaderboards, profiles, and shutdown saves stay smooth.
  • Control hearts per world: set default, minimum, and maximum hearts, adjust kill rewards and death penalties, pick zero-heart behaviour, allow or block worlds, make per-world overrides, and let mobs drop hearts with per-entity permissions.
  • Optional kill streak rewards can hand out money, run console commands, give items, and broadcast wins when players hit streak milestones, with Vault support for economy payouts.
  • Combat logout protection tags PvP combat for a configurable window and punishes quitters so duels stay fair.
  • Built-in overlays show action-bar or boss-bar updates. `/lifesteal top` leaderboards, the hologram, and PlaceholderAPI placeholders share live standings anywhere.
  • `/lifesteal hologram place` drops a self-updating leaderboard that survives restarts and can be cleared with one command. The scoreboard wildcard (`lifesteal.scoreboard.*`) makes it easy to hand out place/remove access.
  • Need competitive seasons? Install the companion EzSeasons plugin for automatic heart resets, start/end scheduling, countdowns, and reminder broadcasts. EzLifesteal now hooks into its public API automatically, so no extra bridge jars are required.
  • Revive banned players when a teammate right-clicks a beacon block with a voucher item. The plugin validates the item, restores the target, and plays the revive animation. Admins whitelist existing beacons or use /beacon spawn to have the plugin place one automatically.
  • Beacon spawn subsystem: the plugin places BEACON blocks in the world on a schedule or on demand at random or explicit coordinates. Each beacon tracks its own lifecycle — optional WorldGuard protection region, optional EzCountdown warm-up timer, availability broadcast with title, particles, and fireworks, and automatic expiry removal.
  • Optional TeamsAPI integration skips heart transfers when the killer and victim share a team. Toggle via team-kill-bypass-with-teams-api in lifesteal-core.yml.
  • Smurf detection watches for players farming the same target or rotating killers, keeps history GUIs ready, and only alerts trusted staff.
  • `admin.yml` lists staff by ops, permission nodes, UUIDs, or names, chooses if admins bypass heart gain or loss, and decides whether smurf alerts stay admin-only.
  • Translate player messages quickly with built-in English and Dutch files in
    Code (Text):
    languages/*.yml
    .
  • `/lifesteal` staff commands make it easy to add, remove, reset, revive, or reset all hearts without touching storage files.
  • Atomic team-bank persistence rollback (1.1.1) — profile rollback when a team-bank save fails, preventing inconsistent player/bank state.
  • Added focused unit tests to exercise team-bank rollback and atomicity paths (JaCoCo patch-coverage fix).
  • Dependency bumps: WorldEdit, WorldGuard, EzCountdown, Testcontainers, JUnit, Awaitility, SLF4J, and others.

Storage & reliability
[*]MySQL mode creates its table on startup (`uuid`/`hearts`) and uses `ON DUPLICATE KEY UPDATE` so repeat saves stay safe.
[*]Use `/lifesteal reload` to refresh configuration, messages, admin rules, storage backends, overlays, and PlaceholderAPI hooks without restarting.
[/LIST]

EzSeasons & smurf defence

[​IMG]

  • EzSeasons lets you set a season length with `length-days` or pick exact `start`/`end` timestamps, including optional recurring windows.
  • Broadcast reminders and show the countdown with `/season` from the EzSeasons plugin while EzLifesteal handles smurf protection and automatically resets hearts when the season rolls over.
  • Smurf detection logs kills per killer and victim, watches for rotating killer rings, saves alert and kill history, and lets you exempt trusted players.
  • Give moderators `lifesteal.alert` and edit `smurf.yml` to tweak thresholds or exempt trusted UUIDs.

Requirements
  • Java 25 runtime (matches Paper 26.1 requirements).
  • Paper, Spigot, Folia, or Bukkit 26.1 or newer.
  • Optional: PlaceholderAPI for placeholders, MySQL 8+ for database storage.
  • Optional: Vault plus an economy provider for kill streak currency rewards.
  • Optional: WorldGuard for automatic region protection around plugin-spawned beacons.
  • Optional: EzCountdown for a visible countdown timer during beacon warm-up. Falls back to a built-in Bukkit timer when absent.
  • Optional: TeamsAPI for team-kill bypass between teammates.

Quick start
  1. Place the jar in your server's `plugins` folder and restart the server.
  2. Choose `YAML` (default) or `MYSQL` storage in `storage.yml`. Set the default language in `config.yml`. Adjust heart rules in `lifesteal-core.yml`, world scoping in `lifesteal-worlds.yml`, and overlays in `features.yml`. Install EzSeasons if you want scheduled resets.
  3. Review `admin.yml` to decide who counts as staff, whether they bypass heart gain or loss, and who receives smurf alerts.
  4. Use `/lifesteal reload` after configuration changes and give your staff the permissions listed below.
  5. Run `/lifesteal test <kill|death>` on a staging server to check kill and death flows before you go live.

Commands & permissions
Player commands include /lifesteal, /lifesteal top, /lifesteal transfer, and /lifesteal shop. Staff commands cover heart management, reviving players, reloading config, and moderation. A dedicated /beacon command shortcuts all beacon subcommands ( add, remove, list, clear, spawn, despawn, spawns). Shortcut bundles — lifesteal.player, lifesteal.mod, and lifesteal.admin — cover the most common permission setups.

See the full Commands reference and Permissions list in the documentation.

Configuration
Configuration is split across focused YAML files under plugins/EzLifesteal/. Heart rules live in lifesteal-core.yml, world scoping in lifesteal-worlds.yml, mob rewards in lifesteal-mobs.yml, overlays in features.yml, and beacon spawn settings in revive-beacon.yml. Use /lifesteal reload to pick up changes without restarting.

See the Configuration overview for the full file list and per-file references.

Admin & smurf detection
Staff are defined in admin.yml by ops, permission node, or explicit UUID/name lists. Enable bypass flags to let them watch gameplay without losing hearts. Smurf detection watches kill patterns within a configurable time window and alerts staff holding the lifesteal.alert permission.

Full details: admin.yml reference · smurf.yml reference

Configuration presets
  • Casual SMP: Raises the minimum hearts and disables zero-heart bans so everyone can keep playing.
    Code (Text):

    # lifesteal-core.yml
    default-hearts: 12.0
    min-hearts: 6.0
    max-hearts: 30.0
    hearts-per-kill: 1.0
    hearts-lost-on-death: 1.0
    ban-when-zero-hearts: false
     
  • Hardcore grind: Every fight is dangerous — players lose two hearts on death, gain half a heart on kills, and get banned at zero hearts, with tougher rules in the Nether.
    Code (Text):

    # lifesteal-core.yml
    default-hearts: 8.0
    min-hearts: 1.0
    max-hearts: 16.0
    hearts-per-kill: 0.5
    hearts-lost-on-death: 2.0
    ban-when-zero-hearts: true

    # lifesteal-worlds.yml
    world-overrides:
      world_nether:
        hearts-per-kill: 0.25
        hearts-lost-on-death: 3.0
     

PlaceholderAPI
  • Install PlaceholderAPI alongside EzLifesteal. The expansion registers automatically and caches lookups briefly to stay responsive.
  • Player-centric placeholders: %ezlifesteal_hearts% / %ezlifesteal_current_hearts% (stored hearts), %ezlifesteal_default_hearts%, %ezlifesteal_min_hearts%, and %ezlifesteal_max_hearts%.
  • Leaderboard placeholders: %ezlifesteal_top_<position>_hearts%, %ezlifesteal_top_<position>_current_hearts%, %ezlifesteal_top_<position>_name%, and %ezlifesteal_top_<position>_uuid%.

Under the hood
  • Hearts stay saved across restarts, reloads, and world switches, and reapply instantly on join, quit, PvP, or admin tweaks.
  • Health scaling can be toggled separately from heart totals so you can keep the vanilla HUD or use scaled hearts.
  • Background storage work and scheduled overlay updates keep the main thread responsive even during big migrations or resets.
  • Mob rewards support fractional payouts, per-entity permissions, and world allow/deny lists so you can shape lifesteal progress everywhere.

Revive Beacon & Beacon Spawn
  • Banned players can be revived when a teammate right-clicks a beacon block with a voucher item. Configure the item, distance, and animation in revive-beacon.yml.

    [​IMG]
    Beacon countdown

    [​IMG]
    Beacon warming-up

    [​IMG]
    Beacon player selection
  • Admins whitelist existing beacon blocks with /lifesteal beacon add, or have the plugin place a tracked beacon with /beacon spawn [world x y z]. Omit coordinates to let the plugin pick a random location within the configured XZ bounding box.
  • The beacon spawn subsystem manages the full lifecycle: placement → optional WorldGuard protection region → optional EzCountdown warm-up timer → AVAILABLE state → expiry removal. Set expiry-minutes: 0 to keep beacons indefinitely.
  • WorldGuard (optional): a protection region is created around each spawned beacon with a configurable radius and flag overrides (deny-build, deny-pvp, deny-mob-damage, deny-explosions). Silently skipped when WorldGuard is absent.
  • EzCountdown (optional): shows warm-up progress via ACTION_BAR, BOSS_BAR, CHAT, TITLE, or SCOREBOARD. Falls back to an internal Bukkit task when absent.
  • When a beacon becomes claimable, the plugin fires a server-wide broadcast, title overlay, particles, and fireworks. Fully configurable under revive-beacon.spawn.availability-event.

Heart Objects
  • Create configurable heart items in `hearts.yml` to represent physical heart objects (custom tier, value, material, texture and optional NBT). These items can be given to players, sold, or consumed to add hearts.
  • Default items are provided in `hearts.yml` inside the plugin jar. Edit `plugins/EzLifesteal/hearts.yml` to add or change objects.
  • Use `/lifesteal giveheart <player> <heartId|tier> [amount]` to grant a player one or more heart objects. If the player's inventory is full the item will drop at their feet.
  • Typical use-cases: optional drops on kill instead of instant heart gain, or natural drops alongside instant gain; heart-based economy and trading; auctioning or gifting rare heart items.

Need support or want a new feature? Join the discussion and tell us what to add next!
Resource Information
Author:
----------
Total Downloads: 218
First Release: Oct 26, 2025
Last Update: May 31, 2026
Category: ---------------
All-Time Rating:
0 ratings
Find more info at ez-plugins.github.io...
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings