Life System V4
What's new
# Life System MCPE — Changelog
## v1.0.18
### 🐛 Critical Bug Fixes
- **Fixed revive leaving players stuck floating in the cage.** Root cause: `.isValid()` was being called as a method (`reviver.isValid()`), but the installed `@minecraft/server` API version (2.x) changed `isValid` from a method to a plain property. Every call threw `TypeError: not a function`, which aborted `revivePlayer()` partway through - the player got removed from the ban list but never actually teleported to spawn or set back to Survival. Fixed across all affected files (`revive.js`, `bounty.js`, `reviveMenu.js`).
- **Fixed the whole addon partially failing to start on some game versions.** The `!teamchat` chat-prefix feature (added in v1.0.14) depends on `world.beforeEvents.chatSend`, which isn't available on every version - when it's missing, it now degrades gracefully (falls back to the slash command `/life:teamchat`) instead of throwing at startup. Previously, that crash was silently preventing every registration listed *after* it in `main.js` from ever running - including the Kill Streak Aura, Bounty Beacon, and Grace Period Aura effects from v1.0.17.
- **Startup is now crash-isolated.** Each feature now starts independently - if any one of them fails for any reason, only that feature is skipped (with a warning in the log) instead of it taking down everything that would have started after it.
## v1.0.17
### 🎆 Fancy Visual Effects Pass
Added a full set of particle/title effects across the addon, all built to be lag-safe: everything runs on slow, fixed intervals (never every tick), spawns a small capped number of particles per pulse, and self-clears when it's done rather than running forever.
- **Elimination cinematic** — layered particle burst + a brief expanding ring at the elimination spot, plus a "☠ PlayerName ☠ has been eliminated" title flash for everyone online.
- **Revive effects** — a rising particle pillar at the revived player, on top of the existing orbiting circle around whoever revived them (now with a configurable duration).
- **Kill streak aura** — players on an active kill streak get a small particle aura that escalates in intensity (crit → flame → soul fire) the longer the streak runs.
- **Bounty beacon** — a soft particle column above whoever currently has a bounty on their head, so you can spot them from a distance.
- **Grace period shield aura** — a subtle particle shimmer around a player while their post-revive protection is active.
- **Ban cage shimmer** — a slow ambient particle effect around anyone currently caged.
### ⚙️ New Configuration
- **Visual Effects** — new Life Controller section with a **master ON/OFF switch** (kills every effect above at once) plus an individual toggle for each one, so you can pick and choose or shut everything off instantly if you ever see lag.
- Revive circle duration is now adjustable (previously fixed at 10 seconds).
### 🧹 Housekeeping
- Removed a stray leftover junk file that had ended up in the resource pack from an earlier update.
## v1.0.16
### 🎯 Core Logic Improvement
- **Better kill attribution.** Kills used to only be credited if the death event's direct damage source was a player. Now, if a player dies to something indirect within 5 seconds of being hit (fall damage after a knockback hit, a delayed death from fire/poison, etc.), the life is still correctly credited to whoever actually hit them. Previously these kills could go completely uncredited (no life stolen by anyone).
### ✨ New Features
- **First-join Welcome popup** — new players now see a one-time popup on their very first join explaining the basics (starting lives, key commands). Toggle in Life Controller → Extra Features.
- **"Kick" ban style (alternative to Cage)** — Life Controller → Ban & Respawn Settings now has a **Ban Style: Cage / Kick** toggle. In Kick mode, eliminated players are removed from the server entirely instead of caged as a spectator, and can't rejoin until an admin revives them. Includes a customizable kick message.
- **Respect player's own bed/respawn point (toggleable)** — Ban & Respawn Settings → "Respect Player's Own Bed/Spawn". When on, a revived player is sent to their own bed/respawn anchor if they've set one, instead of always going to the global revive spawn point.
### ⚙️ New Configuration Options (previously hardcoded)
A lot of internal values that used to be fixed in code are now adjustable from the Life Controller:
- **Starting life** for brand-new players (General Settings)
- **Ban cage location & radius** (Ban & Respawn Settings) — the cage's physical structure now automatically rebuilds itself when you change these
- **Grace period duration** in seconds (Extra Features)
- **Kill streak threshold** - how many kills in a row trigger a streak reward (Extra Features)
- **Elimination log size** - how many recent entries are kept (Extra Features)
- **Kick message** text (Ban & Respawn Settings, used by Kick mode)
### 🗂️ Menu Reorganization
- New **"Ban & Respawn Settings"** section in the Life Controller, gathering everything related to elimination/cage/revive/spawn in one place (moved out of General Settings, which was getting crowded).
## v1.0.15
### 🎨 Visual Enhancements
- **Color-coded life HUD** — your life count now changes color based on how much you have left: §a green (healthy) → §e yellow (caution) → §c red (low) → §4 dark red (last life). Works in both heart and text HUD modes.
- **Life Controller menu icons** — the main Life Controller screen (General Settings, Bounty Settings, Extra Features, Elimination Log, Player Stats) now shows an icon next to each option instead of plain text buttons.
### 🐛 Bug Fixes
- Fixed the text HUD mode showing life/max in the wrong order (was displaying as `max/life`, now correctly shows `life/max`).
## v1.0.14
### ✨ New Features
- **`!teamchat <message>` chat shortcut** — type this as a normal chat message (no `/`, no command syntax) to send a fully free-text message to just your team, exactly like vanilla `/msg`. Spaces, punctuation, full sentences — no restrictions at all, since it reads the raw chat text directly instead of going through Minecraft's command-argument parser.
- Example: `!teamchat hello! kaise ho dosto` now works perfectly.
- `/life:team` and `/life:teamchat` (command version) are unchanged and still work as before - this is just an additional, easier option.
## v1.0.13
### 🐛 Bug Fixes
- **Fixed `/life:teamchat` not sending any message at all**, even plain single-word ones with no space/symbol. The previous fix (v1.0.11) turned it into a zero-argument command that only opened a popup - so typing anything after it (`/life:teamchat hello`) made Minecraft reject the whole command as "too many arguments" before the popup ever got a chance to open.
- **Now:** `/life:teamchat hello` sends immediately (fast path for simple messages). Running bare `/life:teamchat` with nothing after it opens the text-box popup instead, which still handles spaces/symbols/anything with zero restrictions.
## v1.0.12
### 🐛 Bug Fixes
- **Fixed unban/revive not fully working.** After `/life:unban` or reviving via the Revive Sign, the player could get stuck in Spectator mode with 0 life (needing a manual `/gamemode s`). Root cause: an unguarded teleport step could silently fail and skip everything after it (gamemode switch + life reset). Every step is now independent, so gamemode and life always get restored even if one step has a hiccup.
- **Fixed the bounty announcement command not existing.** It was registered as `/life:bounty_reveal`, which didn't match the naming pattern of the other two announcement toggles (`/life:elimination_announcement`, `/life:revive_announcement`) — so typing `/life:bounty_announcement` gave an unknown-command error. **Renamed it to `/life:bounty_announcement`** for consistency. (Update any notes/macros still referencing `/life:bounty_reveal`.)
### ✨ New Features
- **"Life After Unban" setting** — Life Controller → General Settings now lets you set exactly how many lives a player has right after being unbanned/revived (default: 1), instead of it always being fixed at 1.
## v1.0.11
### 🐛 Bug Fixes
- **Fixed `/life:unban` not working.** The command was reading part of its data too late (after a one-tick delay), which silently failed every time. It now works reliably.
- **Fixed `/life:teamchat` failing on messages with spaces or symbols** (e.g. `hello world` or `hello!` wouldn't send). Running the command now opens a text box where you can type your full message — spaces, punctuation, anything — and it will send correctly.
### ✨ New Features
- **Team System toggle** — Life Controller → General Settings now has a **Team System ON/OFF** switch. Turning it off disables `/life:team`, `/life:teamchat`, and team nametag coloring instantly. Turning it back on restores everything (your teams aren't deleted).
- **Player Stats tracking** — the addon now tracks, per player:
- Kills, Deaths, K/D Ratio
- Longest kill streak
- Bounties claimed
- First-joined date & last-seen date
- Works even for **offline** players.
- **`/life:stats [player]`** — new command to check your own or another player's stats in chat.
- **Player Stats viewer in Life Controller** — new "Player Stats" button on the main menu lists every known player (🟢 online / ⚪ offline) and shows their full profile card on tap.
- **New sound effects:**
- Ban/elimination now plays a distinct impact sound
- Kill-streak milestones (every 3 kills) play a level-up sound
- Bounty claims play a reward sound for the claimer
- First time dropping to your last life plays a one-time warning sound
- Team chat messages ping your teammates softly
- **New particle effects:**
- Ban/elimination now has a visible particle burst at the cage
- Kill-streak milestones trigger a particle burst on the player
### 🔧 Internal
- Fixed a data bug where player stats could silently get wiped whenever life changed (registry now merges data instead of overwriting it).
- Version bumped to 1.0.11 (BP + RP).
---
*No i
tem, command, or setting names/descriptions were changed in this update — only bug fixes and additive features.*
This mod has no additional files

