SoulKeeper

โญ โ€” (7 endorsements) ๐Ÿ“ฅ 1,605 downloads ๐Ÿ“Œ v1.10.0 ๐Ÿ“… 10/26/2024
๐ŸŸก Updated this year

By makeevrserg ยท bukkit

โฌ‡ Download Mod Source: Modrinth โ†— ๐Ÿ“… Updated: 8/24/2026 ๐Ÿ“… Created: 10/26/2024
โš ๏ธ Install Order ยท 2 steps
1๐Ÿ› ๏ธ Forge โ€” Minecraft Forge (mod loader) Download โ†—
2๐Ÿ› ๏ธ Fabric โ€” Fabric Loader Download โ†—

Install in this order, then this mod last โ€” most mods fail to load without their framework and dependencies in place.

๐Ÿ” Analysis

  • ๐Ÿ‘ 0.4% endorsement rate
  • ๐Ÿ† #18 of 19 bukkit mods in this game by downloads

๐Ÿ“‹ About This Mod

โœ… A database failure occurred during a busy session
โœ… A player was rolled back by an external tool
โœ… Items need to be restored from a specific past death

<div align="center"> # ๐Ÿ‘ป SoulKeeper ### Your items survive death. So does your progress. SoulKeeper captures your full inventory and experience into a **glowing soul** the instant you die โ€” persisting through lava, fire, and even the void โ€” and waits quietly at the death spot until you return to claim it. !(https://raw.githubusercontent.com/Astra-Interactive/SoulKeeper/refs/heads/master/media/souls.png) </div> --- ## โœจ Inspiration SoulKeeper is the spiritual successor of (https://github.com/Astra-Interactive/DeadSoulsKT) โ€” rebuilt from scratch with a clean multiplatform architecture, async-first design, and a strong focus on reliability. Where DeadSoulsKT laid the foundation, SoulKeeper brings production-grade persistence, rich visual feedback, and cross-platform support to the same beloved mechanic. --- ## ๐Ÿ’€ How Souls Work ### Creating a soul The moment you die, SoulKeeper silently intercepts the death event before anything hits the ground. Your **entire inventory** and a configurable portion of your **dropped XP** are captured and stored in the database as a soul โ€” nothing is scattered across the floor. A burst of red particles and a resonant bell signal that your soul has been born. The soul appears as a shimmering particle cloud with a floating nameplate โ€” **"Soul of \<Your Name\>"** โ€” right where you fell. > Souls spawned in The End are clamped to a minimum Y so they can never sink into the void. ### Picking up a soul Just **walk close** โ€” no right-click, no shift, no interaction. As soon as you enter the soul's range, it detects you and begins transferring: | Signal | Meaning | |-----------------------------------|-------------------------------------| | ๐Ÿ”ต Cyan dust particles | Soul holds XP | | โšช White dust particles | Soul holds items | | ๐Ÿ”” Beacon ambient sound | Soul is nearby โ€” follow the sound | | ๐ŸŸฃ Purple smoke + anvil sound | Inventory full โ€” items still remain | | โœจ Bright flash + extinguish sound | Soul fully collected and gone | Items flow back inventory-slot by inventory-slot. If your inventory is full, **partial pickup** works: XP is absorbed, whatever fits goes in, and the soul persists with only what remains โ€” no items are ever dropped or lost because of a full bag. ### Soul lifecycle ``` Death โ†’ โ”€โ”€โ”€โ”€ soul_free_after โ”€โ”€โ”€โ”€โ–ถ โ”€โ”€โ”€โ”€ soul_fade_after โ”€โ”€โ”€โ”€โ–ถ โ”‚ โ”‚ Only owner Any player can collect can collect ``` | State | Who can collect | Default timing | |----------------|-----------------|--------------------------------------------| | ๐Ÿ”’ **Private** | Owner only | Immediately after death | | ๐Ÿ”“ **Public** | Any player | After `soul_free_after` (default: 2 days) | | ๐Ÿ’จ **Gone** | โ€” | After `soul_fade_after` (default: 14 days) | Background workers (`FreeSoulWorker`, `DeleteSoulWorker`) run on a configurable tick cadence and advance souls through this lifecycle automatically โ€” no cron jobs, no restarts, no admin action needed. --- ## ๐Ÿ—ƒ๏ธ Krates โ€” Backup Storage Every death also writes a **Krate**: a standalone YAML snapshot of the soul, saved to disk **independently of the database**. ``` plugins/SoulKeeper/ deaths/ <player-uuid>/ <epoch-second>_0.yml โ† first krate <epoch-second>_1.yml โ† second krate (if retry occurred) ... ``` Krates are a last-resort safety net. Even if the SQLite database is lost, corrupted, or rolled back, an admin can restore any dead player's exact inventory from the krate file โ€” **zero database interaction required**. ``` /soulkrate <uuid> <epoch-second> <index> ``` This reads the matching `<epoch>_<index>.yml` krate file and deposits its items directly into the requesting player's inventory. Use it when: - A database failure occurred during a busy session - A player was rolled back by an external tool - Items need to be restored from a specific past death --- ## ๐Ÿš€ Features ### ๐Ÿ”„ Fully non-blocking Every heavy operation โ€” soul creation, pickup detection, database reads/writes, background worker loops โ€” runs on **Kotlin coroutines** dispatched to background threads via `KotlinDispatchers`. The main game thread is never touched for I/O. ### ๐Ÿ›ก๏ธ Safe, explicit failure paths Database operations return `kotlin.Result<T>`. Failures are logged at the call site and skipped gracefully โ€” they never crash the server, silently eat items, or leave souls in a broken state. Concurrent DB writes in `SoulsDaoImpl`, the pickup loop in `PickUpWorker`, and death event handling in `ForgeSoulEvents`/`BukkitSoulEvents` are each guarded by their own `Mutex`. ### ๐Ÿ“ฆ Krate safety net A file-based snapshot is written on every death independently

