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

    "0.0.0" is the version (it's unreleased)
    "458" is the commit number
    "g557f3d2" is the git-sha
    "b440jnks" is the build string; the number in there is what we typically refer to as the CraftBukkit build number.

    I believe I fixed your issue in 1.4.4; I can't track down which release of CraftBukkit change this, but Creepers now send an ENTITY_EXPLOSION event (that has an incorrect [too low] amount of damage), and then immediately thereafter an ENTITY_ATTACK event (that has the correct amount of damage). Since my plugin records the last source of damage received before death (based on limitations of how death is reported), it would revert from explosion to attack.

    However, since Creepers cannot deal damage without exploding, I added a check in ENTITY_ATTACK to return the explosion message if the damaging entity is a Creeper.

    Also in 1.4.4 but only of interest to other plugin developers: I changed the name of the custom event thrown by HeroicDeath to "HeroicDeathEvent" (Formerly it was a custom event "named" whatever the death message was). While it's still a good practice to check the event type with the instanceof operator, I agree that the event should have a meaningful name.
     
    clash likes this.
  3. Offline

    TehJammers

    alright awesome. thanks, and thanks!
    --- merged: Feb 28, 2011 6:31 AM ---
    alright that fixed it!
    it does tend to spam my console with damage notices, but now that i can scroll through the console it's not a real problem!
     
  4. Offline

    SquallSeeD31

    Oops, that was my bad, I left the debugging flag on. Re-download to remove that.
     
  5. Offline

    TehJammers

  6. Offline

    Liquidmantis

    Any chance on adding support for the new CraftIRC? 2.0 adds an API for plugins to send messages.
     
  7. Offline

    SquallSeeD31

    There's actually a plugin out there that sends HeroicDeath's death messages to IRC: http://forums.bukkit.org/threads/in...necraft-server-bot-for-irc-channels-471.6151/

    So if you just want it for that, hey, there you go. I may consider adding CraftIRC support directly to HeroicDeath if there's demand for it that is not satisfied by ServerIRC, let me know if that's the case. I can't make any promises right now since I have some other projects with higher priority, but I am committed to making all of my work useful, so if that feature would be great for you, speak up. =)

    heroicdeath.messages reads ISO-8859-1 (latin-1) bytes by default. Check first if your text editor is saving in UTF-8, because those characters are all part of the character set and should display fine otherwise.

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

    Liquidmantis

    I'm gun-shy now as earlier today I got g-lined from Quakenet for too many concurrent connections. It'd be great to have support rolled into the CraftIRC bot I'm already running rather than having to run a parallel bot. That's just me though and I understand if the demand is insignificant. Maybe I'll be inspired to dig into it myself.
     
  9. Offline

    SquallSeeD31

    Okay, I don't have a ton of time at the moment (at work), but I gave it a quick look and it seems that 2.0 is not yet available. I see the API posted, but couldn't find a branch to download 2.0 code from, unless I'm just not appreciating the namespace. I'll take a look when I have more time and can ask questions in their IRC channel.

    If you wanted to dig into it yourself, the easiest way would be to create a custom event listener, and when it's called, check if it's a "HeroicDeathEvent". Then, you can use event.dc.getMessage() to get the death message and send it to your IRC bot as necessary. I would recommend stripping the color symbol though, since I don't think CraftIRC natively does this. Won't break anything, but may look ugly.

    That's the problem though; it needs to be ISO-8859-1 for HeroicDeath to parse it properly. I may add support for UTF-8 in the future, but for the time being use ISO-8859-1 and it should work. I did a quick test myself with those specific characters listed to be sure. =)

    Sorry for the confusion! Glad you got it working. =)

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

    treepunch

  11. Offline

    SquallSeeD31

    I'm not a huge fan of adding a bunch of external integration, because I don't want to maintain a bunch of code that isn't my own when the majority of users are really just looking for a plugin that *only* gives them death messages.

    Realizing that the framework is there, HeroicDeath now sends a custom event for any plugin that wants to listen for it, and you can get the death message from it as well as some cool other details such as location and time of death. I'd really rather prefer that these other plugins that send stuff to IRC or to Twitter just listen for that event and send the message that way instead of having it be a part of HeroicDeath directly.

    That being said, if it's something that there's significant demand for and it isn't being done by anyone else, I can of course try to add it to my schedule. =)

    Thanks for the feedback!
     
  12. Offline

    Axrael999

    Mods just what we needed on my war server. Loading it now on 432.
     
  13. Offline

    treepunch

    I totally agree. HeroicDeath is perfect as it is in terms of being lightweight and serving one function really well. I'll keep my eye out for people who might be able to help create the plugin I'm looking for via the HeroicDeath custom events. Thanks for the response.
     
  14. Offline

    Jandalf

    i just recognized that this is the only watched thread without ony post from me cause of an problem or help.
    So thank u for this nice, configurable, simple and good plugin:)
     
  15. Offline

    Maskur

    Does it work on 493?
     
  16. It does for me.
     
  17. Offline

    Qiasfah

    In it's current state there is a lot of console spam from damage players take. It's nice to see the damage but there are many many more messages about it than needed (1.4.4).
     
  18. Offline

    SquallSeeD31

    Yeah, I apologize for that; when I initially released 1.4.4, I had accidentally left my internal debugging flag on. I quickly re-released (incrementing the build number but not the revision), so I'd recommend simply redownloading the current .JAR to resolve the issue, in case you happen to have picked up the old one before I fixed it.
     
  19. Offline

    Xon

  20. Offline

    SquallSeeD31

    Nice! Simple and lightweight. =)
     
    Xon likes this.
  21. Offline

    Liquidmantis

    Thanks Xon!

    [Edit] Finally got to restart my server. It's giving me the following error (CB 493):

    07:11:10 [SEVERE] Could not load plugins/HeroicDeathToCraftIRC.jar in plugins: null
    org.bukkit.plugin.InvalidPluginException
    at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:65)
    at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:129)
    at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:94)
    at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:59)
    at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:204)
    at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:191)
    at net.minecraft.server.MinecraftServer.d(MinecraftServer.java:131)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:246)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:366)
    Caused by: java.util.zip.ZipException: error in opening zip file
    at java.util.zip.ZipFile.open(Native Method)
    at java.util.zip.ZipFile.<init>(Unknown Source)
    at java.util.jar.JarFile.<init>(Unknown Source)
    at java.util.jar.JarFile.<init>(Unknown Source)
    at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:52)
    ... 8 more
     
  22. Offline

    Xon

    Honestly, Its closer to a gutted tutorial with 5 minutes of looking at doco followed by an hour of cursing at Eclipse and about 10-20 minutes spamming the irc channel with rejoin attempts.

    I actually went back and added configuration options before release, that increased the overall complexity greatly :p

    [MERGETIME="1299599411"][/MERGETIME]
    You can actually use "reload" to load new plugins as well.

    As for your error, it looks like you download the html landing page rather than the jar itself. Here is the direct download link; https://github.com/Xon/HeroicDeathToCraftIRC/raw/master/dist/HeroicDeathToCraftIRC.jar

    :edit: plugin is ok. Instructions to get to the plugin not so much.
     
  23. Offline

    Liquidmantis

    Ah ha, works great now! For some reason I didn't think /reload would load up new plugins. That helps.
     
  24. Offline

    GhostToast

    I love the Hero series of plugins and yet I would love to see this plugin (or someone hook into it) output data in a twitter-like way. I can't get ServerEvents to work for me as I don't have command-line access.
     
  25. Offline

    Tuttu

    I love this plug-in which is very nice and cool but I have a question : did you plan to let us change the name of the monsters like you have done with the item names ?
    I'm French and I can translate all the names and sentences used in the plug-in but the monsters names. It could be a nice addition to your plug-in. :)
     
  26. Offline

    SquallSeeD31

    Okay, that's a good idea. I'll add it in my next revision. =)
    [MERGETIME="1299906782"][/MERGETIME]
    Update: Released HeroicDeath 1.5.0 with support for this feature; just reload with the latest plugin and your config.yml will be extended with the default monster names, which you can then change.
     
  27. Offline

    Tuttu

    Wow ! A big thank you ! I'll update it as soon as possible. :)
     
  28. Offline

    davr

    I have a question...do you have any idea if there is a way to make HeroicDeath messages get relayed by CraftIRC?
     
  29. Offline

    SquallSeeD31

    I don't know if it's CraftIRC specifically, but someone else wrote a plugin that uses HeroicDeath's custom event to pass messages to an IRC bot: http://forums.bukkit.org/threads/in...necraft-server-bot-for-irc-channels-471.6151/

    I've received requests in the past to add direct CraftIRC support to HeroicDeath, and my understanding is that it should be easier now that CraftIRC 2.0 is out, so perhaps I'll look into that for a future revision. =)
     
  30. Offline

    Liquidmantis

    See Xon's post here.
     
  31. Offline

    SquallSeeD31

    Right! I forgot about poor Xon =( Sorry Xon!
     

Share This Page