[INACTIVE][MECH] DeathChest v1.33b - Protect your drops! [80]

Discussion in 'Inactive/Unsupported Plugins' started by recanu, Feb 11, 2011.

  1. Offline

    recanu

    DeathChest v1.33b (Build 480)

    When you die and there is a chest in your inventory, it will be placed where you die or in a free spot (searching upwards). The chest will be filled with as many items as possible and any item that does not fit in the chest will be dropped. If you got two chests in your inventory and the items in your inventory do not fit in a single chest, a double chest containing all your items will be created.
    If you've got a sign in your inventory, a memorial sign will be created above your chest containing the Sign Template (see below). If you rightclick this sign as owner of the chest, all items (leaving those which do not fit in the chest) will be transferred to your inventory.

    Features:
    • Stores all your item drops in chests when dying if you have got a chest in your inventory
    • Creates a sign with configurable content! (/plugins/DeathChest/signTemplate.tmplt, see "Sign Templates" for further information)
    • Chest expiration! Chests are removed after a certain set of time which is also configurable in the config.yml!
    • When using the Permissions plugin, only users with the permission 'DeathChest.use' can drop DeathChest when dying. If not using it, everyone will drop chests.
    • Adds the Permission 'DeathChest.freeChest' to a group or player will remove the requirement to have a chest in their inventory. This way they will always drop a chest when dying. (They still need to have the 'DeathChest.use' Permission!)
    • Adds the Permission 'DeathChest.freeSign' to a group or player will remove the requirement to have a sign in their inventory to place a memorial sign above their chest.
    • LWC Support: protect chests & signs with LWC if this is enabled in the configuration
    • Local Permissions for non-Permissions users! Easy configuration of permissions with a permissions.yml file!
    • Sign quick loot: click the sign of your chest to loot your chest.

    Configuration
    Code:
    # This is the configuration file of DeathChest
    # Lines with # are comments and are ignored
    # placeSigns: true if signs shall be placed, false if not
    # protectChests: true if LWC shall be used to protect chests
    # protectSigns: true if LWC shall be used to protect signs
    # expiration: Time (in minutes) when chests shall disappear with all items. 0 = never.
    # dropItemsOnExpiration: true if items shall be dropped when deleting an expire chest.
    # removeUponQuickLoot: true if chest and signs shall be removed when quicklooting
    # removeChestIfAvailable: true if chests shall be removed from the inventory of a user with the
    #                         freeChest permission if they have got one in their inventory
    # removeSignIfAvailable: the same as removeChestIfAvailable for Signs
    # permissionSystem: Sets the permission system that should be used: LOCAL, PERMISSIONS, GROUPMANAGER or detect
    death:
        placeSigns: true
        protectChests: false
        protectSigns: false
    chests:
        expiration: 0
        dropItemsOnExpiration: true
        removeUponQuickLoot: false
    permissions:
        removeChestIfAvailable: false
        removeSignIfAvailable: false
        permissionSystem: detect
    This is the default configuration (located in /plugins/DeathChest/config.yml).

    The configuration is created when first time running the plugin.
    Editing the configuration is either done with an editor (like notepad) or with the in-game configuration editing. This requires Op rights when using a player or can be done through the console: just type in /dc config <node that you want to edit, ex: expiration> <a valid value: ex 0>
    Note that configuration files from older versions may be incompatible with newer versions and that you have to either delete and generate a new one or to edit the nodes.

    Sign Templates
    Code:
    Line 1: +name+
    Line 2: +date+ +time+
    Line 3: +cause+
    Line 4: R.I.P.
    Date Format: MM-dd
    Time Format: HH:mm:ss
    This is the default Sign Template (located in /plugins/DeathChest/signTemplate.tmptl).
    At the moment there are 4 variables: +name+, +date+, +time+ and +cause+.
    +cause+ contains these strings:
    TNT, Cactus, Drowning, Zombie, Skeleton, Creeper, Spider, Ghast, Giant, Pig Zombie, Slime, the player name of the player who killed you, Falling, Fire, Lava, Suffocation and Suicide (when doing /kill).
    Date Format and Time Format define how time (or date) are formatted. Ex: MM-dd will give "08-15" (15th of August). The text will be shown on the signs above the chests.

    Permissions:
    This plugin is compatible with Permissions 2.51 (All versions except 2.0 and below should work), GroupManager (0.99d+) and it's own local permissions system.
    These Permission Nodes are used with Permissions 2.51 and GroupManager:
    • 'DeathChest.use' - allows people to use DeathChest
    • 'DeathChest.freeChest' - deletes the requirement to have a chest (or two) in their inventory. (People with this Permission still need 'DeathChest.use' to use DeathChest.
    • 'DeathChest.freeSign' - same as freeChest for signs.
    • 'DeathChest.allowQuickLoot' - allows quicklooting when rightclicking the sign
    • 'DeathChest.protect' - Protects all chests and signs of this users (if enabled in the configuration and if LWC is installed) with LWC
    Note that when NOT having the Permission or GroupManager plugin, the local Permissions System (only avaible after v1.31b) will be used. It will be located in /plugins/DeathChest/permissions.yml. Read through the file and your questions will be answered.
    You can also switch the permission systems through the configuration node 'permissionSystem'. (See Configuration)

    Commands
    • /dchest info|version - shows info about your DeathChest version
    • /dchest config - shows the current configuration
    • /dchest config <node> <value> - edits the configuration and changes the value of <node> to <value>
    • /dchest reload - reloads configuration and sign template.
    All Commands require Op rights.

    Download DeathChest(v1.33b)

    Changelog:
    After releases with a configuration file changes, I suggest to delete (or rename) your old configuration and let the plugin generate a new one. This way it's more save for you to edit the file.


    Version 1.33b
    • Bugfixes
    • Code optimization
    • Permissions 2.51 and GroupManager are now both compatible.
    • You can choose your permission system in the configuration.
    • Fixed the permission node 'DeathChest.protect'; this is required for those users whos chests&signs should be protected
    *I maybe forgot some points here

    Version 1.32b
    • Updated to newer bukkit builds (tested with 438)
    • Changed commands: from /dc to /dchest.
    • Added new commands: /dchest info|version: Shows info about the DeathChest version, /dchest config: Shows the current configuration.
    Version 1.31b (300-347) (348+)
    • Fixed a second bug that caused errors when not using LWC
    • Added local permissions system located in /plugins/DeathChest/permissions.yml
    • Fixed for CraftBukkit build 348+
    Version 1.3b
    • Fixed a bug that caused errors when not using LWC
    • Added a new configuration node: chests.removeUponQuickLoot. See "Configuration" for further information
    • Added a command: /dc reload; This requires Op rights in-game. It reloads the configuration and sign template without clearing the DeathChest list (which happens when doing a server reload)
    • Added a new Sign Template variable: +cause+; See "Sign Templates" for further information.
    • Didn't add configurable sign position: postponed to v1.4.
    Version 1.21b (Note, this is a beta release and MAY contain bugs)
    • Fixed a bug that caused errors when placing single chests.
    • Added and modified configuration nodes. Notice that when updating from older versions that some nodes became inactive and were replaced by new ones. See "Configuraiton" for further information
    Added sign protection
    • Added Permission node 'DeathChest.allowQuickLoot'
    Version 1.2b (Note, this is a beta release and MAY contain bugs)
    • Added LWC support (new configuration node: useLWCProtection)
    • Added configurable Sign Template (/plugins/DeathChest/signTemplate.tmplt) See "Sign Templates" for more information.
    • Added quickloot sign: owners of DeathChest can click the sign above the chest to completely (or partially if the inventory can not hold all items) loot the chest
    • Added sign-consuming (now needs a sign in the inventory to place a sign above the chest)
    • Added new permission node: DeathChest.freeSign
    • Fixed Bugs: Chests now pick up armor and do not destroy blocks (if not necessary because of space problems) when being placed.
    Version 1.1
    • Added expiration timer.
    • Added configuration file.
    • Added Permissions suppport.
    • Added warnings when people destroy your DeathChest.
    • Added warnings before your DeathChest expires.
    Version 1.0
    • First public release.
    Bugs
    • The WorldGuard /slay command does not trigger a DeathChest - This seems to be caused by WorldGuard.
    If you experience bugs, please submit what doesn't happen right, the version of DeathChest you are using, which craftbukkit build #, the configuration file and the error stacktrace (if there is one).

    TODO
    • Add configuration for the Sign Position - in progress for v1.4
    TODO nodes marked as 'Done' are already coded and will be added in future releases.

    Info:
    The plugin was tested with craftbukkit build 300+. It may work with older versions, but this can lead to errors or other unwanted results. Also beta releases (marked with vx.xb) may contain bugs and lead to errors (or worse things).

    I'm open for suggestions!
     
  2. Offline

    Phaedrus

    Unable to right click collect chests. Getting this error message in the console.

    Code:
    Feb 17, 2011 1:48:00 AM org.bukkit.plugin.SimplePluginManager callEvent
    SEVERE: Could not pass event BLOCK_RIGHTCLICKED to DeathChest
    java.lang.NullPointerException
            at com.recanu.DeathChest.DCBlockListener.onBlockRightClick(DCBlockListen
    er.java:63)
            at org.bukkit.plugin.java.JavaPluginLoader$20.execute(JavaPluginLoader.j
    ava:221)
            at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.jav
    a:60)
            at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.j
    ava:214)
            at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:496)
            at net.minecraft.server.Packet15Place.a(SourceFile:57)
            at net.minecraft.server.NetworkManager.a(SourceFile:232)
            at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:74)
            at net.minecraft.server.NetworkListenThread.a(SourceFile:104)
            at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:317)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:232)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:512)
    
    Running bukkit 325
     
  3. Offline

    zergilng

    Code:
    : Could not pass event BLOCK_RIGHTCLICKED to DeathChest
    java.lang.NullPointerException
            at com.recanu.DeathChest.DCBlockListener.onBlockRightClick(DCBlockListen
    er.java:63)
            at org.bukkit.plugin.java.JavaPluginLoader$20.execute(JavaPluginLoader.j
    ava:221)
            at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.jav
    a:60)
            at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.j
    ava:214)
            at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:496)
            at net.minecraft.server.Packet15Place.a(SourceFile:57)
            at net.minecraft.server.NetworkManager.a(SourceFile:232)
            at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:74)
            at net.minecraft.server.NetworkListenThread.a(SourceFile:104)
            at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:317)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:232)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:512)
    try rightclick to sign
    appears that errors and all items be gone
    b409
     
  4. Offline

    Duccis

    Speaking of right click. Can you make an option where I can turn it on/off?
     
  5. Offline

    RenStrike

    Any chance we could have an option to put the sign next to chest instead of on top? My clients like the idea of recovering their stuff, but leaving the signs as a reminder that someone passed away there, :).
     
  6. Offline

    recanu

    Updated to v1.21b! Note that the configuration file is updated and that you either have to update it manually or that you have to generate a new one. I fixed the bug you reported and added sign protection.

    I added a new permission node for this: 'DeathChest.allowQuickLoot'

    Sorry, read your post too late :p I'll add some kind of "signPosition: " node to the configuration in the next release.
     
  7. Offline

    Phaedrus

    Thanks for the quick fix! [​IMG]
     
  8. Offline

    Liquidmantis

    I'm still running 1.2b right now as I haven't been able to update but my users are reporting that quicklooting the chests (thanks for adding that!) is actually duping the items. They get their stuff back but the chests still have the items. Is this already fixed by chance?
     
  9. Offline

    ryansch

    Would it be possible to have the chest(s) and sign disappear when a player loots? I like the idea of free chests but I don't want my players to be able to collect the chests.
     
  10. Offline

    recanu

    This shouldn't be the case in 1.21b anymore. Just try updating and post again if your users still expierence this bug.

    Added to the TODO list. I'll make a new configuration node for this, probably in v1.3b.
     
  11. Offline

    tyderion

    Hi there.

    I've noticed a little Bug when using DeathChest 1.21b alone (without LWC plugin).
    If i destroy my chest after I die everything works.
    If I destroy the sign above the chest, there is a severe exception:

    Code:
    Feb 18, 2011 2:59:30 PM org.bukkit.plugin.SimplePluginManager callEvent
    SEVERE: Could not pass event BLOCK_DAMAGED to DeathChest
    java.lang.NoClassDefFoundError: com/griefcraft/lwc/LWCPlugin
            at com.recanu.DeathChest.DCBlockListener.onBlockDamage(DCBlockListener.java:196)
            at org.bukkit.plugin.java.JavaPluginLoader$22.execute(JavaPluginLoader.java:231)
            at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:60)
            at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:214)
            at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:381)
            at net.minecraft.server.Packet14BlockDig.a(SourceFile:42)
            at net.minecraft.server.NetworkManager.a(SourceFile:232)
            at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:74)
            at net.minecraft.server.NetworkListenThread.a(SourceFile:104)
            at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:317)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:232)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:512)
    Caused by: java.lang.ClassNotFoundException: com.griefcraft.lwc.LWCPlugin
            at java.net.URLClassLoader$1.run(Unknown Source)
            at java.security.AccessController.doPrivileged(Native Method)
            at java.net.URLClassLoader.findClass(Unknown Source)
            at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:30)
            at java.lang.ClassLoader.loadClass(Unknown Source)
            at java.lang.ClassLoader.loadClass(Unknown Source)
            ... 12 more
    
    thanks for looking into this :)
     
  12. Offline

    recanu

    Update to v1.3b.
    • Fixed a bug that caused errors when not using LWC
    • Added a new configuration node: chests.removeUponQuickLoot. See "Configuration" for further information
    • Added a command: /dc reload; This requires Op-rights in-game. It reloads the configuration and sign template without clearing the DeathChest list (which happens when doing a server reload)
    • Added a new Sign Template variable: +cause+; See "Sign Templates" for further information.
    • Didn't add configurable sign position: postponed to v1.4.
     
  13. Offline

    nerdnosyd

    I've updated my server to "Jenkins 23" and DeathChest to 1.3b and it seems to have an issue where chest doesn't drop when a player dies to creeper or TNT. The weird thing is the sign and the chest are dropping but as the little spinning blocks you can pick up. No error messages in the console and it is informing the player that a chest was placed.
     
  14. Offline

    Silvo

    so ... if I don't use permissions mod ... how can I tell the plugin to give OPed players free chests.
     
  15. Offline

    recanu

    This is a weird bug caused by bukkit. Normally the PlayerDeath event should be called after the explosion but it isn't. This means that the chest and sign are still destroyed by the explosion. I will look into this and try to fix it.

    This is not possible at the moment. If you wish, I can include some kind of local permissions system for those who don't use the permissions plugin in the next release. This means you'd have to set up each player, who shall be allowed the use the freeChest, in a new configuration file.
     
  16. Offline

    GyD

    Using 1.3b the command line is spammed with:

    Code:
    Exception in thread "Thread-29669" java.lang.NoClassDefFoundError: com/griefcraft/lwc/LWCPlugin
            at com.recanu.DeathChest.DeathChest.Update(DeathChest.java:175)
            at com.recanu.DeathChest.DeathChest$1.run(DeathChest.java:151)
            at org.bukkit.craftbukkit.scheduler.CraftWorker.run(CraftWorker.java:33)
            at java.lang.Thread.run(Thread.java:636)
    
    I don't use lwc and protections are "off" :/
     
  17. Offline

    recanu

    Okay, I updated to version 1.31b. This version includes the bug fix for this exception. If you are still expieriencing any bugs, please repond again.

    v1.31b also includes a new local Permissions System that is used when Permissions isn't found. You can configurate them in /plugins/DeathChest/permissions.yml. Please note that v1.31 offers two versions: one for craftbukkit builds below 348 and one for 348+. Please be sure to use the right one, else errors will occure.
     
  18. Offline

    Silvo

    Thank you for this! This is perfect for my small 4 ppl server.
    --- merged: Feb 21, 2011 3:26 AM ---
    Not sure why... but this lattest beta doesn't create the DeathChest folder in my plugin folder
    --- merged: Feb 21, 2011 3:32 AM ---
    funny ... downloaded the (300-347) version and config files with folder are generated.
    Typing /version gives me "This server is running on carftbukkit version git-Bukkit-0.0.0-409-gcb2bced".
    so version 409? Downloaded (348+) accordingly and it doesn't generate the config files.
    --- merged: Feb 21, 2011 3:53 AM ---
    putting mine name into permissions.yml while using the (300-347) didn't work. Trying now the (348+) version while leaving the DeathChest folder as it is.
    --- merged: Feb 21, 2011 4:01 AM ---
    placed now the (348+) version in my plugin folder, while leaving the generated config file from (300-347) intact except modifying the permissions.yml by putting my player name in the "use","freechest" and "freesign" section.
    Took that wood from my sotrage and killed myself... no chest..not working.. oO
    I must be doing something terribly wrong.
     
  19. Offline

    AskCharlie

    thought i would share what it said when i loaded your plugin into build 405
     
  20. Offline

    Silvo

    Code:
    [WARNING] Using the stupidly long constructor


    if this isn't hillarious :D
     
  21. Offline

    GyD

    With deathchest 1.31 348+ on CB348:
    Code:
    21 f?vr. 2011 13:39:12 org.bukkit.plugin.SimplePluginManager loadPlugins
    GRAVE: Could not load plugins/DeathChest.jar in plugins: null
    org.bukkit.plugin.InvalidPluginException
    
     
  22. Offline

    recanu

    git-Bukkit-0.0.0-409-gcb2bced does not mean that you are running craftbukkit build 409 (409 isn't even released yet :p). It seems like you have a build before 348, so I recommend using the right DeathChest build. Also, please be sure that you put your name in this format:
    Code:
    permissions:
        use: [Silvo, anothername]
        freeChest: [Silvo]
        ...
    If you are still expierencing this bug please post once again.


    Seems like you are using the version for 300-347 with craftbukkit build 405. Try using DeathChest 1.31b for 348+

    I do not know how this happens nor why this happens. I'm also not using build 348 on my server anymore so I cannot do any testing. Maybe you should try updating to a newer version.
     
  23. Offline

    Kevin Forte

    If you are not aware of this bug, I think it's pretty important; If you right click a sign to retrieve your items, they are all returned to your inventory but not removed from the chest, duplicating your stuff.
     
  24. Offline

    Stephen92

    wish this worked but unfortunatley it doesnt for me im runnin craftbukkit 328 I had the permissions set and everythign restarted the server did /pr nothing. :(
     
  25. Offline

    Wulfspider

    Well, with the past few builds, this plugin has not worked correctly. The chests are empty when you die, so you lose all your items. I went back to using Tombstone which works with the latest build 424 (MC 1.3). Perhaps it is an error with iConomyChestShop... or with LWC because it was giving errors when I right clicked on the sign on the chest.
     
  26. Offline

    recanu

    Sorry for taking so long for the update. Version 1.32b is released, which should fix (tested on 438) the bugs. It also changes the in-game (and console) commands from /dc to /dchest.
     
  27. Offline

    SavageCore

    On 438 and 1.32b I am getting
    Code:
    2011-02-24 14:19:53 [SEVERE] Could not load plugins/DeathChest.jar in plugins: null
    org.bukkit.plugin.InvalidPluginException
        at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:85)
        at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:129)
        at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:94)
        at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:58)
        at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:187)
        at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:174)
        at net.minecraft.server.MinecraftServer.d(MinecraftServer.java:120)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:227)
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:366)
    Caused by: java.lang.ClassNotFoundException: com.recanu.DeathChest.DeathChest
        at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
        at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:30)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:247)
        at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:72)
        ... 8 more
     
  28. Offline

    Biebboek

    Same as SavageCore here.. [​IMG]
    Still, your amazing plugin is appreciated!
     
  29. Offline

    Kostronor

    Dropbox error, cannot download :(
    Nice plugin, hope a new download link soon!
     
  30. Offline

    recanu

    Sorry, that was some weird mistake from my side. Eclipse somehow exported a 512byte (?) big file, instead of the 36.1kb file. Redownload 1.32b and try it again.
     
  31. Offline

    Juze

    I always have a weird attempt to download the broken versions of plugins, and after I upload it on the server, an update appears.
     

Share This Page