DeathChests
DeathChests
This plugin is similar to the Death-System of Diablo 2 (and many other RPG games). If you die it will put down a chest at your feet and your whole inventory gets stored in this chest. But this only works if you have enough chests in your inventory (or if you have certain permissions).
This chest is also saved against every player-based attack. So nobody could loot you while you're walking back to your death point. And also the chest doesn't despawn after time.
Features:
- Drop a chest upon death if you have one in your inventory and save your inventory from being destroyed
- Your chest gets signed with your name if there is space for a sign (either on the side or on the top)
- Shift (Sneak) + click the DeathChest to easily reeqiup your inventory
- Protect your items from griefers and other hazards. Nobody can steal your stuff while you're dead.
- Chest gets unlocked after a defineable time (prevent with per player permissions)
- After unlocking the chest you can define a time after this the chest automaticaly gets destroyed (spills content on ground)
Usage:
Just give yourself the permission deathchest.use and carry a chest around to save your items upon death.
Permissions:
Permission Node | Default | Description |
---|---|---|
deathchest.admin | op | Allows access to the /deathchest command |
deathchest.breakothers | false | Allows to loot or break the DeathChest of others |
deathchest.use | true | Allows the usage of DeathChests |
deathchest.use.free | false | You don't need to carry chests with you to use this plugin |
deathchest.use.sign | true | Puts a name-sign on your DeathChest if possible |
deathchest.use.pvp | true | If this is set, players will also drop a DeathChest if they are killed by a player |
deathchest.use.xp | true | If this permission is set, the XP will also be saved (if set in config) |
deathchest.use.noTimeout | op | Removes the Timeout-feature for a specific permission-group if set |
deathchest.compass | true | Allows the usage of the /dc compass command |
Commands:
For every command you need the deathchest.admin permision-node! The main command is "/deathchest", but you can also use "/dc". In the table below there are only the first arguments listed, that defines the command. /deathchest <subcommand> [argument1, ...]
Subcommand | Aliases | Arguments | Description |
---|---|---|---|
reload | Reloads the configuration of the plugin | ||
info | version | Show information about the plugin version | |
clear | [playername] | Clears the DeathChest-Dictionary (removes protection and Sneak+Click-Support) If there is a playername provided it only removes the chests of this player | |
compass | Points your compass to one (the first not picked up) of your DeathChests |
Configuration:
This describes the content of the config.yml:
YML-Node | Default | Description |
---|---|---|
general.autosavePeriod | 900 | This defines the period (in seconds) when the DeathChest-Dictionary gets autosaved |
general.timeout | 900 | The timeout period in seconds. After this period, the chest is accessable to everyone |
general.pickupEmpty | false | If set to true, DeathChests will be picked up as soon as they are emptied (after a defineable Timeout) |
general.emptyTimeout | 5 | Time in seconds. After this duration the chests will be automatically put into the players inventory |
general.saveXP | true | This must be set or the save-Xp-function won't work |
general.saveXPRation | 0.75 | Percentage of the experience level that will be kept upon death |
general.fullVanish | 3600 | Time in seconds. After this amount of time AFTER the lock timeout the chest gets destroyed (0 disables this feature) |
Additional Information:
Please tell me any bugs you find and every feature you miss!
Planed feature:
- Define how many gold you loose upon death
- Addition: Gold needed for a deathchest
Also save your XP-Points inside the chest (Release them at picking up the chest)Command to let your compass point to your chest
Frequently reported errors:
If you get an error like:
java.lang.UnsupportedClassVersionError: ... : Unsupported major.minor version 51.0
Update your Java to 1.7 your are using 1.6 or lower!
@Uberx3412
Stop the server.
Extract it to the plugins folder on the server.
Start the server.
Use Death Chests.
Stop and start the server.
Play as normal, but always carry a chest on you.
How to i install this mod?
@_Belkar_
Sorry, Tekkit 3.1.2.
Yup, that is the whole stacktrace. Not sure why it's happening to be honest.
I mentioned the energy condenser as I was getting errors opening chests and such before I restarted the server after installing the plugin.
It's certainly odd, because as you said it doesn't mention your plugin at all. Hmm... I'll try breaking other chests not spawned by your plugin to see if they do the same.
Edit: Okay, breaking any chest is fine. Even ones placed by the plugin. It seems to now only happen when I break the sign before the chest. When I rejoin the server the sign is gone and I can break the chest without issue.
Edit 2: All breaking done with just my fists.
@Zesuna
Is this the whole stacktrace??? (Error Message) There is not a single class/methode call in the error message related to my plugin. I suppose you mean Tekkit 3.1.2.
... Wait, why did you mentioned the energy condenser?
EDIT: sorry about me not answering to the other error messages but I have absolutly no clue why this error happens (do you remove the chest with something other than breaking). Also most of my free time is currently consumed by school-things
Works great! : )
Using the latest version of the plugin and Tekkit. No other errors in loading the plugin or opening chests or even the energy condenser.
I was getting the BlockDamageEvent, BlockBreakEvent and PlayerInteractEvent error messages. Resolved by restarting the server after having died at least once to make sure it was working. But after that I got the below error message and was disconnected from the server, with the message "internal server error". It doesn't seem to matter which I break first - the sign or the chest - sometimes it works, others it doesn't...
Edit: forgot to say I'm only using my fists to break them.
[WARNING] Failed to handle packet: java.lang.NullPointerException java.lang.NullPointerException at net.minecraft.server.ItemInWorldManager.breakBlock(ItemInWorldManager.java:249) at net.minecraft.server.ItemInWorldManager.a(ItemInWorldManager.java:179) at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:548) at net.minecraft.server.Packet14BlockDig.handle(SourceFile:43) at net.minecraft.server.NetworkManager.b(NetworkManager.java:234) at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:119) at net.minecraft.server.NetworkListenThread.a(NetworkListenThread.java:83) at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:579) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:467) at net.minecraft.server.ThreadServerApplication.run(SourceFile:492)
@Melonking I am also having this problem
- Also when the girls I've given this to fall in the lava it doesn't save their shit... Can you fix that please.
Edited format
@_Belkar_
Im getting this error every time my server starts up, craftbukkit 2352
@AcidSikeO
Interessting... Are you using Tekkit? Or did you/some one other break the chest before? It looks like the chest wants to vanish but somehow the chest isn't there anymore (therefore it is impossible for Bukkit to get the Inventory).
It could be that some mod weapon with special ability (like the EE2 Red Matter Hammer) destroyed the chest without calling the BlockBreakEvent.
Edit: I don't think this error/bug is severe. So just ignore this log message (But please report again if it comes more frequent)
I am using version 1.2.2 and getting the following error. Other than this, I haven't had any complaints from my players.
@tdbruce34
Thanks for the positiv feedback. ;-)
The "Fixed reload after vanish timer started" bug fix is releated to the DeathChests 1.2.1 (I have marked this Version as Beta because of that) update where I forgot to check if the lock timeout has already been ran out which lead to a delayed task with an negativ amount of ticks delay (The lock/vanish timeout wasn't initialised in this case).
EDIT: In my opinion you should update since this bug may cause corruption to the DeathChest Database (I miss understood your question, I thought 1.2.1 is your MC version)
One of my favorite plugins and one of the few authors you can actually get a response from in a timely manner.
Using 1.2.1 at the moment and it seems to be working flawlessly. I've had 0 startup errors and nobody has complained about not getting their items or XP back after death. Maybe they're learning not to die, not sure which it is :P
I figure since 1.2.1 is working and isn't broke for me I won't fix it. But does "Fixed reload after vanish timer started" have a big impact on things? My server is set up to restart every morning at 6AM after it creates a backup. Think I should just leave it as is for the time being?
In case anyone is wondering this works with Death Certificate.
http://dev.bukkit.org/server-mods/death-certificate/
Puts the book in the chests. :)
@_Belkar_
I actually am running Jre7x64, but it was my host that wasn't my bad for missing the fine print.
@LiLChris06
Please read the last paragraph of the Plugin Description. You are using Java 1.6 (or lower) update to Java 1.7
@_Belkar_
Thanks for adding the timer but still can't use it. :(
I just uploaded a new version. It fixes the first startup bug and another bug I wonder nobody has ever reported it. Try to reload your server while there is an active DeathChest somewhere. This is the bug I mean ;).
Also I added a function so that the chest vanishes after some time (after the lock timeout). Checkout the config file.
@MrTwisT007
It's already implemented. But you need to Sneak and click. (Or you could also read the plugin description)
@Melonking
Well I expected someone to post this error. It's a small bug. Reload/Restart your server and there error should go away. It occurs on the first startup and I forget to create the deathchest database. Will be fully fixed in the next update.
Getting a different error at startup with java 7..
2012-09-01 15:31:54 [SEVERE] Could not pass event BlockDamageEvent to DeathChests
org.bukkit.event.EventException
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:332)
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62)
at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:477)
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:462)
at org.bukkit.craftbukkit.event.CraftEventFactory.callBlockDamageEvent(CraftEventFactory.java:213)
at net.minecraft.server.ItemInWorldManager.dig(ItemInWorldManager.java:163)
at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:547)
at net.minecraftserverhook.NetServerHandlerProxy.a(NetServerHandlerProxy.java:88)
at net.minecraft.server.Packet14BlockDig.handle(SourceFile:46)
at net.minecraft.server.NetworkManager.b(NetworkManager.java:276)
at net.minecraft.server.NetServerHandler.d(NetServerHandler.java:109)
at net.minecraft.server.ServerConnection.b(SourceFile:35)
at net.minecraft.server.DedicatedServerConnection.b(SourceFile:30)
at net.minecraft.server.MinecraftServer.q(MinecraftServer.java:578)
at net.minecraft.server.DedicatedServer.q(DedicatedServer.java:213)
at net.minecraft.server.MinecraftServer.p(MinecraftServer.java:474)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:406)
at net.minecraft.server.ThreadServerApplication.run(SourceFile:539)
Caused by: java.lang.NullPointerException
at com.Belkar.DeathChests.DeathChests.getDeathChestAt(DeathChests.java:535)
at com.Belkar.DeathChests.DeathChestEventListener.onBlockDamage(DeathChestEventListener.java:145)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:330)
... 17 more
Cenotaph had a really nice feature of right clicking the sign to quickloot the chest. Can you add that feature?
It was working at first, but now it doesn't seem to be. I haven't changed anything since I installed the new deathchest. It may be an incompatibility with one of my other plugins, but I pm'd you the log piece so I wouldn't flood the comments. I also have my log saved if it's ever needed.
I guess what happened was it worked for one of my mods one day, and then a couple days after it wasn't working for him. I re-installed it to see if it'd change anything and now it's giving me the errors upon deathchest retrieval attempts.