# ๐Ÿ‘ป SoulKeeper

### Your items survive death. So does your progress.

SoulKeeper captures your full inventory and experience into a glowing soul the instant you die โ€” persisting through lava, fire, and even the void โ€” and waits quietly at the death spot until you return to claim it.

!(https://raw.githubusercontent.com/Astra-Interactive/SoulKeeper/refs/heads/master/media/souls.png)

## โœจ Inspiration

SoulKeeper is the spiritual successor of (https://github.com/Astra-Interactive/DeadSoulsKT) โ€” rebuilt from scratch with a clean multiplatform architecture, async-first design, and a strong focus on reliability. Where DeadSoulsKT laid the foundation, SoulKeeper brings production-grade persistence, rich visual feedback, and cross-platform support to the same beloved mechanic.

## ๐Ÿ’€ How Souls Work

### Creating a soul

The moment you die, SoulKeeper silently intercepts the death event before anything hits the ground. Your entire inventory and a configurable portion of your dropped XP are captured and stored in the database as a soul โ€” nothing is scattered across the floor.

A burst of red particles and a resonant bell signal that your soul has been born. The soul appears as a shimmering particle cloud with a floating nameplate โ€” "Soul of \" โ€” right where you fell.

> Souls spawned in The End are clamped to a minimum Y so they can never sink into the void.

### Picking up a soul

Just walk close โ€” no right-click, no shift, no interaction. As soon as you enter the soul's range, it detects you and begins transferring:

| Signal | Meaning | |-----------------------------------|-------------------------------------| | ๐Ÿ”ต Cyan dust particles | Soul holds XP | | โšช White dust particles | Soul holds items | | ๐Ÿ”” Beacon ambient sound | Soul is nearby โ€” follow the sound | | ๐ŸŸฃ Purple smoke + anvil sound | Inventory full โ€” items still remain | | โœจ Bright flash + extinguish sound | Soul fully collected and gone |

Items flow back inventory-slot by inventory-slot. If your inventory is full, partial pickup works: XP is absorbed, whatever fits goes in, and the soul persists with only what remains โ€” no items are ever dropped or lost because of a full bag.

### Soul lifecycle

``` Death โ†’ โ”€โ”€โ”€โ”€ soul_free_after โ”€โ”€โ”€โ”€โ–ถ โ”€โ”€โ”€โ”€ soul_fade_after โ”€โ”€โ”€โ”€โ–ถ โ”‚ โ”‚ Only owner Any player can collect can collect ```

| State | Who can collect | Default timing | |----------------|-----------------|--------------------------------------------| | ๐Ÿ”’ Private | Owner only | Immediately after death | | ๐Ÿ”“ Public | Any player | After `soul_free_after` (default: 2 days) | | ๐Ÿ’จ Gone | โ€” | After `soul_fade_after` (default: 14 days) |

Background workers (`FreeSoulWorker`, `DeleteSoulWorker`) run on a configurable tick cadence and advance souls through this lifecycle automatically โ€” no cron jobs, no restarts, no admin action needed.

## ๐Ÿ—ƒ๏ธ Krates โ€” Backup Storage

Every death also writes a Krate: a standalone YAML snapshot of the soul, saved to disk independently of the database.

``` plugins/SoulKeeper/ deaths/ / _0.yml โ† first krate _1.yml โ† second krate (if retry occurred) ... ```

Krates are a last-resort safety net. Even if the SQLite database is lost, corrupted, or rolled back, an admin can restore any dead player's exact inventory from the krate file โ€” zero database interaction required.

``` /soulkrate ```

This reads the matching `_.yml` krate file and deposits its items directly into the requesting player's inventory. Use it when:

  • A database failure occurred during a busy session
  • A player was rolled back by an external tool
  • Items need to be restored from a specific past death

## ๐Ÿš€ Features

### ๐Ÿ”„ Fully non-blocking

Every heavy operation โ€” soul creation, pickup detection, database reads/writes, background worker loops โ€” runs on Kotlin coroutines dispatched to background threads via `KotlinDispatchers`. The main game thread is never touched for I/O.

### ๐Ÿ›ก๏ธ Safe, explicit failure paths

Database operations return `kotlin. Result`. Failures are logged at the call site and skipped gracefully โ€” they never crash the server, silently eat items, or leave souls in a broken state. Concurrent DB writes in `SoulsDaoImpl`, the pickup loop in `PickUpWorker`, and death event handling in `ForgeSoulEvents`/`BukkitSoulEvents` are each guarded by their own `Mutex`.

### ๐Ÿ“ฆ Krate safety net

A file-based snapshot is written on every death independently

๐Ÿค– AI-enhanced โ€” based on mod data

๐Ÿ“Š Mod Details

Game
Minecraft Mods
Author
makeevrserg
Version
1.10.0
Downloads
1,605
Endorsements
7
Category
bukkit
Created
10/26/2024
Updated
8/24/2026
Game Versions
1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4

๐Ÿ”ง How to Install Minecraft Mods Mods

Download from Modrinth. Use Prism Launcher or drop into your mods folder.

๐Ÿ“– Full step-by-step install guide for Minecraft Mods โ†’

Visit the official mod page for specific installation instructions for this mod.

๐ŸŽฎ Need cheat codes or console commands? Check ur gaming wiki for Minecraft Mods commands, item IDs, and more.

โ“ Frequently Asked Questions

Which Minecraft Mods versions does SoulKeeper support?

The author lists 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5. Other versions may work but are untested by the author.

What is the latest version of SoulKeeper?

Version 1.10.0, published 2026-08-24 with 1,605 downloads recorded at the source.

Keep browsing โ€” more Minecraft Mods mods await

๐Ÿ“‹ All Minecraft Mods Mods ๐Ÿ† Top 25 ๐Ÿ“‚ More bukkit ๐Ÿ‘ค More by makeevrserg ๐Ÿ”Ž Similar Mods ๐ŸŒ Best bukkit (All Games) ๐Ÿ”€ Check Compatibility โš–๏ธ Compare Mods ๐Ÿ†• New Mods