[UNSUPPORTED][MISC] Tombstone v1.3.6 - A deadmans chest plugin for Bukkit [1317]

Discussion in 'Inactive/Unsupported Plugins' started by Drakia, Feb 10, 2011.

Thread Status:
Not open for further replies.
  1. Offline

    Drakia

    Tombstone - A deadman's chest plugin
    Version: 1.3.6
    CraftBukkit: 1317
    This plugin support SuperPerms. Please do not ask about setting up SuperPerms in this topic, ask here: http://forums.bukkit.org/threads/permissions-faq.25080/

    Plugin Dependencies:
    Permissions (Optional)
    LWC (2 or 3) (Optional)

    If you want help, post the output of the "version" command, and make sure you're running atleast the version specified in the topic title.
    Please post your server log when asking for help with tombstones not spawning
    Do not bother asking for help if you killed the player using anything other than basic attacks. I do not guarantee support for any plugin-based attacks or deaths such as /kill!


    =============
    Description
    =============
    Save your players' inventory from disappearing when they die.
    I used Deadmans Chest in hMod and thought it was a great plugin, so I started my own version for Bukkit.

    Download: http://thedgtl.net/bukkit/Tombstone.jar
    Source: https://github.com/TheDgtl/Tombstone

    =============
    Features
    =============
    If the player is carrying a chest when they die, place that chest and fill it with as much of their inventory as possible
    If the player is allowed, and is carrying two chests, a large chest will spawn to catch all of their inventory
    Possible for specific groups/players to be given free chests with no need to carry one with them
    Any items that won't fit in the chest will still drop to the ground!
    Supports the Permissions plugin, will default to allowing everyone to use basic tombstone if not available
    Supports LWC for chest AND sign protection if it is installed
    Configurable timeout for LWC unprotection
    Configurable timeout for destruction of tombstones, works in unloaded chunks as well
    Quickloot support, right click the sign on a tombstone to loot all items in it (Your tombstone only!)
    Place a sign on top of the chest with a configurable template
    The ability to point your compass at your tombstones!
    Supports "SuperPerms"

    =============
    Config Notes
    =============
    If you are going to be giving your players a free chest/sign, but don't want them to be able to retrieve those as extra items, you can now set the noDestroy option in the Tombstone config file.
    If you do set the noDestroy option, it is highly recommended that you set a timeout for Tombstone removal, because even once LWC is disabled the chest is still not destroyable by any means other than quicklooting it.
    With noDestroy enabled, if a player dies without a sign, then their chest will be indestructible until it is removed by Tombstone itself.
    It is not recommended to use the noDestroy option without the destroyQuickLoot option

    =============
    KNOWN BUGS
    =============
    None?

    =============
    Config
    =============
    lwcEnable - Whether to use LWC if available
    lwcRemove - Whether to remove LWC after a specific timeout
    lwcPublic - Set to true to set LWC protection to Public instead or removing
    lwcTimeout - How long to wait before disabling LWC on a tombstone (in Seconds)
    tombSign - Whether to place a sign on the tombstone
    removeTime - How long to wait before destroying a tombstone (in Seconds)
    tombRemove - Whether or not to destroy a tombstone after a timeout
    playerMessage - Whether or not to show messages to the player
    saveTombList - Whether to save a list of tombstones between server reloads
    destroyQuickLoot - Set to true to destroy the chest/sign on quickloot
    noDestroy - Set to true to disallow any player from destroying a tombstone (Other than quickloot)
    noInterfere - Set to true to stop tombstones from being created next to other chests (Items are dropped to ground instead)
    logEvents - Whether to print some "useful" information to the server terminal.
    skipBuildCheck - Set whether to skip the blockPlace check (True to bypass region protection) (Default false)

    =============
    Sign Template
    =============
    The sign template is stored in plugins/Tombstone/sign.tpl
    The following variables are able to be used in the sign template:
    {name} - The players name
    {cause} - The cause of their death, or their killers name if it was a player
    {date} - The date of their death
    {time} - The time of their death

    The sign template is 4 lines correlating to the 4 lines of the sign. The maximum length
    of a line is 15 characters. The default sign template is as follows:
    {name}
    Killed By
    {cause}
    {time}

    =============
    Permissions (Either via SuperPerms, or Permissions 2.x/3.x)
    =============
    tombstone.use - (Default) Allow the player/group to use the tombstone mod
    tombstone.freechest - Allow the player to get a chest whether they are carrying a chest or not
    tombstone.large - Allow the player to spawn a large chest if carrying two chests and if one will fit
    tombstone.lwc - (Default) Protect the placed chest if LWC is enabled
    tombstone.sign - (Default) Whether the player gets a sign on their tombstone chest
    tombstone.freesign - Allow the player to get a free sign whether they are carrying one or not.
    tombstone.quickloot - (Default) Whether to allow a player/group to quickloot by right clicking the tombstone sign.
    tombstone.admin - Allow this user to destroy other players tombstones.
    tombstone.cmd.tomblist - Allow this user to use /tomblist
    tombstone.cmd.tombfind - Allow this user to use /tombfind
    tombstone.cmd.tombreset - Allow this user to use /tombreset

    =============
    Commands
    =============
    /tomblist - List all your tombstones
    /tombfind - Gives you a direction from your current location to your tombstone. Use with /compass (Sync'd to CommandBooks /compass)
    /tombreset - Doesn't do anything.

    =============
    FAQ
    =============
    Q) Can you add support for {PluginX}?
    A) No.

    Q) Player items are being duplicated, and I'm using SlowHealth, whatsup?
    A) http://forums.bukkit.org/threads/mi...ugin-for-bukkit-1000.3923/page-18#post-550275

    =============
    Changes
    =============
    [Version 1.3.6]
    - Added 'skipBuildCheck' option
    [Version 1.3.5]
    - Fixed accidental clearing of /tomblist on quickloot
    - Added SuperPerms support
    - Do a build permission check so we don't spawn a chest in protected areas
    [Version 1.3.2]
    - Apparently LWC 3.30 had a change in API that wasn't documented, yay
    [Version 1.3.1]
    - Recompiled with LWC 3.30
    [Version 1.3.0]
    - Added sign template
    - Tombstone no longer created in void death
    - Re-enabled the compass for /tombfind
    More Changes (open)

    [Version 1.2.9]
    - Fixed free double chests
    - Made freechest/freesign default to isOp() without permissions
    [Version 1.2.8]
    - Added logEvent option for debug purposes.
    - Do a 3x3 check for a block to place chest.
    [Version 1.2.7]
    - Check properly if we're placing a big chest for interference
    [Version 1.2.6]
    - Fixed issue with name length
    [Version 1.2.5]
    - Option to bail on tombstone creation if it will interfere with another chest.
    - Check tombstone stuff more often (Every 100 ticks (5 seconds))
    [Version 1.2.4]
    - Fixed sign drop bug when destroying with timeout.
    [Version 1.2.3]
    - Fixed a bug in /tombfind with invalid input
    [Version 1.2.2]
    - Moved playerInteract to Highest priority since we remove a block.
    - Added check to make sure the tombstone is a chest before we doing anything.
    - Other general checks
    [Version 1.2.1]
    - Made /tombfind a bit more useful, will give a NESW direction.
    [Version 1.2.0]
    - Added compass commands.
    [Version 1.1.8]
    - Right-clicking a chest will quickloot/destroy if you have noDestroy/destroyQuickLoot enabled
    [Version 1.1.7]
    - Fixed quicklooting in RB670
    [Version 1.1.6]
    - Fixed some owner comparisons.
    [Version 1.1.5]
    - Moved setting "plugin" to onEnable
    - Moved setLine() outside of scheduler
    [Version 1.1.4]
    - Added more LWC checks
    [Version 1.1.3]
    - Added tombstone.admin
    [Version 1.1.2]
    - Fixed loading tombstone list after server restart
    - Check if player is online before sending tombstone messages
    [Version 1.1.1]
    - Updated to latest RB
    [Version 1.1.0] - Only updating for LWC2 from here on
    - Changed versioning scheme
    - Changed loading of permissions/LWC
    [Version 1.09]
    - Updated sign update code, should work better
    - Updated for LWC2, there is now an LWC1 build, and an LWC2 build
    [Version 1.08]
    - Configurable tombstone list storage
    - Allow LWC to be set to Public instead of disabled
    - Allow destroy on quickloot
    - Allow tombstones to be "invincible" besides quickloot
    [Version 1.07]
    - Fixed a bug in which protected chests could be destroyed.
    - Messages to players can be turned off.
    [Version 1.06]
    - Item-dupe fix broke plugin, fixed
    [Version 1.05]
    - Re-compiled for b522 to fix ItemStack.equals error
    [Version 1.04]
    - Small permissions handling update
    - Inform player if we run into a casting problem.
    [Version 1.03]
    - No longer treat GM as a special case, just load it as Permissions 2.0 like the author intended
    [Version 1.02]
    - Support Permissions 2.0/2.1
    - Support GroupManager
    [Version 1.01]
    - Fixed a Null Pointer Exception when chests are destroyed
    [Version 1.00]
    - Added ability to remove chests without needing LWC
    - LWC and remove thread are now a sync task
    - Right-click sign to quickloot. Permission added.
    - Better Permissions handling
    - LWC protects sign
    - Only create a large chest if needed
    - Deactivate LWC protection when sign or chest is destroyed
    [Version 0.06]
    - Implemented tombstone signs
    - Changed message if LWC is enabled to say how long before unprotect/destruction
    - lwcTime of 0 now indicates that LWC protection never expires
    [Version 0.05]
    - Added config file
    - Implemented chest removal
    - Configurable timeout
    - Toggle LWC usage via config
    [Version 0.04]
    - Added LWC timeout
    [Version 0.03]
    - Added LWC support
    - Made Permissions optional instead of required. Default without Permissions is allow all to use
    [Version 0.02]
    - Initial Public Release
     
    ray landers, Montag, harakiwi and 9 others like this.
  2. Offline

    Dreadreaver

    Im still running Tomgstone 1.01 and Im having ZERO issues with Tombstones in my nether. It works just the same way it would work on my normal world. - It always did
     
  3. Offline

    Stephen92

    can someone upload 1.02?
     
  4. Offline

    Stormwolf

    I died probably 3 times in a row to a zombie trying to get to my original chest today and got this error:

    Code:
    2011-03-07 10:35:14 [SEVERE] Could not pass event ENTITY_DEATH to Tombstone
    java.lang.NoSuchMethodError: org.bukkit.inventory.ItemStack.equals(Lorg/bukkit/inventory/ItemStack;)Z
        at net.TheDgtl.Tombstone.Tombstone$eListener.onEntityDeath(Tombstone.java:414)
        at org.bukkit.plugin.java.JavaPluginLoader$39.execute(JavaPluginLoader.java:324)
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:59)
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:226)
        at net.minecraft.server.EntityPlayer.a(EntityPlayer.java:111)
        at net.minecraft.server.EntityLiving.a(EntityLiving.java:393)
        at net.minecraft.server.EntityHuman.a(EntityHuman.java:378)
        at net.minecraft.server.EntityPlayer.a(EntityPlayer.java:137)
        at net.minecraft.server.EntityMonster.a(EntityMonster.java:101)
        at net.minecraft.server.EntityCreature.c_(EntityCreature.java:63)
        at net.minecraft.server.EntityLiving.q(EntityLiving.java:649)
        at net.minecraft.server.EntityMonster.q(EntityMonster.java:30)
        at net.minecraft.server.EntityZombie.q(EntityZombie.java:35)
        at net.minecraft.server.EntityLiving.f_(EntityLiving.java:231)
        at net.minecraft.server.EntityMonster.f_(EntityMonster.java:34)
        at net.minecraft.server.World.a(World.java:1011)
        at net.minecraft.server.WorldServer.a(WorldServer.java:53)
        at net.minecraft.server.World.f(World.java:993)
        at net.minecraft.server.World.d(World.java:970)
        at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:354)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:272)
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:366)
    
    Craftbukkit 499 Tombstone 1.04
     
  5. Offline

    Drakia

    @Stormwolf Well that's an odd one...
    --- merged: Mar 7, 2011 6:46 PM ---
    @Stormwolf Just looked at the commits, and in b497jnks they seem to have changed the ItemStack.equals method. So I'd recommend going back to the RB (b493jnks)
     
  6. Offline

    SweetCraft Girl


    Try to stick with Recommended Builds whenever possible or your current plugs will allow.

    It helps reduce the work plug-in makers have to do by not having them examine 3+ bukkit releases per day for one that doesn't break their plug-ins functionality.
     
  7. Offline

    cordeval

    Drakia and ZeroPoke,
    Points taken and I'd offer apologies for the tone of others but some folks are inexcusably excitable.
    Many thanks for the plugin.
    I'm just happy Tombstone "does what it says on the box", considering anything else to be gravy.

    This user's appeal to you is to please ignore other's belly aching.
    Or, at least observe that belly aching comes from folks who like and want to use the plugin without troubleshooting why it doesn't work under their particular circumstances.
    These folks should be required to report the troubleshooting steps they've gone through; like making sure they are using up-to-date versions of plugins, trying to isolate their problem to particular plugin combinations, and checking configuration/command notes in other plugins for potential conflicts.

    As to other posts, I mean really, "Does this work with Plugin XYZ?"
    That's just lazy.
    They should try it and if it doesn't work then request help.

    As to folks' question, "Does it support multiworld?"
    "Yes."
    But to be informative, add, "And you haven't earned the right to further details or help with why your efforts aren't working."

    But to be actually helpful to the plugin designer with an eye to continuing their enthusiasm through the next storm of MC server and bukkit updates (i.e. selfishly hoping for more freebies from the designer), I'll provide a more informative response for the designer and others who care to try to figure things out for themselves.
    Tombstone works as advertised. But it also works for multiple normal worlds which is not advertised.
    It appears not to function for Nether deaths...but then I haven't recently read this forum to see if it is supposed to.
    No Nether functioning is fine by me b/c it is the Nether afterall.
    My short shrift response to Nether bellyaching is, "Go play Creative".
    Long answer, "Ain't supported in Tombstone, use Essentials plugin and its /back command."

    And, here's more information about my configuration than I've seen posted by most others with questions re: multiworld support:
    Tombstone v.1.03
    Craftbukkit version git-Bukkit-0.0.0-458-g557f3d2-b440jnks (MC: 1.3)
    MultiVerse - Version 1.4 (Permissions 2.1)
     
  8. Offline

    Drakia

    Here's the thing with multi-world, my server runs one world, and it's normal. So I don't really have a way to TEST multi-world support, and with the fact peoples response to something not working is to post "It doesn't work" I can't exactly debug WHY it doesn't work.
    I do have a secondary server setup for testing, but with the newest Bukkit updates, a lot of stuff has messed up, and in really random ways. There are times when a block won't properly change into a chest, or when a chest can't be accessed by my plugin, and it's all random, I have no way to predict when it will happen, I have no way to fix it.

    My plugins are completely dependent on Bukkit, I can't go through all of the Bukkit code to find that one line that is screwing up something in my plugin. So if something doesn't work how it's supposed to, there's a 90% chance of it being something to do with Bukkit.
    --- merged: Mar 7, 2011 7:47 PM ---
    And about Tombstone not working in nether, all I have to say, until somebody gives me something more than "It doesn't work in nether":
    [​IMG]
     
  9. Offline

    cordeval

    ROTFL
    You made my morning serving my words back to me. Damn good chuckle to start the day.

    Please let me explain.
    I prefer it not working in Nether but working in other multiple normal worlds.
    So, I view this as a feature not a bug, thus I didn't provide details with a request for help.
    Afterall, it is what I would have chosen if Tombstone had a per-world-permissions system (...erm...does it? Did I cluelessly not notice one?)
    Because there were no error codes, I suspect there is something in the various onion-like layers of my plugin permissions that somehow prevents it working in Nether under my particular setup.

    Therefore, I'm not going to troubleshoot my condition unless Drakia requests I help suss it out for the betterment of the code overall.
    But I doubt he'll ask me this as a) I ain't bothered it doesn't work for me, and b) he aint't bothered that it does work for him.
    BTW Drakia, if you were crazy enough to want to pursue it on your hardware, it could probably be done using VirtualBox and a copy of my server trimmed down to just what is needed to replicate my situation.

    On another note, Drakia, is there any way I can get the signs more permanently while retaining the chest function? Currently, if I remove the underlying chest the sign falls to the ground and its information lost.
    I'd like them more permanent because I like the idea of signs cluttering particular areas of a world like those informal roadside memorials I see here in the US.

    [still chuckling over you serving my words back to me]
    Thanks again for the plugin
     
  10. Offline

    Drakia

    That was more directed at the two or three people who have said "It doesn't work in the nether" and nothing more. Permissions support multi-world, and so technically if you just remove peoples permissions for Tombstone in the Nether world, BAM, no tombstones in nether (And this is my guess as to why the plugin "doesn't work" in the nether for some people).

    About making signs more static, I'd either need to keep a list of every tombstone (Which at the moment I do for removal after a timeout, but the list is in-memory ONLY, if you reload your server it's gone) and then any time somebody destroys a chest check to see if it's in said list, if so drop the sign to the ground and copy over the text, blah blah. It's a lot of work for a little feature. Why can't you just leave the chest AND the sign?
    And the other option people have suggested is place the sign BESIDE the chest initially, but this brings a lit more problems in itself. What if the chest is in a 1x1 hole? What if it's in a 1x1 hole that's 20 blocks deep? There's too much to take into account to do anything other than place the chest/sign where the players corpse is.
     
  11. Offline

    Stephen92

    I just wanna be able to use this lol.
     
  12. Offline

    cordeval

    You forgot to add, "What if they die under gravel or sand?"

    Signs of static:
    I might have to just leave both sign and chest to retain the sign.
    But if you wanted to pursue changes to "check sign" coding, I know several other sign plugins require plugin-specific text on the sign that lets the plugin know it needs to do something when the sign is interacted with. For this plugin, I imagine the text would be "[Tombstone]" followed by what would probably be fewer lines of text than what we get now.
    An alternative pie-in-sky idea would be to have the tombstone sign work like the SignTrader plugin (I think that's it, or is it EssentialsEco?) does where right clicking the sign gives the player an item. Here it could just be a quick-loot of the sign or maybe the sign functions just like a chest but looks different.

    Adjacent sign placement:
    I know I made one such suggestion in an earlier post.
    Would it be overmuch coding to if-then the sign to try to place it beside the corpse if potential target block =air or water underlain by appropriate support block (dirt or whatever), and default to top-of-chest otherwise?
    I imagine it'd be a bit more problematic than the double-wide chest placement which I believe drops items if there's no space for the extra box. But then, I'm not the programmer....and I've not tested the double-wide placement.

    Note: It's no problem to me if you'd rather not suss these out, but if either could be considered low hanging fruit, I was hoping one might be added. I don't see need for both.
     
  13. Offline

    Drakia

    Again in regards to making the sign the tombstone itself, it would require a stored database of all tombstones which I don't want to have to do.
    In regards to placing the sign adjacent to the tombstones, again it would require quite a few checks besides what the large chest check requires, since a sign can't be placed on non-solid blocks.
    [MERGETIME="1299640770"][/MERGETIME]
    Uploaded 1.05, it's just a recompile with the latest bukkit, fixes the ItemStack.equals bug
    [MERGETIME="1299654020"][/MERGETIME]
    Uploaded 1.06, I didn't realize the item dupe fix completely broke my plugin. Sadly I can no longer get armor first, it's stored last in the list and it's either I get armor first and whatever you have in your equip bar last, or equip bar first and armor last.
     
  14. Offline

    Stormwolf

    CraftBukkit 522, Tombstone 1.06 Everything seems to be working, thanks.
     
  15. Offline

    Stephen92

    thanks for finally fixing this I will test when I get home.
     
  16. Offline

    ksevelyar

    Players can't add/remove items from tomb-chest (LWC).

    But they can broke chest-tomb! And take all items!
    (Players cant broke casual LWC protected chests.)

    Code:
    groups:
      Default:
        default: true
        permissions:
        - bb.admin.info
        - defaultcommands.online
        - defaultcommands.spawn.self
        - lwc.protect
        - myhome.home.basic.*
        - myhome.home.soc.*
        - tombstone.large
        - tombstone.lwc
        - tombstone.use
    Code:
    lwcEnable: true
    lwcRemove: false
    tombRemove: false
    removeTime: 18000
    tombSign: true
    lwcTimeout: 3600
    Tombstone v1.06 + LWC v1.62 + 493CB Build
     
  17. Offline

    Drakia

    @ksevelyar Fixed in 1.07 which I'm just uploading now :)
     
  18. Offline

    Stephen92

    btw this finally works for me forgot to post it lol.
     
  19. Offline

    ksevelyar

    Nice. Thanks for the plugin.
     
  20. Offline

    Scandragon

    Wonderful plugin.. Does exactly as it says :)
    Now, if it could check for chests in inventory before placing a free one, that'd be even better
     
  21. Offline

    Dreadreaver

    Already suggested that ages ago and Drakia replied:
    Would love to see this implemented though.
     
  22. Offline

    MrCamping

    Suggestion
    When LWC protection is removed, it could be nice if chest could be set to public instead of completely removing LWC protection. That way, other players couldn't add a new protection on the chest.

    Very nice plugin, thx
     
  23. Offline

    Drakia

    Well the point of an LWC timeout is that anybody then has access to the chest, whether it be destroying it, just taking the items, or locking it for themself.
     
  24. Offline

    Dreadreaver

    signed
     
  25. Offline

    NathanWolf

    This.... sounds..... awesome.
     
  26. Offline

    MaelieJade

    I'm super new to modding (as in, I just started doing it an hour ago), so please bear with me and my n00biness.

    I created a test server to test mods on. Things seem to be working so far.
    However, I can't get quickloot to work. I've tried right clicking on both the chest and the sign.
    Every other command that I set up in Permissions seems to work fine, except for quickloot.

    Any help? I'd post the version of CraftBukkit that I'm using, but I'm not sure how to find out. I downloaded the "latest recommended build".
     
  27. Offline

    Greylocke

    It is! And as many times as you've killed me in the Nether and with innocent-seeming-but-dangerous spells... it has come in very handy! :p

    Just be careful when quick-looting. The r-click to quickloot often uses whatever is in your hand. I had a very funny experience while building a 60-block watervator down to my mines. I made a critical error and ended up drowning about 20 blocks from the top. I drained the watervator and carefully worked my way down the narrow shaft (I build my watervators 1x3). Finally finding my coffin while perched precariously above the mineshaft, I r-clicked the sign to quickloot, not thinking about the bucket of water in my hand at the time... sploosh! AAAAAAaaaaa...... *splat*. Second coffin at the bottom of the mineshaft. Moral of the story: an empty hand loots best.
     
  28. Offline

    Drakia

    @MaelieJade You gave yourself tombstone.quickloot, and reloaded your permissions, correct? It should just require right-clicking the sign, as long as you haven't /reloaded everything (Everything about this plugin other then LWC protection is in-memory, if you /reload then the list of timeouts, quickloots, etc is lost)
     
  29. Offline

    Dreadreaver

    quickloot and everything else working perfectly fine for me on #556
     
  30. Offline

    MaelieJade

    Yep.
    The odd thing is, quickloot started working for me as soon as I installed Essentials.
     
  31. Offline

    NathanWolf

    LOL! :D

    Hey, I'm not killing you- my faulty code is :p

    But... how accessible is a treasure chest dropped in lava, anyway? ;)
     
Thread Status:
Not open for further replies.

Share This Page