Inactive [INACTIVE][INFO] HeroicDeath v1.11.2: Customizable server broadcasts on player death [1185]

Discussion in 'Inactive/Unsupported Plugins' started by SquallSeeD31, Feb 2, 2011.

  1. Offline

    SquallSeeD31

    HeroicDeath - Player Death Notification Plugin (v1.11.2)
    Download HeroicDeath v1.11.2 [CraftBukkit 1174+]
    Download HeroicDeath v1.9.1 [CraftBukkit 1035~1173]
    Download HeroicDeath v1.8.2 [CraftBukkit 561~1034]
    Download HeroicDeath v1.6.1 [CraftBukkit 349~560]
    Download HeroicDeath v1.3.1 [CraftBukkit 348-]
    Latest Jar Only | In Development Jar

    COMPATIBILITY WARNING
    Due to API changes, if you are not using the latest Recommended Build of CraftBukkit, DO NOT download the latest build of HeroicDeath. I have provided links to all legacy versions of HeroicDeath based on which CraftBukkit versions they support.

    CraftIRC Integration
    Do you use CraftIRC? Do you want HeroicDeath to send its death messages to your IRC channel? Xon has developed a helper plugin to do just that! I do not maintain or test this plugin, but I am happy to endorse it and link it for any CraftIRC/HeroicDeath users who want to use both together.

    https://github.com/Xon/HeroicDeathToCraftIRC/downloads

    JSONAPI Integration
    Xon has ALSO developed a helper plugin that pushes HeroicDeath messages to JSONAPI, allowing server admins to easily procure deaths via anything capable of reading a JSON string. Thanks, Xon!

    https://github.com/downloads/Xon/HeroicDeathToJSONAPI/HeroicDeathToJSONAPI.jar

    Features
    • Broadcast cause of death when a player dies
    • Shows who killed whom in PvP and with what item
    • Shows which kind of monster was responsible for eating a player
    • Optionally shows which world they were killed in!
    • Define an unlimited (within reason) number of custom messages based on cause of death, and a random message will be chosen
    • Log deaths to a configurable file, including timestamp and location of death!
    • Send messages on a per-world basis or to the whole server, configure which worlds should get messages and which shouldn't!
    • Define the text color to be used for the message, the player(s) involved, and the "murder weapon" (for PvP deaths)
    • Customize item names to be displayed for PvP deaths (Ex. "Excalibur" instead of "Gold Sword")
    • Supports items with durability! (wood, coal, dye, wool)
    • Item list doesn't need to be updated for future Minecraft patches! (If an item is not defined in the items file, the name of its Material will be prettified and used by default)
    • Supports following causes of death (all lines below the :Tag will be treated as messages for that type of death):
      Code:
      :Drown
                          :Cactus
                          :Fire
                          :Explosion
                          :Creeper
                          :Ghast
                          :Slime
                          :Zombie
                          :PigZombie
                          :Spider
                          :Skeleton
                          :Giant
                          :Wolf
                          :Enderman
                          :CaveSpider
                          :Silverfish
                          :Chicken
                          :Cow
                          :Pig
                          :Sheep
                          :Squid
                          :Fall
                          :PVP
                          :Void
                          :Lava
                          :Other
                          :Suffocation
                          :Dispenser
                          :Lightning
                          :Suicide
                          :Starvation
    Screenshot






    [​IMG]

    Installation
    1. FAST INSTALL: Drop the JAR in your plugins directory and reload plugins; HeroicDeath will automatically create default files. If you want to edit them before your first run:
    2. Download latest .ZIP archive from the link at the top
    3. Extract the archive into your main server directory (archive contains directory mapping)
    4. Open /plugins/HeroicDeath/config.yml and configure to taste
    5. Open /plugins/HeroicDeath/heroicdeath.messages and add/remove/edit death messages
    6. Open /plugins/HeroicDeath/heroicdeath.items and add/remove/edit item names
    7. Save all configuration files and reload your server
    Configuration


    config.yml
    The config file contains default text colors and logging preferences. You can specify the chat colors that will be used for broadcasting a death message, displaying the name of the dead (and their killer if applicable), and displaying the name of the item used to kill the player (for PvP deaths). You can now also choose whether or not to log death data, death messages, and a few formatting choices for your logs.

    This file is saved in the YAML format, so please be sure to maintain the formatting and change only the element values.
    Default configuration:

    Show Spoiler
    Code:
    # HeroicDeath Configuration
    # Messages are defined in heroicdeath.messages
    # Items (for PvP kills) are defined in heroicdeath.items
    # This file is for configuration of colors, log preferences and localized mob names
    ## Color options
    ## message: Text color of death notifications, wrapped around names/item.
    ## name: Color for the name of victim and killer.
    ## item: Color for the name of the item used in a PvP death.
    #Color is defined according to the Bukkit enum ChatColor
    #Acceptable entries:
    ##BLACK
    ##DARK_BLUE
    ##DARK_GREEN
    ##DARK_AQUA
    ##DARK_RED
    ##DARK_PURPLE
    ##GOLD
    ##GRAY
    ##DARK_GRAY
    ##BLUE
    ##GREEN
    ##AQUA
    ##RED
    ##LIGHT_PURPLE
    ##YELLOW
    ##WHITE
    #
    #If color entered is inappropriate, HeroicDeath will default to the following values:
    ##message: RED
    ##name: DARK_AQUA
    ##item: GOLD
    colors:
        message: RED
        name: DARK_AQUA
        item: GOLD
    
    #Logging Preferences:
    ##data: true to log a serialized object representing all the relevant information associated with a death
    ##messages: true to log death messages (as output to the server) to a separate file
    ##time: Whether or not to timestamp messages (if logging messages), and what timestamp format to use for data/messages
    ###stamp: true to timestamp messages
    ###format: Uses format strings from Java SimpleDateFormat.  Read all here: http://download.oracle.com/javase/1.4.2/docs/api/java/text/SimpleDateFormat.html
    ##files: Filenames to store data/messages in.  A server admin could ostensibly change this value daily/weekly/monthly for collection of timed logs
    ###data: Data storage filename
    ###messages: Messages storage filename
    log:
        data: true
        messages: true
        time:
            stamp: true
            format: MM/dd/yyyy HH:mm:ss z
        files:
            data: death_data.log
            messages: death_messages.log
    
    #Event Support:
    ##If you only want HeroicDeath to send its custom event for other plugins to pick up, and NOT send the death message, set this to true.
    events:
        only: false
    
    #Localized monster names:
    ##If you would like to specify custom localization for the mob names, edit the defaults below
    monsters:
        ghast: Ghast
        slime: Slime
        monster: Monster
        zombie: Zombie
        pigzombie: PigZombie
        spider: Spider
        creeper: Creeper
        skeleton: Skeleton
        wolf: Wolf
        unknown: Unknown
        giant: Giant
    #Options
    ##useDisplayName: Set to true if you want HeroicDeath to display the player's display name instead of their fixed character name.
    ##serverBroadcast: Set to FALSE if you want HeroicDeath to only broadcast its messages in the world they belong to.
    ##worlds: Lists of quiet/loud worlds for broadcast targeting. NOTE: World names are case-sensitive.
    ###quiet: Worlds listed here will NEVER receive ANY HeroicDeath broadcasts.
    ###loud: Worlds listed here will ALWAYS receive ALL HeroicDeath broadcasts.
    options:
        useDisplayName: false
        serverBroadcast: true
        worlds:
            quiet: [peacefulworld, noobworld]
            loud: [pvpworld, nether]
    



    heroicdeath.messages
    Contains all the possible messages that can be displayed, sorted by type of death. Every line under a death type label is treated as a message for that death type, until the next label is reached. Labels are prefixed with the colon ":" and are self-explanatory.
    Variables accepted in messages:

    Code:
    %d holds the name of the dead player.
    %a holds the name of the attacking entity (player or monster) for PVP and Monster deaths.
    %i holds the name of the attacking player's current item for PVP deaths.
    %w holds the world the death occurred in
    heroicdeath.items
    This file contains custom names for the item a PvP killer is holding. The names here will be replaced in the %i marker for PvP deaths. If a mapping is not provided for an item in this file, a default name will be used automatically.
    Item Format: NAME:ID:<Optional>DATA
    Item IDs and Data Values may be found on the Minecraft Wiki
    Optional DATA parameter uses hex notation, so purple wool would be "purple wool:35:0xa"

    Localization
    If you have translated heroicdeath.messages into another language and would like to share your translation with the community, let me know! I'd be happy to share it here in the OP for those looking.

    German - By Keav - http://dl.dropbox.com/u/40701071/heroicdeath.messages

    Changelog (Download Full Changelog)
    Version 1.11.2
    • Added 1.8 mobs Enderman, Cave Spider, Silverfish
    • Added passive mobs Chicken, Cow, Pig, Sheep, Squid
    Version 1.11.1
    • Fixed an exception that would occur if the player dies without being damaged first (such as by a rogue plugin)
    Version 1.11.0
    • Added support for MC 1.8.1 death messages (by removing them)
    • Added new MC 1.8.1 items
    • Added support for STARVATION DamageCause
    Version 1.10.0
    • Added support for SUICIDE DamageCause, mainly for the /suicide and /kill default commands.
     
    kahlilnc, Chike, SmartyGeek and 20 others like this.
  2. Offline

    SquallSeeD31

    HeroicDeath has been formally updated for CB 617 with support for wolves.
     
  3. Offline

    James Richards

    when someone is exploded by TNT it does the creeper messages on latest version :S
     
  4. Offline

    SquallSeeD31

    Thanks for the report!

    Fixed in 1.7.2
     
  5. Offline

    valdark

    Working great in 1.7.2 on build 617 thanks for the speedy updates.
     
  6. Offline

    riuthamus

    Is there already a setting, or can we get one, that will limit the messages spammed, or... if we have herochat, can it send them to a channel.. cause i really hate seeing them in the middle of the rest of the convos. Although they are funny to read from time to time.
     
  7. Offline

    SquallSeeD31

    How often are people dying on your server that it becomes an issue? :confused:

    I can look into integrating with HeroChat, but what did you have in mind as far as a limit otherwise?
     
  8. Offline

    riuthamus

    Sadly, we have a lot of people, and they die often... so it does become an issue! :p
     
  9. Offline

    treepunch

    I hope I'm not missing something in this thread, but is there some way to get the deaths to announce via CraftIRC? :D
     
  10. Offline

    snouz

    Could you tell me how this plugin is different from deathtpplus?
     
  11. Offline

    SquallSeeD31

    I'm not familiar with that plugin, but at first glance its DeathNotify component is basically the same. I mean, keep in mind DeathNotify was an hMod plugin that HeroicDeath is essentially a port of, so obviously there are going to be commonalities in the plugins of anyone who wanted to emulate that functionality.

    I'd say the main difference is that HeroicDeath *only* does death messages. If you're looking for the added functionality of teleports and signs and all that, look into DeathTpPlus. If you're only looking for death messages, that's all HeroicDeath does. =)
     
  12. Offline

    TehJammers

    [​IMG]

    Just thought you guys might want to know a great success of your plugin :p

    That death message is one of about 20 creeper-related messages haha
     
  13. Offline

    SquallSeeD31

    As they say in the quote, comedy is all timing. To have that one pop from about 20 related, there's only one thing to say.
    It's super effective!
     
    TheDeejay likes this.
  14. Offline

    KoryuObihiro

    :) I've started a thread in off-topic about what we have for our death messages, if anyone is interested.
     
  15. Offline

    TehJammers

    @SquallSeeD31

    Yea, greatest thing that's happened on our server all week! :D
     
  16. Offline

    ZerG

    HEY SQUALL YOUR [617] NOW ! im going to try your plugin!
    now that ive read your information i have a question:
    how hard would it be for you to make a seperate log called kills ? have player names in there with a kill counter basically a manual ranking system for your plugin ive been looking for a rank plugin and yours might be able to cover it :D let me know ill check back in a bit.
     
  17. Offline

    SquallSeeD31

    Well, all the information is there for you in the data log, you'd just have to parse it. It's in a serialized format for that purpose. You could even ostensibly write a stats plugin that just reads HeroicDeath's data log into memory when it's loaded, then listens for HeroicDeathEvent to add to stats in memory.
     
  18. Offline

    ZerG

    it is in there O.O ? lol i didnt even get your plug in my server and you replied. im not pro at making plugins or code man it would be too much of a project for my skillset but i appreciate you telling me that i can easily move info to a website manually for top ten or whatever but making a stats plugin that read your file would be brilliant indeed...STOP BEING SO SUPPORTIVE LET ME PUT YOUR PLUG IN ! lol thanks again i appreciate the rapid response :D and ill have a peek at that log after some testing.
     
  19. Offline

    SquallSeeD31

    Okay, well yeah, it might be easier for you to visualize it if you run it yourself, but here's the last 5 lines of the data log from one of my servers:
    Code:
    urpenguin|Jared_Unicycles|276x0|ENTITY_ATTACK|(-226.0,70.0,593.0)|04/07/2011 18:21:30 EDT|Jared_Unicycles killed urpenguin wielding diamond sword
    Seinicht|321ba1|272x49|ENTITY_ATTACK|(-1.0,72.0,184.0)|04/07/2011 18:21:31 EDT|321ba1 killed Seinicht wielding stone sword
    321ba1|CACTUS||CONTACT|(12.0,73.0,207.0)|04/07/2011 18:22:09 EDT|321ba1 died to a cactus
    xOrangeBearx|Thought|267x17|ENTITY_ATTACK|(12.0,73.0,209.0)|04/07/2011 18:22:14 EDT|Thought killed xOrangeBearx wielding iron sword
    dkelley|urpenguin|267x13|ENTITY_ATTACK|(233.0,72.0,-640.0)|04/07/2011 18:22:57 EDT|urpenguin killed dkelley wielding iron sword
    So if you wanted to add up someone's kills, you'd look for ENTITY_ATTACK, and increment the number of kills for the name in the 2nd column. For bonus points: the monsters' names will be in the same place, so you can see how many kills the Skeletons on your server have scored. No statistics are generated automatically by HeroicDeath because I want to keep the plugin as "pure" as possible, but it does make a log so that you can do whatever you want with that data.

    In the future, if I get some more time (I'm developing a lot of exclusive plugins for a server I work on), I may come back to this and make my own stats plugin that uses HeroicDeath's data.
     
  20. Offline

    ZerG

    err , using that example how many kills does urpenguin have by the end of the log .
    im having a derp moment sry...
    and deaths in there as well: the negative ones ?

    (if this is a viable system and i understand your log i may start counting it today)
     
  21. Offline

    SquallSeeD31

    Well with a few grep statements I could tell you that urpenguin has 52 kills and 283 deaths in PvP. I'd recommend writing a program to help you parse the numbers if you wanted to display them on the web or something, but if you're curious about a specific player, grep is your friend. =)
     
  22. Offline

    ZerG

    omg i couldnt find those stats for urpenguin in the 5 lines it must be location, time,and such
    so the log would have to be counted in seperate events then ?
     
  23. Offline

    SquallSeeD31

    Like I said, the log doesn't include any stats of its own, it just reports on information about a given death. Each line in the log represents a distinct death event. If you want any statistics about the deaths, you'd need to parse the log file yourself for the information you want. If that's starting to sound complicated, one easy way of doing it would be to open the log file in excel.

    Excel should detect the log as a text file and prompt you with the text import wizard. On step one select delimited; on step two uncheck Tab as a delimiter, and instead check "Other" and type in the pipe character |. DO NOT check "Treat consecutive delimiters as one". You shouldn't really need to mess with the settings on step 3, but you prefer, you could do something here like convert the timestamp to excel date objects, omit importing columns you don't need, etc.

    Now, with an Excel sheet, you can AutoFilter the document and only select ENTITY_ATTACK for the damage cause, non-blank for the murder weapon, and presto, now your list only contains PvP deaths. You could further sort it by killer, then do something like subtotal for changes on killer to get a player-by-player count of kills.
     
  24. Is this plugin confirmed to work with 670? :) I don't want to update my Craftbukkit and not have this awesome plugin any more. Its just way too good to be without it.
     
    grizzlymann likes this.
  25. Offline

    KoryuObihiro

    Well, you could always test by backing up your old JAR and trying out the new one. :p
    Actually, the only major break I can recall from these builds is that ItemStack returns now return null if nothing is in the ItemStack - which is just as simple as adding a "if(itemstack == null) continue;" type of line....so....IDK. I'll try it right now.
     
  26. Offline

    lastof

    I didn't get any errors in the logs. No one has been obliging and died yet though, so I can't be 100% sure.
     
  27. Offline

    thatguy25

    I have an error:
    sorry about the size
     

    Attached Files:

  28. Offline

    SquallSeeD31

    Yes, 1.7.2 works fine with 670. That being said, I updated to 1.7.3 to fix a few small odds and ends.

    @thatguy25: You have an error in your config.yml somewhere; if you post it I can help diagnose it.
     
    TfT_02 likes this.
  29. Offline

    ashour

    well it says its enabled, i died from lava and no msg, i died from water no msg, from falling no msg help?
     
  30. Offline

    SquallSeeD31

    Set events.only to "false" in your config.yml
     
  31. Offline

    ashour

    i dont get where to put it to false? events:
    only: false
    colors:
    message: black item: yellow name: DARK_AQUA
    monsters:
    ghast: Ghast
    slime: Slime
    monster: Monster
    wolf: Wolf
    zombie: Zombie
    pigzombie: PigZombie
    spider: Spider
    creeper: Creeper
    skeleton: Skeleton
    unknown: Unknown
    giant: Giant
    log:
    files:
    data: death_data.log
    messages: death_messages.log
    time:
    format: MM/dd/yyyy HH:mm:ss z
    data: true
    messages: true
     

Share This Page