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

    Adv

    Great plugin. I'm just having one problem: My players are getting kicked when they die for moving to quickly. This only happens when HeoricDeath is enabled. Is this something in HeroicDeath that can be fixed or do I need to install another plugin such as [FIX] NoMovedTooQuicklyKick v1.1 ?
     
  3. Offline

    SquallSeeD31

    Hmmm, nothing in HeroicDeath causes players to move or teleport, so I'm curious why that message would appear if the *only* change is enabling/disabling HeroicDeath. If someone could shed some light on that I'd appreciate it, but I'm not aware of anything my plugin does that could lead to that error.
     
  4. Offline

    Adv

    Ye I looked over my plugins and the only thing that really effects death/respawning is HeoricDeath. The console doesn't spit out any errors either besides the generic player getting kicked for moving to quickly.
     
  5. Offline

    SquallSeeD31

    Just to clarify, have you tried disabling HeroicDeath *ONLY*, and do you not experience the error with HeroicDeath disabled?
     
  6. Offline

    Warboy

    @SquallSeeD31

    please add a permission node to enable/disable sending death messages, then all these requests will go away.
     
  7. Offline

    SquallSeeD31

    All *those* requests will go away, but then my thread will double with Permissions users having problems with it, non-Permissions users annoyed by my choice to use Permissions, et cetera. One of the core design principles of HeroicDeath is its simplicity. HeroicDeath has no dependencies (beyond obviously that your server is running a compatible CraftBukkit build! :p), and that won't change.

    What I may consider is adding a helper plugin myseslf that accomplishes this for people who really want that functionality. It seems a popular enough request!
     
    AegisZephyr likes this.
  8. Offline

    Adv

    This is correct and was the first thing I tried. If I disable HeroicDeath and my players die (we tried a bunch of times) they don't get that error. But as soon as I reenable HeroicDeath and a player dies they get kicked for moving to quickly, even if they die like 10 blocks away from spawn.
     
  9. Offline

    undeadmach1ne

    just want to say i love this plugin. the custom msgs allow for inside jokes and everyone loves it on my little server...

    'undeadmach1ne just learned the hard way what that weird hissing noise means'
     
  10. Offline

    SquallSeeD31

    Well, thanks for confirming that for me. I can honestly say I've never seen that happen with HeroicDeath nor do I have the slightest clue how it could be related... but if anyone has any suggestions, I'll happily look into it.
     
  11. Offline

    zaph34r

    I have a slight problem with HeroicDeath and my own plugin, whenever a mob kills a player, it just displays the 'unknown cause of death' message, even though all i do is change the damage values of damage events via event.setDamage(), not the cause or anything else. Any ideas where this could come from?
     
  12. Offline

    SquallSeeD31

    Put your EntityDamageEvent at a lower priority so it fires first. I record cause of death only when the damage would actually cause death, so if the damage is modified after I've looked at it, I don't know that it was fatal.
     
  13. Offline

    zaph34r

    I was under the assumption that Monitor was the last one to be called, which yours should be right? or did i misunderstand something about the priorities?

    EDIT: nevermind, i just looked again and realized i forgot to change the priority of my own listener from monitor after adding some stuff :) i guess that explains it
     
  14. Offline

    SquallSeeD31

    Well I hope it works for you, I'm having a root canal done right now but I'll be back later for debugging if that's not it
     
  15. Offline

    zaph34r

    yeah it works :) great plugin btw, very much enjoyed it since we first put it on our server quite some while ago
    and, holy cow, i don't envy you :eek: my best wishes
     
  16. Offline

    SquallSeeD31

    It's okay, I'm really numb right now and they're letting me watch Spiderman
     
  17. Offline

    Adv

    An update on my past posts, it is NOT HeroicDeath causing my players to get kicked on death. Sorry about the false bug report. It's weird though because when I disabled it, they stopped so anyone would think the same. Now the fun part, trying to find out what plugin I'm using that's kicking my players. >.>
     
  18. Offline

    ACStache

    @Adv usually when there's something funky like being kicked on death, there's an error in your server.log file. Check that, find the error, and look through it to see if you find a plugin name. if you do, post the error in the appropriate thread :)
     
  19. Offline

    ThePoopfish

    Can you make it so op's deaths or admins deaths do not get broadcast? admin or op pvp kills as well?
     
  20. Offline

    DaveDee

    I do not offer permissions for broadcasting. Only names for exceptions in special congif-txt.
    I don't think that would breake your concept of simplicity.
    In our case, HeroicDeath broadcasts npc kills...
     
  21. Offline

    Zach Hinchy

    Is it possible to make HeroicDeath use Bukkit display names instead of the login names?
     
  22. Offline

    swift_fox24

  23. Offline

    SquallSeeD31

    If the plugin developer of MobDisguise wants to support this, they would need to intercept the HeroicDeathEvent and change the DeathCertificate object to reflect the obfuscated damage cause.
     
  24. you can add Mobdisguise support very easily by adding this bolded bit in HeroicDeathListener.java

    Code:
     public void onEntityDeath(EntityDeathEvent event) {
         Player player;
         if (!(event.getEntity() instanceof Player))
             return;
         else
             player = (Player)event.getEntity();
       [B]  if(me.desmin88.mobdisguise.api.MobDisguiseAPI.isDisguised(player))[/B]
    [B]         return[/B];
    of course then you have to add mobdisguise as a dependency, which you might not want to do.
     
  25. Offline

    SquallSeeD31

    Right; that's just one of my big design tenets for HeroicDeath. It still has no dependencies and I'd really, really like to keep it that way. Either of us (but probably me would be easier) could make a simple helper plugin (HeroicDeathMobDisguise) that listens for the HeroicDeathEvent and cancels it if the player is disguised.

    Is that the desired behavior though? I would think you would want HeroicDeath to report the death based on the disguise of the disguised entity.
     
  26. Well my goal was to preserve the "cover" of the disguised player if they are killed. Since HeroicDeath doesn't normally report animal deaths it'd seem strange if it did in this case. I had not thought about if a disguised player kills another player. Ideally I guess it would say "deadplayer was killed by an angry pig/cow/whateveryou'redisguisedas." I'm going to look into how to do that for use on my own server. Let me know if you want me to post the "HeroicDeathMobDisguise" when I'm done, or send you the code.
     
    swift_fox24 likes this.
  27. Offline

    swift_fox24

    Yes, having it show the disguised entity, whether it be another player or a mob, is what is wanted for me. You could put an optional download within the OP that has it included.

    On a side note, what is a dependency? I know virtually nothing about how plugins work, and only know very limited programming with XHTML, CSS, and Javascript.
     
  28. Offline

    SquallSeeD31

    If I want to make my plugin "work with" another plugin, I probably need to use that other plugin as a library in mine, so that I have access to its methods. That means that when I build my plugin, I also need to have an updated copy of the other plugin. If the other plugin's author changes their API around, I also need to be aware of those changes and make them accordingly in my plugin. It ALSO means that if anyone wants to build my plugin from source code, they ALSO need to go find and download the other plugin or edit the code to remove references to it.

    One of the reasons people tend to like HeroicDeath is that, for the most part, it's drag and drop. It *only* does death announcements, that's it. So they can be reassured that it should work in future builds of CraftBukkit without relying on any other plugins. There are a lot of really neat ideas that go hand in hand with HeroicDeath, and that's why I send a custom event to the plugin manager to let other plugins know when I'm about to make a death announcement, so that if they want to do anything with that data they're welcome to. In that way, we can make "helper" plugins that modify the behavior of HeroicDeath without being a dependency of HeroicDeath.
     
  29. Offline

    The_Yogs

    I wanna make the heroicdeath colours so when u die, the name is Darkgreen and the message is RED how i do that?
     
  30. Offline

    SquallSeeD31

    In your config.yml:
    Code:
    colors:
        message: RED
        name: DARK_GREEN
    
     
  31. Offline

    Exxter

    Hello,
    this plugin is great. Is there already a german version of heroicdeath.messages?
     

Share This Page