This project would not be possible without Darkyenus. He did all the heavy lifting, I have simply updated the plugin for my personal needs.
When a player dies, they will leave behind a soul in the last safe location (outside a lava pool or at the top of a tall cliff) that contains their items and experience. The soul will play sounds as the player approaches to help them locate the exact location of the soul. Upon walking into the soul, the player regains these items and some of the lost experience.
The soul is interactable only to the player who initially died for two hours. After two hours have passed, other players can collect the soul. Alternatively, players can release their souls for their friends to retrieve the items and experience inside immediately.
If the player does not have enough inventory space to carry all items within the soul, the soul will remain so that the player can retrieve the rest of the contents at a later time.
The plugin is highly configurable, and each player's experience can be customized by using permissions. The explanation above applies when utilizing the default configuration file, but many behaviors of the plugin can be changed easily by editing the configuration.
Many aspects of the plugin can be configured. You can view the default configuration here.
# Test gradle to ensure your environment is acceptable.
./gradlew test
# Build plugin jar file; The destination directory for the plugin file will be `<Project Location>\build\libs\`.
./gradlew build
This plugin was designed to be reliable and lightweight. It does not use any non-public APIs. Please report any issues, and I will see what I can remedy.