SavageDeathChest
Description:
This plugin stores a player's inventory in a chest on death for later retrieval. It has many options, but configuration and use has been kept as simple as possible.
Features:
- Places a single or double chest at player's death location containing the player's inventory
- Optional sign placement on chest, showing player name and death date
- Configurable list of block types that chests can replace
- WorldGuard, GriefPrevention, PreciousStones and Towny aware, will not place a chest where the player does not have access. Enabled individually.
- Option to check protection plugins on chest access. Enabled individually, disabled by default.
- added WorldGuard 7.0 compatibility.
- Searches a configurable distance from death location to find a suitable chest location
- Optionally require players to have chest(s) in inventory
- Chest protection allows only owners access. Also makes chests explosion proof!
- Optionally allow player's killer to access their chest, for pvp looting.
- Prevent concurrent access to chests when killer looting is enabled.
- Optional quick-loot feature allows one click (sneak-punch) chest looting
- Configurable expiration time for death chests, at which point they will break and drop their contents
- Custom messages and language localization
- Per world enabled in configuration
- Uses sqlite for persistent storage
- Prevents creative mode players from opening death chests
- Optionally prevent players from placing items in death chests
- Optional sound effects!
- A perfect compliment to SavageDeathCompass and SavageGraveyards
Permissions:
Permission | Description | Default |
---|---|---|
deathchest.player |
Default player permissions | true |
deathchest.chest |
Enable death chests for player. | true |
deathchest.loot |
Allows player to quick-loot death chests by sneak-punching. | true |
deathchest.doublechest |
Allows placement of double chests if necessary. | true |
deathchest.admin |
Default administrator permissions | op |
deathchest.freechest |
Overrides require-chest configuration setting. |
op |
deathchest.creative-access |
Overrides creative mode chest opening restriction. | op |
deathchest.loot.other |
Allow player to loot other player's chests. | op |
deathchest.reload |
Allows use of plugin reload command. | op |
deathchest.list |
Allows a user to view a list of their death chests and locations. | op |
deathchest.list.other |
Allows a user to view a list of other players death chests and locations. | op |
Commands:
/deathchest list [username]
Displays a list of player's death chest locations. Requires deathchest.list permission. If a player has permission deathchest.list.other, they can supply a username to list another player's deathchests, or type an asterisk (*) to list all deathchests.
/deathchest reload
Reloads configuration file and messages. Requires deathchest.reload permission, which is child node of deathchest.admin.
/deathchest status
Displays version info and some config settings. Requires deathchest.status permission, which is child node of deathchest.admin.
/deathchest help [command]
Displays a brief help message and command usage.
Installation
Put the jar in your plugins folder and restart your server. Edit the generated configuration file to your liking, then reload the plugin settings with the /deathchest reload
command. No server restart necessary!
Configuration
All configuration changes can be made without needing to restart your server. Just issue the reload command when you are satisfied with your settings in config.yml.
Source
Source code for this plugin is hosted on github and distributed under the GPLv3 license.
https://github.com/tim-savage/SavageDeathChest
@timsavage
The duplication bug is fixed with your new version! Thanks for fixing it and thanks for this amazing plugin. :)
I do have some suggestions (more feature requests) :P
- Limit the amount of death chests a player can have at one time. currently they can spam death chests.
- Able to customize the message placed onto the death chest in the config file.
A new version for 1.9 servers has been uploaded that (hopefully) addresses the issues reported below. Please give it a try when it becomes available, and report back if the issue is resolved.
@Sonic5317
Thanks for that info, Sonic. That definitely helps to narrow it down, and eliminate the possibility that it's a conflict with Essentials.
I've got a pretty good idea of what the issue is now, so expect an updated version in the next day or two.
@dem222
This appears to be the source of your issue as well, so try the next version when it is released.
@timsavage
Tried only running your plugin still have the same problem, running latest spigot, no essentials, and I do already have the latest version of essentials.
As for operating system i'm running Windows 10, and the storage method is sqlite (default)
Here is a log without essentials: [01:32:34] [Server thread/INFO]: Sonic5317 issued server command: /kill Sonic5317 [01:32:34] [Server thread/ERROR]: Could not pass event PlayerDeathEvent to SavageDeathChest v1.6.1 org.bukkit.event.EventException at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:310) [spigot-1.9.jar:git-Spigot-3104eb1-daf4514] at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) [spigot-1.9.jar:git-Spigot-3104eb1-daf4514] at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:502) [spigot-1.9.jar:git-Spigot-3104eb1-daf4514] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:487) [spigot-1.9.jar:git-Spigot-3104eb1-daf4514] at org.bukkit.craftbukkit.v1_9_R1.event.CraftEventFactory.callPlayerDeathEvent(CraftEventFactory.java:396) [spigot-1.9.jar:git-Spigot-3104eb1-daf4514] at net.minecraft.server.v1_9_R1.EntityPlayer.die(EntityPlayer.java:422) [spigot-1.9.jar:git-Spigot-3104eb1-daf4514] at net.minecraft.server.v1_9_R1.EntityLiving.damageEntity(EntityLiving.java:891) [spigot-1.9.jar:git-Spigot-3104eb1-daf4514] at net.minecraft.server.v1_9_R1.EntityHuman.damageEntity(EntityHuman.java:762) [spigot-1.9.jar:git-Spigot-3104eb1-daf4514] at net.minecraft.server.v1_9_R1.EntityPlayer.damageEntity(EntityPlayer.java:513) [spigot-1.9.jar:git-Spigot-3104eb1-daf4514] at net.minecraft.server.v1_9_R1.EntityLiving.Q(EntityLiving.java:115) [spigot-1.9.jar:git-Spigot-3104eb1-daf4514] at net.minecraft.server.v1_9_R1.CommandKill.execute(SourceFile:41) [spigot-1.9.jar:git-Spigot-3104eb1-daf4514] at org.bukkit.craftbukkit.v1_9_R1.command.VanillaCommandWrapper.dispatchVanillaCommand(VanillaCommandWrapper.java:108) [spigot-1.9.jar:git-Spigot-3104eb1-daf4514] at org.bukkit.craftbukkit.v1_9_R1.command.VanillaCommandWrapper.execute(VanillaCommandWrapper.java:43) [spigot-1.9.jar:git-Spigot-3104eb1-daf4514] at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:141) [spigot-1.9.jar:git-Spigot-3104eb1-daf4514] at org.bukkit.craftbukkit.v1_9_R1.CraftServer.dispatchCommand(CraftServer.java:645) [spigot-1.9.jar:git-Spigot-3104eb1-daf4514] at net.minecraft.server.v1_9_R1.PlayerConnection.handleCommand(PlayerConnection.java:1342) [spigot-1.9.jar:git-Spigot-3104eb1-daf4514] at net.minecraft.server.v1_9_R1.PlayerConnection.a(PlayerConnection.java:1177) [spigot-1.9.jar:git-Spigot-3104eb1-daf4514] at net.minecraft.server.v1_9_R1.PacketPlayInChat.a(PacketPlayInChat.java:45) [spigot-1.9.jar:git-Spigot-3104eb1-daf4514] at net.minecraft.server.v1_9_R1.PacketPlayInChat.a(PacketPlayInChat.java:1) [spigot-1.9.jar:git-Spigot-3104eb1-daf4514] at net.minecraft.server.v1_9_R1.PlayerConnectionUtils$1.run(SourceFile:13) [spigot-1.9.jar:git-Spigot-3104eb1-daf4514] at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.8.0_73] at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_73] at net.minecraft.server.v1_9_R1.SystemUtils.a(SourceFile:45) [spigot-1.9.jar:git-Spigot-3104eb1-daf4514] at net.minecraft.server.v1_9_R1.MinecraftServer.D(MinecraftServer.java:721) [spigot-1.9.jar:git-Spigot-3104eb1-daf4514] at net.minecraft.server.v1_9_R1.DedicatedServer.D(DedicatedServer.java:400) [spigot-1.9.jar:git-Spigot-3104eb1-daf4514] at net.minecraft.server.v1_9_R1.MinecraftServer.C(MinecraftServer.java:660) [spigot-1.9.jar:git-Spigot-3104eb1-daf4514] at net.minecraft.server.v1_9_R1.MinecraftServer.run(MinecraftServer.java:559) [spigot-1.9.jar:git-Spigot-3104eb1-daf4514] at java.lang.Thread.run(Unknown Source) [?:1.8.0_73] Caused by: java.lang.NullPointerException at java.io.Reader.<init>(Unknown Source) [?:1.8.0_73] at java.io.InputStreamReader.<init>(Unknown Source) [?:1.8.0_73] at com.winterhaven_mc.deathchest.ConfigAccessor.reloadConfig(ConfigAccessor.java:57) [?:?] at com.winterhaven_mc.deathchest.ConfigAccessor.getConfig(ConfigAccessor.java:66) [?:?] at com.winterhaven_mc.deathchest.MessageManager.sendPlayerMessage(MessageManager.java:73) [?:?] at com.winterhaven_mc.deathchest.MessageManager.sendPlayerMessage(MessageManager.java:61) [?:?] at com.winterhaven_mc.deathchest.ChestManager.deploySingleChest(ChestManager.java:420) [?:?] at com.winterhaven_mc.deathchest.ChestManager.deployChest(ChestManager.java:320) [?:?] at com.winterhaven_mc.deathchest.PlayerEventListener.onPlayerDeath(PlayerEventListener.java:72) [?:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [?:1.8.0_73] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) [?:1.8.0_73] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) [?:1.8.0_73] at java.lang.reflect.Method.invoke(Unknown Source) [?:1.8.0_73] at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:306) [spigot-1.9.jar:git-Spigot-3104eb1-daf4514] ... 27 more [01:32:34] [Server thread/INFO]: Sonic5317 fell out of the world [01:32:34] [Server thread/INFO]: [Sonic5317: Killed Sonic5317]
@Sonic5317
Well, your log output shows that you are still running Essentials. Can you try it with only the death chest plugin, and see what happens? You can issue the built in /kill command from the console, or kill your player using some in game method.
Also be sure you are running the very latest spigot provided Essentials from their Jenkins server. The latest is build #13 from about a week ago.
Finally, what operating system is your server running? Linux, Windows, or something else?
Edit: One more question. Are you using yaml or sqlite for the storage method in the deathchest plugin config?
@dem222
Seems to be the same problem I'm having, does this only happen the first time after your server starts up?
Hi i get some error when i used /kill. when i died i drop my items and this same items was insert to chest
@timsavage
Thanks for looking into it, will try running without other plugins and see where the compatibility problem is!
EDIT: Started a clean server running nothing but this plugin and the problem still exists, running java 8 x64 if that helps, heres another copy of the issue.
[01:56:23] [Server thread/INFO]: Sonic5317 issued server command: /suicide [01:56:23] [Server thread/ERROR]: Could not pass event PlayerDeathEvent to SavageDeathChest v1.6.1 org.bukkit.event.EventException at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:310) [spigot-1.9.jar:git-Spigot-f32adba-bf43ca6] at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) [spigot-1.9.jar:git-Spigot-f32adba-bf43ca6] at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:502) [spigot-1.9.jar:git-Spigot-f32adba-bf43ca6] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:487) [spigot-1.9.jar:git-Spigot-f32adba-bf43ca6] at org.bukkit.craftbukkit.v1_9_R1.event.CraftEventFactory.callPlayerDeathEvent(CraftEventFactory.java:396) [spigot-1.9.jar:git-Spigot-f32adba-bf43ca6] at net.minecraft.server.v1_9_R1.EntityPlayer.die(EntityPlayer.java:422) [spigot-1.9.jar:git-Spigot-f32adba-bf43ca6] at net.minecraft.server.v1_9_R1.EntityLiving.damageEntity(EntityLiving.java:890) [spigot-1.9.jar:git-Spigot-f32adba-bf43ca6] at net.minecraft.server.v1_9_R1.EntityHuman.damageEntity(EntityHuman.java:762) [spigot-1.9.jar:git-Spigot-f32adba-bf43ca6] at net.minecraft.server.v1_9_R1.EntityPlayer.damageEntity(EntityPlayer.java:513) [spigot-1.9.jar:git-Spigot-f32adba-bf43ca6] at org.bukkit.craftbukkit.v1_9_R1.entity.CraftLivingEntity.damage(CraftLivingEntity.java:231) [spigot-1.9.jar:git-Spigot-f32adba-bf43ca6] at org.bukkit.craftbukkit.v1_9_R1.entity.CraftLivingEntity.damage(CraftLivingEntity.java:219) [spigot-1.9.jar:git-Spigot-f32adba-bf43ca6] at com.earth2me.essentials.commands.Commandsuicide.run(Commandsuicide.java:21) [Essentials-2.x-SNAPSHOT.jar:?] at com.earth2me.essentials.commands.EssentialsCommand.run(EssentialsCommand.java:180) [Essentials-2.x-SNAPSHOT.jar:?] at com.earth2me.essentials.Essentials.onCommandEssentials(Essentials.java:527) [Essentials-2.x-SNAPSHOT.jar:?] at com.earth2me.essentials.Essentials.onCommand(Essentials.java:402) [Essentials-2.x-SNAPSHOT.jar:?] at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) [spigot-1.9.jar:git-Spigot-f32adba-bf43ca6] at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:141) [spigot-1.9.jar:git-Spigot-f32adba-bf43ca6] at org.bukkit.craftbukkit.v1_9_R1.CraftServer.dispatchCommand(CraftServer.java:645) [spigot-1.9.jar:git-Spigot-f32adba-bf43ca6] at net.minecraft.server.v1_9_R1.PlayerConnection.handleCommand(PlayerConnection.java:1342) [spigot-1.9.jar:git-Spigot-f32adba-bf43ca6] at net.minecraft.server.v1_9_R1.PlayerConnection.a(PlayerConnection.java:1177) [spigot-1.9.jar:git-Spigot-f32adba-bf43ca6] at net.minecraft.server.v1_9_R1.PacketPlayInChat.a(PacketPlayInChat.java:45) [spigot-1.9.jar:git-Spigot-f32adba-bf43ca6] at net.minecraft.server.v1_9_R1.PacketPlayInChat.a(PacketPlayInChat.java:1) [spigot-1.9.jar:git-Spigot-f32adba-bf43ca6] at net.minecraft.server.v1_9_R1.PlayerConnectionUtils$1.run(SourceFile:13) [spigot-1.9.jar:git-Spigot-f32adba-bf43ca6] at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.8.0_73] at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_73] at net.minecraft.server.v1_9_R1.SystemUtils.a(SourceFile:45) [spigot-1.9.jar:git-Spigot-f32adba-bf43ca6] at net.minecraft.server.v1_9_R1.MinecraftServer.D(MinecraftServer.java:721) [spigot-1.9.jar:git-Spigot-f32adba-bf43ca6] at net.minecraft.server.v1_9_R1.DedicatedServer.D(DedicatedServer.java:400) [spigot-1.9.jar:git-Spigot-f32adba-bf43ca6] at net.minecraft.server.v1_9_R1.MinecraftServer.C(MinecraftServer.java:660) [spigot-1.9.jar:git-Spigot-f32adba-bf43ca6] at net.minecraft.server.v1_9_R1.MinecraftServer.run(MinecraftServer.java:559) [spigot-1.9.jar:git-Spigot-f32adba-bf43ca6] at java.lang.Thread.run(Unknown Source) [?:1.8.0_73] Caused by: java.lang.NullPointerException at java.io.Reader.<init>(Unknown Source) [?:1.8.0_73] at java.io.InputStreamReader.<init>(Unknown Source) [?:1.8.0_73] at com.winterhaven_mc.deathchest.ConfigAccessor.reloadConfig(ConfigAccessor.java:57) [?:?] at com.winterhaven_mc.deathchest.ConfigAccessor.getConfig(ConfigAccessor.java:66) [?:?] at com.winterhaven_mc.deathchest.MessageManager.sendPlayerMessage(MessageManager.java:73) [?:?] at com.winterhaven_mc.deathchest.MessageManager.sendPlayerMessage(MessageManager.java:61) [?:?] at com.winterhaven_mc.deathchest.ChestManager.deploySingleChest(ChestManager.java:420) [?:?] at com.winterhaven_mc.deathchest.ChestManager.deployChest(ChestManager.java:320) [?:?] at com.winterhaven_mc.deathchest.PlayerEventListener.onPlayerDeath(PlayerEventListener.java:72) [?:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [?:1.8.0_73] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) [?:1.8.0_73] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) [?:1.8.0_73] at java.lang.reflect.Method.invoke(Unknown Source) [?:1.8.0_73] at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:306) [spigot-1.9.jar:git-Spigot-f32adba-bf43ca6] ... 30 more [01:56:23] [Server thread/INFO]: Sonic5317 died
@TheIntelloBox
Well, if everything is functioning correctly, that means that you had nothing in your player inventory when you died, and so there was no reason to place a death chest.
@Sonic5317
Ok, I'm going to look into this. Also make sure that you are using the most up to date versions of spigot possible, as well as essentials. There is a new version of essentials for spigot 1.9 on the official spigot jenkins server, the same place you download buildtools.jar.
The plugin is built using oracle java 6, although my test server runs 8, so any java version within that range should be fine, at least in theory.
Update: I just tried using the /kill command on my test server, and everything is working correctly. (I habitually use the /suicide command when testing, so I thought they problem might only occur with the /kill command.)
What is "You had no inventory to place in a Death Chest" please ?
The first death duplication bug still exists on 1.6.1 :(
@SmallSansSerif
1.6.1 is on it's way! I took a little extra time to tweak the placement when a chest is deployed on grass path blocks. This will prevent the path from being changed into dirt, which happens when a block is placed on top of it. This will also keep the sign from being knocked off the chest, which was due to a slight height difference between dirt blocks and grass path blocks. The chest was being moved slightly when the block replacement occurred, which then caused the sign to fall off.
The only drawback is that chests will sometimes be placed floating above the path, but that should hopefully be a rare occurrence, and I took steps to mitigate it by only allowing chests to be placed at least 2 blocks above the path, so a more suitable location off to the side is more likely to be found first.
@timsavage
Looks like the new 1.9 version is not posted yet. 1.6.1?
Lots of bugs! I'm working on updates to both versions, and will upload when they are ready.
Seem to be getting this error the only first time I die after server loads up, it causes the death chest to appear normally with items inside but also drops the items on the floor causing it to duplicate the items, maybe look into it?
Error: 22:58:05 [INFO] Sonic5317 issued server command: /kill Sonic5317 22:58:05 [ERROR] Could not pass event PlayerDeathEvent to SavageDeathChest v1.6 22:58:05 org.bukkit.event.EventException 22:58:05 at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:310) [spigot-1.9.jar:git-Spigot-bc01c3a-55b0def] 22:58:06 at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) [spigot-1.9.jar:git-Spigot-bc01c3a-55b0def] 22:58:06 at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:502) [spigot-1.9.jar:git-Spigot-bc01c3a-55b0def] 22:58:06 at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:487) [spigot-1.9.jar:git-Spigot-bc01c3a-55b0def] 22:58:06 at org.bukkit.craftbukkit.v1_9_R1.event.CraftEventFactory.callPlayerDeathEvent(CraftEventFactory.java:396) [spigot-1.9.jar:git-Spigot-bc01c3a-55b0def] 22:58:06 at net.minecraft.server.v1_9_R1.EntityPlayer.die(EntityPlayer.java:422) [spigot-1.9.jar:git-Spigot-bc01c3a-55b0def] 22:58:06 at net.minecraft.server.v1_9_R1.EntityLiving.damageEntity(EntityLiving.java:890) [spigot-1.9.jar:git-Spigot-bc01c3a-55b0def] 22:58:06 at net.minecraft.server.v1_9_R1.EntityHuman.damageEntity(EntityHuman.java:762) [spigot-1.9.jar:git-Spigot-bc01c3a-55b0def] 22:58:06 at net.minecraft.server.v1_9_R1.EntityPlayer.damageEntity(EntityPlayer.java:513) [spigot-1.9.jar:git-Spigot-bc01c3a-55b0def] 22:58:06 at org.bukkit.craftbukkit.v1_9_R1.entity.CraftLivingEntity.damage(CraftLivingEntity.java:231) [spigot-1.9.jar:git-Spigot-bc01c3a-55b0def] 22:58:06 at org.bukkit.craftbukkit.v1_9_R1.entity.CraftLivingEntity.damage(CraftLivingEntity.java:219) [spigot-1.9.jar:git-Spigot-bc01c3a-55b0def] 22:58:06 at com.earth2me.essentials.commands.Commandkill.updatePlayer(Commandkill.java:43) [Essentials-2.x-SNAPSHOT.jar:?] 22:58:06 at com.earth2me.essentials.commands.EssentialsLoopCommand.loopOnlinePlayers(EssentialsLoopCommand.java:132) [Essentials-2.x-SNAPSHOT.jar:?] 22:58:06 at com.earth2me.essentials.commands.Commandkill.run(Commandkill.java:26) [Essentials-2.x-SNAPSHOT.jar:?] 22:58:06 at com.earth2me.essentials.commands.EssentialsCommand.run(EssentialsCommand.java:186) [Essentials-2.x-SNAPSHOT.jar:?] 22:58:06 at com.earth2me.essentials.commands.EssentialsCommand.run(EssentialsCommand.java:180) [Essentials-2.x-SNAPSHOT.jar:?] 22:58:06 at com.earth2me.essentials.Essentials.onCommandEssentials(Essentials.java:527) [Essentials-2.x-SNAPSHOT.jar:?] 22:58:06 at com.earth2me.essentials.Essentials.onCommand(Essentials.java:402) [Essentials-2.x-SNAPSHOT.jar:?] 22:58:06 at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) [spigot-1.9.jar:git-Spigot-bc01c3a-55b0def] 22:58:06 at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:141) [spigot-1.9.jar:git-Spigot-bc01c3a-55b0def] 22:58:06 at org.bukkit.craftbukkit.v1_9_R1.CraftServer.dispatchCommand(CraftServer.java:645) [spigot-1.9.jar:git-Spigot-bc01c3a-55b0def] 22:58:06 at net.minecraft.server.v1_9_R1.PlayerConnection.handleCommand(PlayerConnection.java:1314) [spigot-1.9.jar:git-Spigot-bc01c3a-55b0def] 22:58:06 at net.minecraft.server.v1_9_R1.PlayerConnection.a(PlayerConnection.java:1149) [spigot-1.9.jar:git-Spigot-bc01c3a-55b0def] 22:58:06 at net.minecraft.server.v1_9_R1.PacketPlayInChat.a(PacketPlayInChat.java:45) [spigot-1.9.jar:git-Spigot-bc01c3a-55b0def] 22:58:06 at net.minecraft.server.v1_9_R1.PacketPlayInChat.a(PacketPlayInChat.java:1) [spigot-1.9.jar:git-Spigot-bc01c3a-55b0def] 22:58:06 at net.minecraft.server.v1_9_R1.PlayerConnectionUtils$1.run(SourceFile:13) [spigot-1.9.jar:git-Spigot-bc01c3a-55b0def] 22:58:06 at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.8.0_73] 22:58:06 at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_73] 22:58:06 at net.minecraft.server.v1_9_R1.SystemUtils.a(SourceFile:45) [spigot-1.9.jar:git-Spigot-bc01c3a-55b0def] 22:58:06 at net.minecraft.server.v1_9_R1.MinecraftServer.D(MinecraftServer.java:721) [spigot-1.9.jar:git-Spigot-bc01c3a-55b0def] 22:58:06 at net.minecraft.server.v1_9_R1.DedicatedServer.D(DedicatedServer.java:400) [spigot-1.9.jar:git-Spigot-bc01c3a-55b0def] 22:58:06 at net.minecraft.server.v1_9_R1.MinecraftServer.C(MinecraftServer.java:660) [spigot-1.9.jar:git-Spigot-bc01c3a-55b0def] 22:58:06 at net.minecraft.server.v1_9_R1.MinecraftServer.run(MinecraftServer.java:559) [spigot-1.9.jar:git-Spigot-bc01c3a-55b0def] 22:58:06 at java.lang.Thread.run(Unknown Source) [?:1.8.0_73] 22:58:06 Caused by: java.lang.NullPointerException 22:58:06 at java.io.Reader.<init>(Unknown Source) [?:1.8.0_73] 22:58:06 at java.io.InputStreamReader.<init>(Unknown Source) [?:1.8.0_73] 22:58:06 at com.winterhaven_mc.deathchest.ConfigAccessor.reloadConfig(ConfigAccessor.java:57) [?:?] 22:58:06 at com.winterhaven_mc.deathchest.ConfigAccessor.getConfig(ConfigAccessor.java:66) [?:?] 22:58:06 at com.winterhaven_mc.deathchest.MessageManager.sendPlayerMessage(MessageManager.java:73) [?:?] 22:58:06 at com.winterhaven_mc.deathchest.MessageManager.sendPlayerMessage(MessageManager.java:61) [?:?] 22:58:06 at com.winterhaven_mc.deathchest.ChestManager.deploySingleChest(ChestManager.java:420) [?:?] 22:58:06 at com.winterhaven_mc.deathchest.ChestManager.deployChest(ChestManager.java:320) [?:?] 22:58:06 at com.winterhaven_mc.deathchest.PlayerEventListener.onPlayerDeath(PlayerEventListener.java:72) [?:?] 22:58:06 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [?:1.8.0_73] 22:58:06 at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) [?:1.8.0_73] 22:58:06 at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) [?:1.8.0_73] 22:58:06 at java.lang.reflect.Method.invoke(Unknown Source) [?:1.8.0_73] 22:58:06 at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:306) [spigot-1.9.jar:git-Spigot-bc01c3a-55b0def] 22:58:06 ... 33 more 22:58:06 [INFO] Sonic5317 died
@SmallSansSerif
I didn't spot that error when I updated for 1.9, so if it's still happening with the new version be sure to let me know so I can fix it.
Can you update for 1.9? It kicks out an error in console when doing shift-left click on the death chest and you can take one item at a time when normally you would get the entire contents. Thanks! Otherwise seems to be working ok as well as the DeathCompass :)
Great plugin! How can I translate it to french?
@BruceFradgLee
Never understood why anyone use /back for player. Might just as well give them godmode, the difference is so small...