Simple plugin to prevent losing items and XP on death to item despawn, fire, lava, etc. by storing everything into a soul, which can be collected later. This solution is superior to graveyard chests, because it does not modify the world in any way, holds unlimited amount of items and can store XP as well.
The plugin uses only the official Spigot API and should work flawlessly on all Spigot server versions from 1.14 and up (and 1.13, if you tweak the configuration file). When a new version of Spigot comes out, you can safely assume that it works - let me know if it doesn't and I will fix it within a few days.
How to use
- Die (preferably only in-game)
- Go where you died, you will find a soul with all your items and most of your XP (90% by default, configurable)
- Soul is collected automatically by walking over it
- Souls make sounds, so it is easier to find them
- In the first hour (configurable), only you can see/hear the soul and collect its items, after then anybody can
- If you want your friends to take it instead, you can release your soul by clicking the button sent in the chat
- Spectators see all souls (controlled by the com.darkyen.minecraft.deadsouls.spectatesouls permission, given to all by default)
- If you don't have enough space in your inventory, you will collect only what you can carry. You can return for the rest later.
- The soul will never disappear (configurable)
The plugin has been designed to be reliable and lightweight. It does not use any non-public API.
There is only one command,
/souls, which lists all the souls owned by the command sender, allows him/her to free them and to teleport to them - if he/she has the appropriate permission. The command is only available due to popular demand and for debugging, it is not in any way necessary to use it. I personally would recommend against using it for better immersion.
/souls reload subcommand can be used to reload the plugin, but its use is not supported and should be never done on a live server.
The main permission is
com.darkyen.minecraft.deadsouls.hassoul and controls whether players drop souls (default behavior is kept otherwise). Additional permissions are:
com.darkyen.minecraft.deadsouls.hassoul.xp and
com.darkyen.minecraft.deadsouls.hassoul.items, which control whether the soul will contain xp and items respectively. When the player lacks these permissions, xp/items keep their default behavior.
Then there is com.darkyen.minecraft.deadsouls.souls which controls the access to
/souls command soul listing (on by default),
com.darkyen.minecraft.deadsouls.souls.free to allow the freeing of souls (applies to both `/soul` command and to the button sent after death) (on by default) and
com.darkyen.minecraft.deadsouls.souls.goto to allow teleporting to souls (on for OPs by default). These three permissions also have variants with `.all` suffix, which then allows the player to manipulate souls of all players/free souls, not only those owned by the player himself/herself (on for OPs by default).
Players with (non-default) permission
com.darkyen.minecraft.deadsouls.coordinates can see the coordinates of their soul on death and in the
/souls listing. Use of this permission is discouraged, as the coordinates break immersion and degrade the overall experience. Since version 1.6 there is also (non-default) permission
com.darkyen.minecraft.deadsouls.distance to show only the distance to the soul, which can serve as a less immersion-breaking compromise.
Support
If anything goes wrong:
- Check that the problem happens even without any other plugins and/or mods. This plugin attempts to be as unassuming as possible, but conflicts can still happen.
- If you can pinpoint exactly which plugin causes the problem, I might be able to fix it. If you are a plugin developer, and this plugin conflicts with yours, I'll be happy to collaborate on a fix.
- Check that you are using a supported Spigot version
- Only vanilla Spigot 1.13 and up is supported, if you can't reproduce there, the bug is probably in your server
- For Minecraft 1.13 read config.yml generated on the first startup carefully - you will need to modify it for sounds to work properly
- Contact me via a conversation with following information:
- What did you do
- What did you expect to happen
- What did happen instead
- Full server logs from the start of the server (feel free to anonymize them/remove chat messages). I will not be able to help/fix anything unless I can see the logs. You may also want to submit your soul-db.bin file.
If you have a GitHub account, open an issue/PR directly on GitHub.
Feature requests
Feel free to include your feature requests in your reviews. I read them and include those that I like, but I can't promise that I'll do any - I work on this in my spare time after all. Though
I will fix any bugs that are reasonably fixable (and not caused by other plugins).
I will generally not do features aimed specifically at providing paid/VIP advantages - the plugin is free, so everybody should be able to enjoy it for free as well. You may do the modifications yourself, the source is available.
I will not backport the plugin to older Spigot/Minecraft versions.
Holding review scores hostage for your feature request makes me
less likely to implement it. A good score, however, does not make it more likely. Just be honest and provide constructive feedback.
Video showcase
Known compatible plugins
This plugin should be compatible with all plugins that don't do anything special with items on death. This is a list of plugins that do that, but are known to work with the last version of De
ad Souls anyway.