[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

    Drakia

    @RazMaTaz Basic functionality (One chest, sign, LWC and quickloot) is provided without permissions, customization requires either compiling yourself, or installing Permissions.
    @killerbeez Destroy on quickloot happens as long as the chest was fully emptied. Quickloot itself is working for you, correct?
     
  3. Offline

    RazMaTaz

    The two chest requiring permission, can you say what version that changed in? I used to get two chests.
     
  4. Offline

    Drakia

    Since version 0.03 (When I switched to having Permissions optional instead of required) it has not given a large chest if you don't have Permissions installed.
     
  5. Offline

    RazMaTaz

    Wow- Guess I didn't realize I had been running it since that version. Thanks. :)

    Looking at the source it looks like I could easily change it to do what I want. Time to go look up how to setup everything to compile it myself. :) .. maybe .. :)
     
  6. Offline

    Drakia

    Well, no, because before 0.03 it REQUIRED permissions. There has never been a time where it would give you a large chest without Permissions.
    To compile yourself here is a basic outline of what to do:
    http://forums.bukkit.org/threads/mi...n-for-bukkit-b556jnks.3923/page-6#post-143524
    Even if you don't plan on using Permissions/LWC they are still required to compile, unless you plan on removing all Permissions/LWC code.

    It is an easy change to make it give you a large chest without Permissions, just change a few falses to trues. It's just not what I want the default behaviour to be.
     
  7. Offline

    Kainzo

    I think this is an awesome idea .. my lord. I'll be throwing this into our server tomorrow.
     
  8. Offline

    Drakia

    [Version 1.1.0] - Only updating for LWC2 from here on
    - Changed versioning scheme
    - Changed loading of permissions/LWC
     
  9. Offline

    killerbeez

    Yes, it loots the items, just does not destroy the chest and sign afterwards, everyone including myself has to punch it to destroy it.
     
  10. Offline

    Drakia

    If you're running a version that has the DestroyQuickLoot then that should work, I don't know why it wouldn't. All it does is set the block types to air.
     
  11. Offline

    lazy_architect

    Anyway or chance this can support lockette? Found my answer.
     
  12. Offline

    Drakia

    No, sorry.
     
  13. Offline

    City Builder

    Hi,
    Just installed tombstone and when I reloaded permissions I am getting this error, don't know if it's related with tombstone but since I never got it before installing tombstone I have to think it might be a good chance that's where it's causing an issue
    Code:
    2011-03-29 01:03:56 [SEVERE] Exception in thread "Thread-3437"
    2011-03-29 01:03:56 [SEVERE] java.lang.NoClassDefFoundError: Could not initialize class com.mysql.jdbc.SQLError
    2011-03-29 01:03:56 [SEVERE]     at com.mysql.jdbc.ConnectionImpl.checkClosed(ConnectionImpl.java:1098)
    2011-03-29 01:03:56 [SEVERE]     at com.mysql.jdbc.ConnectionImpl.getMetaData(ConnectionImpl.java:2987)
    2011-03-29 01:03:56 [SEVERE]     at com.mysql.jdbc.ConnectionImpl.getMetaData(ConnectionImpl.java:2982)
    2011-03-29 01:03:56 [SEVERE]     at me.taylorkelly.bigbrother.datasource.JDCConnection.validate(JDCConnection.java:58)
    2011-03-29 01:03:56 [SEVERE]     at me.taylorkelly.bigbrother.datasource.ConnectionService.reapConnections(ConnectionService.java:48)
    2011-03-29 01:03:56 [SEVERE]     at me.taylorkelly.bigbrother.datasource.ConnectionReaper.run(ConnectionService.java:105)
    

    This server is running Craftbukkit version git-Bukkit-0.0.0-544-g6c6c30a-b556jnks (MC: 1.3)
     
  14. Offline

    Drakia

    That is caused by BigBrother, looks like it can't find the MySQL connector.
     
  15. Offline

    Kainzo

    Fully supporting Tombstone. What an AWESOME plugin - thank you for your hard work and great contributions.

    @Drakia
    What kind of timer system do you use for this plugin? Does it use the Scheduler or the Time stamp on the server?

    The scheduler on larger servers will not have very accurate results for the actual time - seeing that the majority of servers above 30-40 players will not get the same 'tick rate' of the servers under 20 players.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 8, 2016
  16. Offline

    RazMaTaz

    Sounds like a good option to go in the config file. :)


    btw- What build of Bukkit do I need to go along with 556 Craftbukkit? regarding compiling
     
  17. Offline

    Drakia

    Updated to build 600!
     
  18. Offline

    Tonnerre

    Do you have a link to v1.1.0? I'm still using build 556 because most of my plugins don't support it yet.
     
  19. Offline

    Drakia

    Updated first post with link, however be aware that I will not offer support for this version if you have issues.
    @RazMaTaz If you go to the CraftBukkit CI page, it's listed under "Upstream Builds" in the CraftBukkit build page.

    @Kainzo Sorry about delayed response, missed the alert for that post.
    I use the scheduler for a regular check (Every ~30 seconds) but removal is based on system time.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 8, 2016
  20. Offline

    Kainzo

    @Drakia - thats alright, I was just wondering why we were seeing very LONG times when it was set to be something very small. Is it possible to talk you out of using the timer and maybe into using the timestamp method?
    With 20 players online - the scheduler is GREAT - with 60 - we feel are getting 1/5th the amount of 'ticks' that the scheduler keeps track of.. so anything that is having to do with the scheduler will see a massive delay and almost be unusable :(
     
  21. Offline

    Drakia

    I use both, the scheduler is used for "regular interval" checking, which is every 30 seconds. Picking whether or not to remove a given tombstone is done using timestamps.
    There's nothing else I can do to change that though, it's either check far more often (Which I don't want to do, it would just cause lag) or use a different thread which would corrupt your world.
    You say your timeouts are very small, what kind of small are we talking?
     
  22. Offline

    RazMaTaz

    What causes a tombstone to be invalid in the db file? I went to the xyx location and the chest/sign was still there although the functionality of tombstone was not because it said invalid tombstone on startup.
     
  23. Offline

    Drakia

    Just realized the tombstone will always be invalid after a full server restart (I was testing with server reloads, not restarts) because it's invalid if the player is offline, or the block isn't a chest. Will fix in next release.
    @RazMaTaz Fixed in v1.1.2
     
  24. Offline

    Jessicadawn

    When the owner of the tombstone goes to destroy it the chest doesnt destroy. When an admin goes to it doesnt destroy unless using super pickaxe. fix?
     
  25. Offline

    Drakia

    @Jessicadawn That should only happen if the "noDestroy" option is set to true in the Tombstone config.yml file, or if you have LWCEnabled set to true, and somebody besides the owner tries to destroy it (This does include admins)
    I just added tombstone.admin which will allow admins to destroy tombstones even with noDestroy enabled.
     
  26. Offline

    Jessicadawn

    The noDestroy has been false and the LWCEnabled was true and changed to false and still cant be destroyed and we cudnt right click to collect items.
     
  27. Offline

    Drakia

    @Jessicadawn Are you running any other plugins that may be interfering?
    Does the player get the message "Tombstone unable to be destroyed"?
    Also, are you by any chance in the spawn region? Cause I know that caused issue on my testing server.

    I just uploaded 1.1.4, give that a shot, it adds some more checks before cancelling the event in case of LWC protection.
     
  28. Offline

    Jessicadawn

    We do have lwc but the LWC thing you said we set to false and it didnt work. And no errors pop up it just respawns. and we far away from spawn. I will tell my fiance too
     
  29. Offline

    Drakia

    @Jessicadawn That's weird, did you try with v1.1.4? I added an extra check for when LWC is disabled (There was a chance it would still respawn).
    Are you sure it's not another plugin regenerating it?
     
  30. Offline

    Jessicadawn

    I dont see what other plugins would regenerate it. But Ill let you know if it works when we update in 1 hr 30 mins
     
  31. Offline

    TOAST7312

    Got this error on CB 612, tombstone 1.1.4, upon figuring out my /god commands from another plugin weren't working. AKA, I died.

    The plugin created a chest and a sign for me but all my items were just scattered all over the ground, whether or not it was a small or large chest.

    Code:
    11:36:39 [SEVERE] Could not pass event ENTITY_DEATH to Tombstone[/COLOR][/FONT]
    [COLOR=rgb(20, 20, 20)][FONT=Georgia]java.lang.NullPointerException[/FONT][/COLOR]
    [COLOR=rgb(20, 20, 20)][FONT=Georgia]        at net.TheDgtl.Tombstone.Tombstone.activateLWC(Tombstone.java:264)[/FONT][/COLOR]
    [COLOR=rgb(20, 20, 20)][FONT=Georgia]        at net.TheDgtl.Tombstone.Tombstone.access$8(Tombstone.java:256)[/FONT][/COLOR]
    [COLOR=rgb(20, 20, 20)][FONT=Georgia]        at net.TheDgtl.Tombstone.Tombstone$eListener.onEntityDeath(Tombstone.jav[/FONT][/COLOR]
    [COLOR=rgb(20, 20, 20)][FONT=Georgia]a:543)[/FONT][/COLOR]
    [COLOR=rgb(20, 20, 20)][FONT=Georgia]        at org.bukkit.plugin.java.JavaPluginLoader$39.execute(JavaPluginLoader.j[/FONT][/COLOR]
    [COLOR=rgb(20, 20, 20)][FONT=Georgia]ava:405)[/FONT][/COLOR]
    [COLOR=rgb(20, 20, 20)][FONT=Georgia]        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.jav[/FONT][/COLOR]
    [COLOR=rgb(20, 20, 20)][FONT=Georgia]a:59)[/FONT][/COLOR]
    [COLOR=rgb(20, 20, 20)][FONT=Georgia]        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.j[/FONT][/COLOR]
    [COLOR=rgb(20, 20, 20)][FONT=Georgia]ava:255)[/FONT][/COLOR]
    [COLOR=rgb(20, 20, 20)][FONT=Georgia]        at net.minecraft.server.EntityPlayer.a(EntityPlayer.java:121)[/FONT][/COLOR]
    [COLOR=rgb(20, 20, 20)][FONT=Georgia]        at net.minecraft.server.EntityLiving.a(EntityLiving.java:393)[/FONT][/COLOR]
    [COLOR=rgb(20, 20, 20)][FONT=Georgia]        at net.minecraft.server.EntityHuman.a(EntityHuman.java:409)[/FONT][/COLOR]
    [COLOR=rgb(20, 20, 20)][FONT=Georgia]        at net.minecraft.server.EntityPlayer.a(EntityPlayer.java:147)[/FONT][/COLOR]
    [COLOR=rgb(20, 20, 20)][FONT=Georgia]        at net.minecraft.server.EntityLiving.a(EntityLiving.java:491)[/FONT][/COLOR]
    [COLOR=rgb(20, 20, 20)][FONT=Georgia]        at net.minecraft.server.EntityHuman.a(EntityHuman.java:744)[/FONT][/COLOR]
    [COLOR=rgb(20, 20, 20)][FONT=Georgia]        at net.minecraft.server.Entity.a(Entity.java:580)[/FONT][/COLOR]
    [COLOR=rgb(20, 20, 20)][FONT=Georgia]        at net.minecraft.server.EntityPlayer.b(EntityPlayer.java:264)[/FONT][/COLOR]
    [COLOR=rgb(20, 20, 20)][FONT=Georgia]        at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:269)[/FONT][/COLOR]
    [COLOR=rgb(20, 20, 20)][FONT=Georgia]        at net.minecraft.server.Packet10Flying.a(SourceFile:126)[/FONT][/COLOR]
    [COLOR=rgb(20, 20, 20)][FONT=Georgia]        at net.minecraft.server.NetworkManager.a(NetworkManager.java:198)[/FONT][/COLOR]
    [COLOR=rgb(20, 20, 20)][FONT=Georgia]        at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:72)[/FONT][/COLOR]
    [COLOR=rgb(20, 20, 20)][FONT=Georgia]        at net.minecraft.server.NetworkListenThread.a(SourceFile:100)[/FONT][/COLOR]
    [COLOR=rgb(20, 20, 20)][FONT=Georgia]        at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:368)[/FONT][/COLOR]
    [COLOR=rgb(20, 20, 20)][FONT=Georgia]        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:283)[/FONT][/COLOR]
    [COLOR=rgb(20, 20, 20)][FONT=Georgia]        at net.minecraft.server.ThreadServerApplication.run(SourceFile:375)
    [/CODE][/COLOR][/FONT]
     
Thread Status:
Not open for further replies.

Share This Page