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

    Southpaw018

    If you're using LWC, the only blocks Cenotaph ever locks are the chest, the second chest if there is one, and the sign.

    Check the permissions list. It's implemented as a permission instead of a config setting to allow more granular settings. :)

    You've encountered a bug I've known about for a while. Let me try fixing it again.

    Let me check into whether I can use my Creeper Protection code to also protect against artificial explosions from plugins.

    As for the clutter issue - unfortunately, there isn't much I can do to help on this one. If you're on a server that's getting cluttered with chests, I've got an update I'm about to post with two new features that might help, but Cenotaph has to draw the line somewhere with what it's willing to replace, and I definitely don't want to enable it to destroy other chests. :(

    Unfortunately, no. I don't have it. :( What's not working with 953? Maybe I can make 1.6.3 backward compatible.

    Question for everyone out there: does anyone actually set the playerMessage config to false? Thinking about removing it. (I won't if you guys use it, though!)

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

    vobilli

    Ah well, I'll just wait until we update to 1000. Thank you tho!
     
  4. Offline

    MaWe4585

    i don't eant you to destrpy any chests :D
    can you fill the chests that are there up with the items and put signs on it?
    i don't know though what to do if there is a sign on it already.
     
  5. Offline

    Southpaw018

    Unfortunately, that is outside the scope of this plugin. Sorry. :( It's designed so that 1 player death = 1 new cenotaph. If you have an issue with chest clutter, you need to tweak your settings so that more chests are removed more quickly.
     
  6. Offline

    Fly007

    so I cant set it up if im not using permissions? (as I'm not using permissions..)
     
  7. Offline

    Southpaw018

    Update! 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

    Ping: @Shooty @Zarius :)
     
  8. Offline

    Shooty

  9. Offline

    Zarius

    Excellent! :) Thanks for that - and the custom sign messages, will test it out soon :)
     
  10. Offline

    Shooty

    bug : Cenotaph was not created on soulsand (if an ice is under)
     
  11. Offline

    Ratchet

  12. Offline

    Pythros

    When using QuickLoot, is the chest suppose to be destroyed or go into the player's inventory? If it is suppose to do the latter, then it isn't on my server and I have no idea how to fix it. If it's the first, option to do the latter please? :)
     
  13. Offline

    Southpaw018

    It's supposed to be destroyed. I'll add this in as a future feature, but I can't tell you when it might go in. :)

    Hrm. That's a tough one. I'd bet both Cenotaph and GoldenRevive are both using the same priority when registering death events - for the record, Cenotaph uses Priority.Normal, not High. Let me see what I can do.

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

    Ratchet

    cool, thanks for looking in to it :)!
     
  15. Offline

    Pythros

    Ah! Ok. I was under the impression that it gave it back. I'll wait patiently for it to be implemented. Thanks!
     
  16. Offline

    Southpaw018

    I'm going to test 1.6.3 the next time I have some playtime - likely tomorrow or this weekend - and then check into the GoldenRevive conflict (ping: @Ratchet). 1.6.3 will contain more customizations for the signs - death messages and date and time formatting (ping: @1hacker). :)
     
  17. Is this plugin the same as tomestone where it does not support Permissions Bukkit?
     
  18. Offline

    Southpaw018

    I'll add support for PermissionsBukkit (and Bukkit Superperms) this week. Stand by.
     
  19. Offline

    LlmDl

    Hi @Southpaw018

    I'm still using version 1.6.2 of your plugin in combination with Lockette 1.3.8. Pretty much everything is as it should be except the timeouts on lockette security aren't happening. Here's my config.

    I've one more feature request: It's something that I've found myself policing once I had told my players cenotaph-lockette signs get removed after 8 hours. Knowing they (should be) unlocking in hours, if Player A dies on Player B's protected land, Player B is placing a block directly above Player A's cenotaph. This stops Player A from being able to open the chest in the 8 hours window, and basically makes a cenotaph pointless.
    If you could deny any blocks being placed directly above a cenotaph that would stop this behaviour.

    Also: A reminder to please add the 'requiring a sign in the inventory for a lockette sign to be placed' feature.

    Cheers!
     
  20. Offline

    Southpaw018

    Sorry for the lack of updates, everyone. Life has been kinda crazy.

    Update! Version 1.6.4 (1.6.3 was not publicly released)
    [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] (Not publicly released)
    - Customizable death messages for signs
    - Customizable time and date formats for signs

    Ping: @Jade Knightblazer, @1hacker
     
  21. Offline

    1hacker

    Thank you :D
     
  22. thanks a bunch!
     
  23. Offline

    undeadmach1ne

    i jsut updated and i get this on boot now. i tried deleting my cfgs and restarting a few times but its not helping. im using 1060. let me know if there is any other info you need...

    edit - is there an older version download available for now im a dumbass and overwrote the one in my backup folder with this one.

    Code:
    15:37:58 [SEVERE] Could not load 'plugins\Cenotaph.jar' in folder 'plugins':
    while scanning for the next token
    found character         '\t' that cannot start any token
     in "<reader>", line 36, column 1:
            default: true
        ^
    
            at org.yaml.snakeyaml.scanner.ScannerImpl.fetchMoreTokens(ScannerImpl.ja
    va:360)
            at org.yaml.snakeyaml.scanner.ScannerImpl.checkToken(ScannerImpl.java:18
    3)
            at org.yaml.snakeyaml.parser.ParserImpl$ParseBlockMappingKey.produce(Par
    serImpl.java:564)
            at org.yaml.snakeyaml.parser.ParserImpl.peekEvent(ParserImpl.java:163)
            at org.yaml.snakeyaml.parser.ParserImpl.checkEvent(ParserImpl.java:148)
            at org.yaml.snakeyaml.composer.Composer.composeMappingNode(Composer.java
    :228)
            at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:160)
            at org.yaml.snakeyaml.composer.Composer.composeMappingNode(Composer.java
    :230)
            at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:160)
            at org.yaml.snakeyaml.composer.Composer.composeMappingNode(Composer.java
    :230)
            at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:160)
            at org.yaml.snakeyaml.composer.Composer.composeDocument(Composer.java:12
    2)
            at org.yaml.snakeyaml.composer.Composer.getSingleNode(Composer.java:105)
    
            at org.yaml.snakeyaml.constructor.BaseConstructor.getSingleData(BaseCons
    tructor.java:124)
            at org.yaml.snakeyaml.Yaml.load(Yaml.java:264)
            at org.yaml.snakeyaml.Yaml.load(Yaml.java:250)
            at org.bukkit.plugin.PluginDescriptionFile.<init>(PluginDescriptionFile.
    java:36)
            at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.j
    ava:69)
            at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.
    java:213)
            at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager
    .java:136)
            at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:143)
            at org.bukkit.craftbukkit.CraftServer.<init>(CraftServer.java:110)
            at net.minecraft.server.ServerConfigurationManager.<init>(ServerConfigur
    ationManager.java:51)
            at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:133)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:337)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
     
  24. Offline

    Southpaw018

    That's my fault - typo in the plygin.yml. Stand by.
     
  25. Offline

    undeadmach1ne

    ok cool :) i just made a noob mistake updating bookworm so im glad this one wasnt another case of me being stupid too lol (brain functions at minimal levels today apparently).
     
  26. Offline

    Southpaw018

    Should be fixed - please redownload. Sorry about that :(
     
  27. I keep getting a null pointer exception error every time I start the server;

    This doesn't occur when I use the last version of the plugin I used, 1.6.1.

    Code:
    03:38:21 [SEVERE] Error occurred while enabling Cenotaph v1.6.4 (Is it up to date?): null[/FONT]
    [FONT=Optima]java.lang.NullPointerException[/FONT]
    [FONT=Optima]    at com.MoofIT.Minecraft.Cenotaph.Cenotaph.loadConfig(Cenotaph.java:279)[/FONT]
    [FONT=Optima]    at com.MoofIT.Minecraft.Cenotaph.Cenotaph.onEnable(Cenotaph.java:210)[/FONT]
    [FONT=Optima]    at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:126)[/FONT]
    [FONT=Optima]    at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:885)[/FONT]
    [FONT=Optima]    at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:278)[/FONT]
    [FONT=Optima]    at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:178)[/FONT]
    [FONT=Optima]    at org.bukkit.craftbukkit.CraftServer.enablePlugins(CraftServer.java:161)[/FONT]
    [FONT=Optima]    at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:286)[/FONT]
    [FONT=Optima]    at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:273)[/FONT]
    [FONT=Optima]    at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:149)[/FONT]
    [FONT=Optima]    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:337)[/FONT]
    [FONT=Optima]    at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)[/FONT]
    [FONT=Optima]
    [/CODE][/FONT]
     
  28. Offline

    undeadmach1ne

    ^ me too

    edit - only with spout server plugin installed? strange...when i pull that from my plugins folder it starts up and seems to function properly.
     
  29. That's right.
     
  30. Offline

    Southpaw018

    Guys, I'll debug this one ASAP. Will try to get some coding time today.

    *mutters* what a bizarre plugin conflict...
     
  31. Offline

    undeadmach1ne

    well i am in no hurry personally. i have found spout is the root of almost all my server problems lately so im happy to remove it at this point (it was the first thing i checked when cenotaph threw that error and lo-and-behold, it worked)...it seems awesome and so promising, but holy crap i just want to play minecraft sometimes you know? :)
     
    Inscrutable likes this.

Share This Page