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

    Dutchy

    Works, thanks!
    --- merged: Feb 23, 2011 5:49 AM ---
    For all those interested, I've created a custom HeroicDeathEvent for other plugins to work with. You can get it at (source only) https://github.com/TuinCraft/Herocraft . I hope that's cool with you SquallSeeD31, I hope you will merge the feature into your plugin.
     
  3. Offline

    SquallSeeD31

    I've actually wanted to do this for a while, and discussed it with other members of the HeroCraft coding team. At the time I tabled the discussion due to a general lack of interest, but hey, let's let the plugin developers decide what they want!

    I accepted your pull request and did a quick test; this doesn't change any of the functionality of HeroicDeath, so server admins do not need to update right away, but if someone does something cool with the event that gets called now, you would want to update to v1.4.2 to support their plugin.
     
  4. Offline

    madcap

    Today's cbukkit 432:

    2011-02-23 15:58:55 [SEVERE] ENTITY_DAMAGEDBY_PROJECTILE (Is it up to date?)
    java.lang.NoSuchFieldError: ENTITY_DAMAGEDBY_PROJECTILE
    at com.bukkit.squallseed31.heroicdeath.HeroicDeath.onEnable(HeroicDeath.java:58)
    at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:140)
    at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:426)
    at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:187)
    at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:76)
    at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:57)
    at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:187)
    at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:174)
    at net.minecraft.server.MinecraftServer.d(MinecraftServer.java:120)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:227)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:366)
    --- merged: Feb 23, 2011 10:18 PM ---
    Also one of these as long as you need to putz with it (but everyone has these now):

    2011-02-23 15:58:55 [WARNING] Using the stupidly long constructor com.bukkit.squallseed31.heroicdeath.HeroicDeath(PluginLoader, Server, PluginDescriptionFile, File, File, ClassLoader) is no longer recommended. Go nag the plugin author of HeroicDeath to remove it! (Nothing is broken, we just like to keep code clean.)
     
  5. Offline

    SquallSeeD31

    What version of HeroicDeath? Both should be fixed in v1.4.0+
     
  6. Offline

    shaggy2010

    A player on my server today was "killed by herobrine" this mod said...
     
  7. Offline

    SquallSeeD31

    That's one of the default random messages when the plugin is unable to determine the cause of death. This is usually due to a glitch, but it will happen for sure if a player falls into "the void" (beneath the map). Either way, nothing's broke.
     
  8. Offline

    Kainzo

    Yep - can also change it.
     
  9. Offline

    Aro2220.com

    AHHH the source code isn't available for this?

    I was uploading the log file to my webserver to give my users a list of everyones deaths, etc. But I started to notice the plugin itself is trimming the log file and I wanted to adjust that.

    Please!
     
  10. Offline

    SquallSeeD31

  11. Offline

    zankioh

    So the tags were changed? I was about to import over my old list, but that'd include things like :Spider :Skeleton and such
     
  12. Offline

    SquallSeeD31

    The old DeathNotify had per-monster tags for other than Creeper? That's news to me, but it's unsurprising because I wasn't really active in the hMod days. Anyway, with that exception, all of the DeathNotify tags I intentionally left the same, and left the file format the same for compatibility.

    I can add them if you'd like; it's obviously possible. =) Just not a huge priority atm.
     
  13. Offline

    zankioh

    That was not too long ago.. HeroicDeath, under Bukkit.
    A part of my heroicdeath.messages:
    Code:
    :Fall
    %d ist ausgerutscht
    %d hat die Shift-Taste vergessen
    %d hatte keine Hoehenangst...
    Newton:1 %d:0
    :Skeleton
    %d wurde von einem Skelett gesniped
    %d hat nur noch das Klackern von Knochen vernommen...
    :Spider
    Acht Beine sind besser als zwei, %d!
    %d wollte doch nur Seide sammeln :(
    %d hat nun Arachnophobie
    (Yea that's German :p)

    Well it's no problem, I might just start over then.
     
  14. Offline

    Aro2220.com

    I don't see anything to do with a cleanup process. How does HeroicDeath handle cleaning up the log? Do server restarts do anything? Is it time based (how much time)? As far as I can tell it doesn't seem to be line based...

    Thanks again, this is a great plugin.

    Also, it would be nice if the log file retained some kind of color codes. Obviously they won't work on a webpage but I could parse the file, find them and replace them with working color codes so that the kill log online would look nice. :D
     
  15. Offline

    SquallSeeD31

    Really? I'm the developer of HeroicDeath and I don't remember writing in support for per-monster tag lines. :confused: I think some other death notification plugins might support that. Seriously though, if you want them, it's not too much trouble to add them, it just may not be today is all. =)

    @Aro2220.com - The log implementation as current is exceptionally basic, and was designed to be extended only if/when someone told me that they found it useful and had a use case in mind. Yours is a good example.

    Right now, if the logging option is on, HeroicDeath will look for the file defined in its config, try to make it if it doesn't exist, or append to it if it does. It doesn't timestamp the log file itself (entries are obviously timestamped), and is independent of server state.

    I can look into adding color codes in some format; I stripped them for the time being to avoid unsightly symbols in plaintext, but with that same method it's just as easy to change them to something else.
     
  16. Offline

    Aro2220.com

    @SquallSeeD31 Thank you for your quick and helpful replies.

    The problem I am having is that the log file seems to have trimmed itself automatically as events that have happened yesterday are no longer there. I'm wondering if you know of any reason why this might be happening?

    Being able to choose a maximum length to the log is a nice feature but at the moment it seems to be around 24ish hours unless there's something that happened on my side. I'd want users to be able to go back months. I might even input this data into an MySQL database to make sorting through dates easier. At that point I could even keep track of everyones kill/death scores and use them in all kinds of funky ways -- for example, I could display the number of deaths a player has under their username in my phpbb3 forum. Or maybe even keep track of all death types the player has and then only list whichever type of death occurs the most as being their bane. It would add a nice personal touch to the place.

    As for the color codes, I'm still learning xml and css but I would imagine if you had a boolean toggle for creating a third log file with color codes retained the file could then be parsed and the color codes found and replaced with whatever the person would be using. Although when I think about it, I would need the color tag to be at the start and end of whatever it is coloring as per <mycolortag>XML/CSS</mycolortag>. That might be a little tricky from your end and probably isn't worth your time. But then, I'd leave that to your expertise since it is beyond my own.
     
  17. Offline

    zwarmapapa

    Can you make this addon place a sign (tombstone) where someone's died, with the playername and reason of death or something? That would be aweomse
     
  18. Offline

    SquallSeeD31

    I would have to investigate deeper into the Java package I'm using to append to the file, but I see no reason that it should be trimming the log.

    I had similarly envisioned importing the data into a MySQL database (or similar) in the future and playing with it, which is why the data log stores everything in a serialized format so that it can be unmarshalled into a DB. I just haven't got around to doing anything with the data myself.

    It's something to look into when I have some spare cycles.
    --- merged: Feb 24, 2011 9:56 PM ---
    Part of the HeroCraft Coding philosophy is to keep plugins lightweight and highly configurable. I could add that feature, and simply make it an available configuration option, but I don't want the plugin to add too much extra stuff that server admins don't need.

    There's actually a plugin out there already that does optionally places signs on death; it's a feature of DeathChests.

    What I could do though, if you're specifically interested in using the death messages from HeroicDeath, is make you a simple add-on plugin for HeroicDeath that would listen for the custom death event it sends, and make a sign of that.
     
  19. Offline

    zwarmapapa

    That would be nice yeah :p

    (PS: can you also make an option to place a sign anyway, even if the player doesn't got one in his inventory?)
     
  20. Offline

    SquallSeeD31

    If I do make this, I'd make that an option (if not the default).
     
  21. Offline

    ursa_arcadius

    Does this work in 1.3?
     
  22. Offline

    SquallSeeD31

    1.4.1 and later work fine in 1.3 (explicitly tested against craftbukkit 432)
     
  23. Offline

    neoice

    any way to get this to work with CraftIRC?
     
  24. Offline

    SquallSeeD31

    I wasn't aware CraftIRC had been released. I can look into it for sure.
     
  25. Offline

    Magesblood

    Plugin is dead CB 448+
     
  26. Offline

    DraxisWuf

    Seems to be working alright enough on CB [450] for me.
     
  27. Offline

    SquallSeeD31

    Could you be more specific, please? What error messages (if any) are you getting, what does your config.yml look like, and which version of HeroicDeath are you running?

    I just tested 1.4.3 against 432, 448, and 450 successfully, but if you're having trouble, please post a stacktrace or something I can look into.
     
  28. Offline

    Dutchy

  29. Offline

    TehJammers

    Lately, people being killed by a creeper have been coming up with sentences from :monsters rather than :creeper.

    "The humble %a devours it's meal, a poor and helpless %d" instead of "Creeper used SELFDESTRUCT! %d fainted!", that sort of thing. Creepers don't eat people so this is clearly a monumental worry for me :p

    Any idea if it's something I've been doing wrong or is it on your end?

    Other than that, awesome plugin. The side effect of being able to see when people have died on the console is actually really awesome, feels like I'm staring into the matrix! :D
     
  30. Offline

    SquallSeeD31

    I'll have to look into it; I typically run my tests on my "100 ways to die" world, which has everything in close proximity except specific mob spawners. Since I have to go hunting for creepers, and their damage isn't always fatal, I usually skip that test unless someone reports an issue.

    At any rate, I still need to know specifically which version of HeroicDeath you were using, and which CraftBukkit, so that I can see if it's something that changed in your build.
     
  31. Offline

    TehJammers

    Never been entirely sure how to see what my version of craftbukkit is, but looking through what loads through at the start (2011-02-28 08:39:26 [INFO] This server is running Craftbukkit version git-Bukkit
    -0.0.0-458-g557f3d2-b440jnks (MC: 1.3)) I suppose it's Craftbukkit v458?

    And I just grabbed the latest heroicdeath jar file, but the symptoms persist.
     

Share This Page