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. We fully support this plugin! Welcome the second addition to the Herocraft plugin archive!
     
  3. Offline

    Kainzo

    Testing it more now - its very lightweight and highly configurable - thanks for all the work you put in for this!
     
  4. Offline

    DiddiZ

    I like it, and it works
    Thanks [​IMG]
     
  5. Offline

    TomTish

    Omg ive been waiting for a plugin like this! :D
    I really like it, and it works great! Thank you!!! :D
     
  6. Offline

    8e8

    Darn. I was making this one myself but put it on hold for some other plugins. Has TNT death been fixed yet?
     
  7. Offline

    SquallSeeD31

    Ehhh it's kind of a hacky workaround, but so is Drowning until they fix it.

    ENTITY_DAMAGEDBYBLOCK is called when TNT causes damage, but there's no way to actually determine if it's literally TNT; the closest you can get is that the DamageCause will be BLOCK_EXPLOSION (whiiich right now is only TNT, soooo). So basically I'm checking for health in onEntityDamageByBlock and if it's <0 I'm checking event.getCause() for CONTACT, LAVA, or BLOCK_EXPLOSION.
     
  8. Offline

    8e8

    Yeah I had the same trouble with drowning, but apparently that's been fixed. I remember trying to use block_explosion to figure out if it was TNT or not, and it didn't work. I guess at the time it was impossible. Ah well. I'll just let that project collect dust since you ended up doing it as I would have. It would be pointless to release a duplicate project ;]
     
  9. Offline

    Juze

    Great re-work of DeathNotify plugin, keep it going!
     
  10. Offline

    axebyte

    great, trying it out. Been waiting for a death notify that didnt add a bunch of other stuff. good job.
     
  11. Offline

    zankioh

    I assume "Zombie" and "Skeleton" work, but how about "Slime"?
     
  12. Offline

    SquallSeeD31

    That is an outstanding question and catch. I added Pig Zombie and Ghast, but forgot Slime.

    You know, I've never /actually/ seen a slime the whole time I've played Minecraft (early-mid 2010, so before they were even added), so I guess it's easy for me to forget...

    So in total for monsters I have:
    • Zombie
    • Pig Zombie
    • Creeper
    • Skeleton
    • Spider
    • Ghast
    I'll add Slime soon. Am I missing any other monsters?
     
  13. Offline

    Kainzo

    We'll need to add Giant.
     
  14. Offline

    SquallSeeD31

    Added Giant and Slime, updated to bugfix release 1.1.1; no changes necessary to items/messages/config.

    Technically speaking, versions 1.0.0 and 1.1.0 "support" Slime/Giant in the sense that it won't break anything if you're killed by one; it'll just replace %a with "Monster" instead of the more specific "Slime" or "Giant". This update puts their proper names in.
     
  15. Offline

    Dynd

    I installed everything like said, default config. And loaded up server, it says it has enabled, but when players die nothing appears. What could I have done wrong? (craftbukkit.jar from 29/01)
     
  16. Offline

    SquallSeeD31

    HeroicDeath uses events that may not have been added prior to the build of craftbukkit that you're using. Specifically, the ENTITY_DEATH event (which actually triggers the server broadcast) wasn't implemented until a few days ago.

    As much as it annoys the bukkit developers to refer to "build" instead of commit numbers, HeroicDeath was developed and tested against craftbukkit build 211. Unfortunately if the death event did not yet exist in your build of craftbukkit, I won't be able to work around that for you. =( Sorry!
     
  17. Offline

    Aelux

    @SquallSeeD31 When getting killed by a creeper, only the "monster" tag messages are used. It would be nice if all creeper deaths would associate with ONLY the "creeper" tag.

    Thanks.
     
  18. Offline

    SquallSeeD31

    Fixed in version 1.1.2, tested in CraftBukkit 211 and 238. Use the Download Jar Only link and just drop it in your plugins folder; no config changes.
     
  19. Offline

    Dynd

    The old version of bukkit was indeed the problem, after updating its working now.

    Thanks alot for this great plugin! =D

    Edit: Btw, there is a typo in
    ":Fall
    %d fell to their death"
    Should be his (or her ofcourse).
     
  20. Offline

    Kainzo

    how does one know whether its a male or female? their is the correct way to place that, you can fall to YOUR death just as much as someone can fall to THEIR death - now if it were THERE or THEY'RE - that'd be a reason for argument
     
  21. Offline

    jwideman

    Actually, in proper English, you should not use "their" to refer to a single person. "His or her" may be unwieldy, but it is correct.
     
  22. Offline

    Kainzo

    We wont be using 'his/her' in the message to state that someone fell their death - GREAT NEWS its configurable, so change it to whatever you want.
     
  23. Offline

    FXStrato

    I feel the only problem with this is that I can't think of any good one-liners... can anyone make a list? I suck at one-liners... but I feel my clients should laugh when someone dies.
     
  24. Offline

    SeeD419

    lol nice username bro​
     
  25. Offline

    Kainzo

    Marry him why dont you!
     
    THG3 likes this.
  26. Offline

    nivomi

    For some reason this mod isn't working for me. Does it support the latest CraftBukkit?
     
  27. Offline

    montymintypie

    Found a bug, if you get killed by a dispenser that just shot an arrow at you, get the 'killed by an angry monster' message. Not sure if it's possible to determine who shot the arrow.

    Aaaaand I've added some death messages, people might be interested in adding these if they're good:

    : Drown
    %d forgot to take their Gillyweed
    %d left their snorkel at home
    %d forgot to breathe

    :Cactus
    %d had a bad peyote trip

    :Fire
    %d was immolated
    %d is a firestarter, twisted firestarter

    :Fall
    %d tried to skydive without a parachute
    %d fell to a clumsy, painful death
    %d tested gravity. Yep, still works!
    Ground 1, %d 0
    %d proved Newton right

    :Lava
    %d fell into a burning ring of fire

    :Suffocation
    %d was buried alive
     
  28. Offline

    jwideman

    It works on CB 230. What is CB up to now?

    @montyminypie: "%d test gravity. Yep, still works!"
    I love that one!
     
  29. Offline

    nivomi

    Sorry, it was my CraftBukkit version. For some wacky reason I had a modified version on my server that listed itself as version "1.2_02" instead of the CB version.
     
  30. Offline

    SquallSeeD31

    Due to Bukkit limitations, it is not possible at this time to determine who shot the arrow, or even if it is a dispenser. Javadocs indicate that this functionality is on their to-do list. However, I have scratched up a workaround that I was able to successfully test under cbukkit bamboo builds 211, 231, and 245 (current), so I've pushed that as 1.2.0.

    A default message will be added for dispensers regardless of your actions, but if you want to add custom dispenser messages, just add a new ":dispenser" label to your heroicdeath.messages file and add them below. I put some examples in the changelog.

    @nivomi: Are you getting any error messages? Which bamboo build of craftbukkit are you using? I regularly test HeroicDeath under 211 (as that was the version I released with) and whatever's current.

    EDIT: Nevermind, I see nivomi got it working. Since craftbukkit is not yet formally released, it does not display any sort of versioning information at runtime. This is expected and intended. Although informal, plugin developers and server admins tend to refer to the build numbers generated by bamboo whenever a new build of the craftbukkit jar is made available.
     

Share This Page