Inactive [SEC/MISC] Cenotaph 2.1.2 - A Dead Man's Chest plugin [1.2.5-R1.0/2149]

Discussion in 'Inactive/Unsupported Plugins' started by Southpaw018, Jun 5, 2011.

  1. Offline

    Southpaw018

    Cenotaph - A Dead Man's Chest plugin
    Version: 2.1.2

    Plugin Dependencies
    Lockette (Optional) OR LWC (Optional)

    Cenotaph is a fork of the most excellent Tombstone by Drakia. As he has stopped development, I decided to take it up and add some features I wanted (and that some users on the forums have requested).

    Download, Source, and Bug Reports/Feature Suggestions
    Download: http://www.moofit.com/minecraft/Cenotaph.jar
    Github: http://github.com/Southpaw018/Cenotaph

    What's a Cenotaph?
    A Cenotaph is a monument to a dead person who is either buried elsewhere or whose body is not available for burial. If you think about it, it exactly fits the situation - there's no body, since you've respawned ;)

    Features:
    When your players die, depending on how you have things set up, their items will be placed in a Dead Man's Chest for safekeeping. You can require that your players carry around chests and signs of their own at all times, or simply have the chests appear on death. You can also secure the chests with LWC3 or Lockette.

    More specifically:
    Show Spoiler

    • 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 cenotaph if not available
    • Supports LWC for chest AND sign protection if it is installed
    • Supports Lockette for chest protection if it is installed
    • Configurable timeout for LWC unprotection
    • Configurable timeout for destruction of cenotaphs, works in unloaded chunks as well
    • Quickloot support, right click the sign on a cenotaph to loot all items in it (your chest only!)
    • Place a sign on top of the chest stating the players name and time of death
    • The ability to point your compass at your cenotaph
    • Customizable sign messages on the cenotaph
    • Admin commands for management


    Coming Soon

    See what's coming soon, report bugs, and add your own requests on the Github project!
    1.3: Initial public release, Lockette support
    1.4: General features and bug fixes, round 1
    1.5: Plugin organization
    1.6: Additional features
    2.0: Brought back from the dead after 5 months of inactivity, updated for Release
    2.1: Highly requested features
    2.2: Major cleanup, Towny integration
    2.3: Economy integration
    2.4: More feature requests

    Configuration
    See the default config file on Github for annotations and explanations.

    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, set the noDestroy option in the Cenotaph config file.
    • If you do set the noDestroy option, it is highly recommended that you set a timeout for Cenotaph removal, because even once LWC is disabled the chest is still not destroyable by any means other than quicklooting it or an admin with permissions breaking it.
    • With noDestroy enabled, if a player dies without a sign, then their chest will be indestructible until it is removed by Cenotaph itself.
    • It is not recommended to use the noDestroy option without the destroyQuickLoot option
    Permissions

    Show Spoiler
    cenotaph.use - Allow the player/group to use the cenotaph plugin
    cenotaph.freechest - Allow the player to get a chest whether they are carrying a chest or not
    cenotaph.large - Allow the player to spawn a large chest if carrying two chests and if one will fit
    cenotaph.lwc - Protect the placed chest if LWC is enabled
    cenotaph.lockette - Protect the placed chest if Lockette is enabled
    cenotaph.sign - Whether the player gets a sign on their cenotaph chest
    cenotaph.freesign - Allow the player to get a free sign whether they are carrying one or not.
    cenotaph.freelockettesign - Give the player an additional free sign for Lockette
    cenotaph.quickloot - Whether to allow a player/group to quickloot by right clicking the cenotaph sign.
    cenotaph.cmd.cenotaphlist - Allow this user to use /cenlist
    cenotaph.cmd.cenotaphfind - Allow this user to use /cenfind
    cenotaph.cmd.cenotaphtime - Allow this user to use /centime
    cenotaph.cmd.cenotaphreset - Allow this user to use /cenreset

    cenotaph.admin - Allow this user to physically destroy others' cenotaphs. Also a prerequisite for use of the other admin commands
    cenotaph.admin.list - Allow this user to see all cenotaphs
    cenotaph.admin.find - Allow this user to find any cenotaph
    cenotaph.admin.time - Allow this user to check the time left on any cenotaph
    cenotaph.admin.remove - Allow this user to destroy any cenotaph


    Credits
    @Drakia: Cenotaph was originally Tombstone, by Drakia (TheDgtl). Many thanks to him for his hard work on the original plugin.
    @Acru: Thanks to Acru, the developer of Lockette, as well. His help getting the Lockette integration working as I stumbled by way though picking up Java was invaluable. :)

    Commands
    Show Spoiler

    /cenlist - List all your cenotaphs
    /cenfind <index> - Gives you a direction from your current location to your cenotaph and sets your compass to point at it
    /centime <index> - Tells you how much time is left before the specified cenotaph has its protection remove or it breaks
    /cenreset - Reset compass to point to spawn

    /cenadmin list - List all players who have cenotaphs spawned
    /cenadmin list <playerCaseSensitive> - List all cenotaphs belonging to <player>
    /cenadmin find <playerCaseSensitive> <index> - Show details on <player>'s cenotaph <index>
    /cenadmin remove <playerCaseSensitive> <index> - Destroys <player>'s cenotaph <index> and drops its contents on the ground
    /cenadmin time <playerCaseSensitive> <index>
    /cenadmin version - Show current version of Cenotaph and check for a new version



    Changelog:
    Version 2.1.2
    *Optimized break override options (keepUntilEmpty and breakWhenEmpty)
    *Add death messages for beta 1.8 monsters (Finally...yikes. Sorry, everyone.)
    *Work around an error caused by missing or invalid deathMessage entries (Thanks, ffkhrocks)
    Version 2.1.1
    *Fix issue loading .db save files from pre-2.1 versions (Thanks, Inscrutable)
    Version 2.1
    *Added option for level-based time removal
    *Added requirement for Lockette sign to be carried in inventory (free sign permission available)
    *Added option to disable in specific worlds by name
    Show Spoiler

    Version 2.0
    *Updated listeners to new Bukkit API
    *Updated config to new Bukkit API
    *Removed support for Nijikokun's old Permissions plugin
    *Updated to latest LWC API
    *Added cenadmin reload command
    Version 1.6.6
    *Fixed NullPointerException when using defaults for deathMessages instead of the values in the config file
    *Added config check to /cenadmin version
    *Fixed bug with break messages always displaying at original timeout when quicklooted
    Version 1.6.5
    *Fixed a few additional bugs
    *Fixed conflict with Spout under CB1060
    Version 1.6.4
    *Add Bukkit Superperms
    *Remove deprecated Bukkit method getFace()
    *Merging some of Drakia's recent Tombstone fixes
    -Fix clearing of player's cenotaph list on quickloot
    -Fix LWC API error
    Version 1.6.3
    *Customizable death messages for signs
    *Customizable time and date formats for signs
    Version 1.6.2
    *Option to remove cenotaphs once they are empty, regardless of other settings
    *Option to keep cenotaphs UNTIL they are empty, regardless of other settings
    *Fixed bug allowing players to break into Lockette-protected cenotaphs
    Version 1.6.1
    *Security options now apply to both Lockette and LWC (requires config.yml update)
    *New command: /centime, /cenadmin time
    Version 1.6.0
    *Updated for Craftbukkit RB1000
    *Fixed customizable signs
    *Added admin commands
    Version 1.5.4
    *Customizable signs (Thanks to @Drakia for his death cause code)
    Version 1.5.3
    *Re-enable compass integration (Thanks, @Zarius!)
    *Build against Craftbukkit RB953
    *Build against LWC 3.3
    *Build against Permissions 3
    Version 1.5.2
    *Fix bug causing Cenotaph to throw an error on enable if the folder containing config.yml did not exist
    *Fix bug where the Void check was only working if the player died in the Void above the world and not below
    Version 1.5.1
    *Fix bug allowing a free sign if Lockette sign was broken off a chest
    Version 1.5.0
    *Fix config file handling - no more needless file overwrites
    *Gracefully handle missing or invalid config files by downloading a fresh commented copy
    *Create config file versioning system to avoid errors with updates
    Version 1.4.4
    *Added config version check
    *Final 1.4 release
    Version 1.4.3
    *Basic protection against creeper explosions, disabled by default
    Version 1.4.2
    *Option to disable the void check for servers that have other plugins to handle it
    *Minor code changes
    Version 1.4.1
    *Now checks for updates on server startup
    Version 1.4.0
    *Do not attempt to create chests in the Void
    Version 1.3.2
    *Configuration cleanup and changes, bug fixes for initial public release
    Version 1.3.1
    *Add Lockette support
    Version 1.3
    *Convert from Tombstone to Cenotaph
     
  2. Offline

    Ratchet

    anyone have 1.6.1 for now? getting that same error with 1.6.4
     
  3. Offline

    Southpaw018

    I can't fix it right now and I have to stop debugging for a bit. Can anyone test if 1.6.4 with CB1060 fixes it?

    Okay, we're back in business. I have Cenotaph 1.6.5 successfully loaded on my server with the latest Spout and CB1060.

    [Version 1.6.5]
    - Fixed a few additional bugs
    - Fixed load error with Spout under CB1060

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

    Derek Rhode

    I love you, If you were a girl I'd want to make babies with you!
     
  5. Offline

    Arteveld

    First of all, thank You for creating this plugin.
    Now for the "i've got a problem" part.
    I was testing the plugin and died a few times, it worked perfectly [v1.6.5 on CB106o]. That is, until i've been blown up by a creeper, and my chest did not appear.
    The tombList-gruby.db lists a gravesite : "gruby,164,14,73::gruby,164,15,73:arteveld:1313758580:false"

    The only change in the configuration that i've made was a default=true for cenotaph.large in cenotaph.jar, though i am yet to create a doublechest cenotaph. I've died a few times with more than enough chests, yet it never created a doublechest for me. Does the plugin require enough inventory items to create a double chest? Or is this somehow connected to my problem?
    Perhaps a command line to "move" a cenotaph to a specified x,y,z would help sorting such issues?

    A list of plugins that i am using: Cenotaph, CraftBukkitUpToDate, Pail, Spout, mPasswordProtector, DispNameChanger, and a self modified HeroicDeath plugin [adding the death coordinates to the messages, borrowed from the DethAl3rtz plugin].
    There were no errors nor warnings in the server console.
     
  6. Offline

    Southpaw018

    The creeper blew up your cenotaph. Enable creeperProtection in the config, or lock your chests using Lockette or LWC to prevent that from happening.
     
  7. Offline

    Arteveld

    Ah. So it's completely ok that the tombList still shows a cenotaph, despite there is none [chest/sign]?
    Anyhow, i'm adjusting creeperProtection now. Thank You!:)
     
  8. Offline

    Southpaw018

    Er. I missed that point in your original post. No, that's a bug. I'll check it out.
     
  9. Offline

    Rsccman

    16:11:46 [SEVERE] Error occurred while enabling Cenotaph v1.6.5 (Is it up to date?): null
    java.lang.NullPointerException
    at com.MoofIT.Minecraft.Cenotaph.Cenotaph.loadConfig(Cenotaph.java:285)
    at com.MoofIT.Minecraft.Cenotaph.Cenotaph.onEnable(Cenotaph.java:214)
    at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:126)
    at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:885)
    at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:278)
    at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:178)
    at org.bukkit.craftbukkit.CraftServer.enablePlugins(CraftServer.java:161)
    at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:286)
    at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:273)
    at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:149)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:337)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
    bukkit 1060
    all things awlays updated i look for updates every 5 hours
     
  10. Offline

    Southpaw018

    Hmm. Could you post here/Pastie/Pastebin your config.yml, please?
     
  11. Offline

    Rsccman

    it was vinilla from the .jar it created
     
  12. Offline

    Cakiman

    Wonderful plugin, only problem i'm having is that after the protection and the chest is removed, if players place a block, they wont be able to later remove it, as it is showed owned by the player who died there.
     
  13. Offline

    LlmDl

    I haven't been able to get the security timeout on the added lockette sign to work on 1.6.5 and RB 1060.
    Here's my config: http://pastebin.com/HuGRvYGV

    I tested it by setting the timeout to 60 seconds after not seeing any cenotaphs unlock.
     
  14. Offline

    Rsccman

    lwc stops protecting the chests and signs when dead
     
  15. Offline

    Southpaw018

    Could you elaborate, please? Also, did the error you have disappear?

    Thank you for testing that out, man. I apologize for the delay - going to try to work on this tonight. (I can't make you any promises, though :()
     
  16. Offline

    Rsccman

    i think its cuz somedumbass edited my config files -.-
     
  17. Offline

    Southpaw018

    Dang. Okay, I'll try to figure it out. I should gracefully handle any config file errors rather than allowing Java to throw an error in the console.
     
  18. Offline

    Zalerinian

    i had gotten the same error as Rsccman, but i just downloaded it as vanilla, as i only wanted to look at the config file (i dont run my server anymore, not my bukkit one at least) and i got that error, and i didnt do anything. just incase, heres the error again:
    Show Spoiler
    [SEVERE] Error occurred while enabling Cenotaph v1.6.5 (Is it up to date?): null
    java.lang.NullPointerException
    at com.MoofIT.Minecraft.Cenotaph.Cenotaph.loadConfig(Cenotaph.java:285)
    at com.MoofIT.Minecraft.Cenotaph.Cenotaph.onEnable(Cenotaph.java:214)
    at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:126)
    at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:878)
    at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:272)
    at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:162)
    at org.bukkit.craftbukkit.CraftServer.enablePlugins(CraftServer.java:146)
    at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:287)
    at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:274)
    at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:151)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:338)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
     
  19. Offline

    Xmillsa

    Same problem here, Bukkit 1060 and Cenotaph 1.6.5

    Show Spoiler
    18:46:25 [INFO] [Cenotaph] Configuration error or no config file found. Downloading default config file...
    18:46:27 [SEVERE] Error occurred while enabling Cenotaph v1.6.5 (Is it up to date?): null java.lang.NullPointerException
    at com.MoofIT.Minecraft.Cenotaph.Cenotaph.loadConfig(Cenotaph.java:285)
    at com.MoofIT.Minecraft.Cenotaph.Cenotaph.onEnable(Cenotaph.java:214)
    at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:126)
    at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:885)
    at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:278)
    at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:178)
    at org.bukkit.craftbukkit.CraftServer.enablePlugins(CraftServer.java:161)
    at org.bukkit.craftbukkit.CraftServer.reload(CraftServer.java:452)
    at org.bukkit.command.SimpleCommandMap$ReloadCommand.execute(SimpleCommandMap.java:281)
    at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:129)
    at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:352)
    at net.minecraft.server.NetServerHandler.handleCommand(NetServerHandler.java:737)
    at net.minecraft.server.NetServerHandler.chat(NetServerHandler.java:701)
    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:694)
    at net.minecraft.server.Packet3Chat.a(Packet3Chat.java:33)
    at net.minecraft.server.NetworkManager.b(NetworkManager.java:226)
    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:89)
    at org.getspout.spout.SpoutNetServerHandler.a(SpoutNetServerHandler.java:436)
    at net.minecraft.server.NetworkListenThread.a(SourceFile:105)
    at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:454)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:363)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
     
  20. Offline

    Southpaw018

    Update! Lots of bugs you guys have run into fixed. Thank Hurricane Irene for the coding time :D

    [Version 1.6.6]
    - Fixed NullPointerException when using defaults for deathMessages instead of the values in the config file
    - Added config check to /cenadmin version
    - Fixed bug with break messages always displaying at original timeout when quicklooted (for example, if you have chests set to break in 15 min, if a player quickloots before then, they still get a "Your cenotaph has been destroyed!" message 15 minutes after they died)

    I can't duplicate that bug :( Might there be something else on your server protecting signs, or something to that effect? The security timeout works in both my test environment and on my live server.

    Basically, for Lockette, when the securitytimeout expires, it just sets the sign to material air. That's it.

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

    Tanite

    Is this working good with LWC 3.41?

    hehe :p
     
  22. Simple, effective, and configurable. Thanks for this plug in.
     
  23. Offline

    Southpaw018

    Yay! Glad you like it :D
     
  24. Offline

    Xander0311

    +1 Like for this amazing mod! We're using it on our server to allow the new Minecraft players deal with mobs, without too much fear of losing everything at once.

    Southpaw, question:
    I've updated from v1.6.1 to v1.6.6 and noticed that the "auto create chest" option has disappeared. The mod still works if the player is holding a chest in their inventory, but before, it would automatically create a chest and sign even if the player didn't have a chest/sign to use. Was this option removed permentally or just a bug currently?
     
  25. Offline

    Southpaw018

    I'm so glad you enjoy and get good use from the plugin! :D

    Hmm. I upgraded to Bukkit Superperms, and the free chest/sign is actually a permission and not a setting. I' mcertain that has something to do with it. Try explicitly granting your players the cenotaph.freechest and cenotaph.freesign permission and see if that does the trick. If not, there may be something else at work.

    I've added a convenience cenotaph.user.* permission in the latest dev build, but it's not publicly available yet.
     
  26. I have the same problem with security remove, when i set it to false, and when someone dies it tells him that his chest is going to be unprotected in x second (even if i set to false ...).

    Code:
    Security:
        LocketteEnable: false
        lwcEnable: true
    
        #Remove security after securityTimeout seconds
        securityRemove: false
        securityTimeout: 3600
    
        #Set LWC protection to Public instead of removing it after the timeout
        lwcPublic: false
    Alors, chest don't go unprotected after x second (using LWC) :
    Code:
    Security:
        LocketteEnable: false
        lwcEnable: true
        #Remove security after securityTimeout seconds
        securityRemove: true
        securityTimeout: 30
    
        #Set LWC protection to Public instead of removing it after the timeout
        lwcPublic: true
    Doesn't work
     
  27. Offline

    LlmDl

    I am also not seeing security remove, using lockette and an 8 hour delay on security removal.
     
  28. Offline

    Southpaw018

    We may have two separate problems here. @LlmDl: does the Lockette sign disappear, or no? Do you have something else running on your server that might be protecting signs and preventing Cenotaph from breaking the Lockette sign off the chest?

    @Arno00: I need to pretty carefully review LWC's APIs. They've done some extremely funky stuff lately, including some undocumented changes, that have likely broken Cenotaph's functionality in that regard. Please stand by.
     
  29. Offline

    LlmDl

    The lockette sign is not disappearing, no other plugins are preventing signs from being removed/blanked.
     
  30. Offline

    Southpaw018

    Hmm. Okay, does /centime # or /cenadmin player # list a time left before security unlock, or no?
     
  31. Offline

    LlmDl

    I just made a cenotaph and used /centime 1, it says Security will be removed from your cenotaph in 28777 seconds.
     

Share This Page