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

    andrewkm

    @SquallSeeD31
    Let me know if you require more information
    CB 1092 receiving:
    Code:
    2011-09-14 07:13:02 [SEVERE] Could not pass event ENTITY_DEATH to HeroicDeath
    java.lang.NullPointerException
     at org.bukkit.craftbukkit.entity.CraftPlayer.sendRawMessage(CraftPlayer.java:104)
     at org.bukkit.craftbukkit.entity.CraftPlayer.sendMessage(CraftPlayer.java:108)
     at org.bukkit.craftbukkit.CraftServer.broadcast(CraftServer.java:763)
     at org.bukkit.craftbukkit.CraftServer.broadcastMessage(CraftServer.java:238)
     at com.herocraftonline.squallseed31.heroicdeath.HeroicDeath.broadcast(HeroicDeath.java:281)
     at com.herocraftonline.squallseed31.heroicdeath.HeroicDeathListener.onEntityDeath(HeroicDeathListener.java:133)
     at org.bukkit.plugin.java.JavaPluginLoader$60.execute(JavaPluginLoader.java:663)
     at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
     at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:338)
     at net.minecraft.server.EntityPlayer.die(EntityPlayer.java:142)
     at net.minecraft.server.EntityLiving.damageEntity(EntityLiving.java:391)
     at net.minecraft.server.EntityHuman.damageEntity(EntityHuman.java:438)
     at net.minecraft.server.EntityPlayer.damageEntity(EntityPlayer.java:180)
     at net.minecraft.server.EntityArrow.m_(EntityArrow.java:190)
     at net.minecraft.server.World.entityJoinedWorld(World.java:1212)
     at net.minecraft.server.WorldServer.entityJoinedWorld(WorldServer.java:48)
     at net.minecraft.server.World.playerJoinedWorld(World.java:1194)
     at net.minecraft.server.World.cleanUp(World.java:1110)
     at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:449)
     at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:363)
     at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
    Another one:
    Looks like it may be spout:
    Code:
    2011-09-14 07:15:28 [SEVERE] Could not pass event ENTITY_DEATH to HeroicDeath
    java.lang.NullPointerException
     at org.bukkit.craftbukkit.entity.CraftPlayer.sendRawMessage(CraftPlayer.java:104)
     at org.bukkit.craftbukkit.entity.CraftPlayer.sendMessage(CraftPlayer.java:108)
     at org.bukkit.craftbukkit.CraftServer.broadcast(CraftServer.java:763)
     at org.bukkit.craftbukkit.CraftServer.broadcastMessage(CraftServer.java:238)
     at com.herocraftonline.squallseed31.heroicdeath.HeroicDeath.broadcast(HeroicDeath.java:281)
     at com.herocraftonline.squallseed31.heroicdeath.HeroicDeathListener.onEntityDeath(HeroicDeathListener.java:133)
     at org.bukkit.plugin.java.JavaPluginLoader$60.execute(JavaPluginLoader.java:663)
     at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
     at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:338)
     at net.minecraft.server.EntityPlayer.die(EntityPlayer.java:142)
     at net.minecraft.server.EntityLiving.damageEntity(EntityLiving.java:391)
     at net.minecraft.server.EntityHuman.damageEntity(EntityHuman.java:438)
     at net.minecraft.server.EntityPlayer.damageEntity(EntityPlayer.java:180)
     at net.minecraft.server.EntityLiving.a(EntityLiving.java:489)
     at net.minecraft.server.EntityHuman.a(EntityHuman.java:868)
     at net.minecraft.server.Entity.a(Entity.java:635)
     at net.minecraft.server.EntityPlayer.b(EntityPlayer.java:360)
     at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:363)
     at org.getspout.spout.SpoutNetServerHandler.a(SpoutNetServerHandler.java:596)
     at net.minecraft.server.Packet10Flying.a(SourceFile:126)
     at net.minecraft.server.NetworkManager.b(NetworkManager.java:226)
     at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:89)
     at org.getspout.spout.SpoutNetServerHandler.a(SpoutNetServerHandler.java:478)
     at net.minecraft.server.NetworkListenThread.a(SourceFile:105)
     at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:453)
     at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:363)
     at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
     
  3. Offline

    beanpastebunn

    It was just lava that wasn't working. Thanks for telling me
     
  4. Offline

    SquallSeeD31

    Hey andrew, based on the stacktrace you posted, it seems like HeroicDeath is trying to broadcast a message which is null. you can't send a null message to a player, so that'd be a Very Bad Thing (tm). However, HeroicDeath has a few integrity checks to prevent that sort of thing from happening. In fact, it checks if the death message is null before it tells other plugins what's about to happen, and if so, creates a "generic" message just to avoid a Very Bad Thing (incidentally, that's the source of the Unknown/Herobrine messages, basically it means that every attempt to generate a real message failed for some reason, so as a last ditch effort HeroicDeath says "Unknown" to prevent the very error you saw).

    So... basically it makes no sense to me how you could see that error, unless something is modifying HeroicDeath's message before it gets sent, or aggressively garbage collecting objects that may still be in use.
     
  5. Offline

    OZ4RK

    With the built in 1.8 death broadcasts, will you be making a way to work around that?
     
  6. Offline

    SquallSeeD31

    I'm unaware of that feature, but as long as Bukkit provides a way to disable it, I'll probably provide that option.
     
    Tanite likes this.
  7. Offline

    jmcgee611

    I have one question about this plugin, on custom messages, can you start with text rather than %(x)? Cause I have that for a few of my messages, but I haven't seen them shoe up once. Might I need to update to 1.9 for that or is it just not possible?
     
  8. Well, the native death broadcasts seem to overwrite Heroic Death - cant wait for an update! Its just so boring not to see properly how a player died! And properly is Heroic Death, ofc! =)
     
  9. Offline

    andrewkm

    Looking forward to this too.
    1.8 broadcasts deaths itself now, in ugly white text -_- :(

    CB 1145
    Code:
    2011-09-17 21:59:02 [INFO] [PLAYER_COMMAND] andrewkm: /kill andrewkm 
    2011-09-17 21:59:02 [INFO] andrewkm died from unknown causes 
    2011-09-17 21:59:02 [SEVERE] Could not pass event ENTITY_DEATH to HeroicDeath
    java.lang.NullPointerException
     at org.bukkit.craftbukkit.entity.CraftPlayer.sendRawMessage(CraftPlayer.java:107)
     at org.bukkit.craftbukkit.entity.CraftPlayer.sendMessage(CraftPlayer.java:111)
     at org.bukkit.craftbukkit.CraftServer.broadcast(CraftServer.java:770)
     at org.bukkit.craftbukkit.CraftServer.broadcastMessage(CraftServer.java:241)
     at com.herocraftonline.squallseed31.heroicdeath.HeroicDeath.broadcast(HeroicDeath.java:281)
     at com.herocraftonline.squallseed31.heroicdeath.HeroicDeathListener.onEntityDeath(HeroicDeathListener.java:133)
     at org.bukkit.plugin.java.JavaPluginLoader$61.execute(JavaPluginLoader.java:670)
     at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
     at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:338)
     at net.minecraft.server.EntityPlayer.die(EntityPlayer.java:161)
     at org.bukkit.craftbukkit.entity.CraftLivingEntity.setHealth(CraftLivingEntity.java:44)
     at com.earth2me.essentials.commands.Commandkill.run(Commandkill.java:26)
     at com.earth2me.essentials.commands.EssentialsCommand.run(EssentialsCommand.java:90)
     at com.earth2me.essentials.commands.EssentialsCommand.run(EssentialsCommand.java:84)
     at com.earth2me.essentials.Essentials.onCommandEssentials(Essentials.java:447)
     at com.earth2me.essentials.Essentials.onCommand(Essentials.java:357)
     at org.bukkit.command.PluginCommand.execute(PluginCommand.java:39)
     at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:163)
     at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:353)
     at net.minecraft.server.NetServerHandler.handleCommand(NetServerHandler.java:755)
     at net.minecraft.server.NetServerHandler.chat(NetServerHandler.java:720)
     at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:713)
     at net.minecraft.server.Packet3Chat.a(Packet3Chat.java:33)
     at net.minecraft.server.NetworkManager.b(NetworkManager.java:226)
     at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:91)
     at org.getspout.spout.SpoutNetServerHandler.a(SpoutNetServerHandler.java:500)
     at net.minecraft.server.NetworkListenThread.a(SourceFile:108)
     at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:464)
     at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:374)
     at net.minecraft.server.ThreadServerApplication.run(SourceFile:417)
    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 8, 2016
    Tanite likes this.
  10. Offline

    SquallSeeD31

    1.8 is not yet supported. I'm sure a few things have changed, so until I release a new build for a 1.8-compatible CB I wouldn't recommend using HeroicDeath with 1.8. I'll try to get 1.8 on a test server some time soon so that I can build a new version against it.

    I tend to only *officially* support Recommended Builds, and for good reason, but I have no problem making a development version available to early adopters when it's passed internal QA.
     
  11. Offline

    Raymond Doerr

    I can report HeroicDeath works fine in 1.8.1/Build 1152. (1145 and 1149 too if it matters). Anyone claiming it's not is doing something wrong or has a conflicting plugin of some kind.

    The only problem is the new built in death messages display alongside HeroicDeath, kind of annoying. But I'm sure bukkit will allow a way to disable them eventually anyway. Not the plugin's fault at all, it's still doing it's job and going strong.

    My server loves your plugin, we're a tight-nit community and all get a laugh when someone does something stupid and kills themselves. ;)
     
  12. Offline

    SquallSeeD31

    Thank you for your report, good to know. If and when Bukkit allows the message to be either disabled or modified, HeroicDeath will follow suit.
     
  13. Offline

    Tanite

  14. Offline

    Switch0r

  15. Offline

    SquallSeeD31

    Yep, thanks. :p

    If you're the bold and daring type, you can install this DEVELOPMENT version of HeroicDeath, which implements the 1.8 changes (items, disables the default message, adds STARVATION as a death type). Please only try this out if you have CraftBukkit 1174+, and if you do, please also tell me how it goes. =)

    http://dl.dropbox.com/u/1131502/HeroicDeath/plugins/DEV/HeroicDeath.jar
     
    Tanite likes this.
  16. Offline

    OrtwinS

    I wonder, now that bukkit has build in death messages, what is the added value of Heroicdeath?

    Wouldn't it be more efficient to turn Heroicdeath into some sort of 'expansion pack' for the default messages?
    More messages, added color to the message, stuff like that.

    Heroic death has been a part of my server since I have a server (Beta 1.2), but if its only duplicating something that is already build-in....
     
  17. Offline

    SquallSeeD31

    If HeroicDeath is merely disabling the default messages and broadcasting its own, custom and colored messages, isn't that substantially what you've suggested? As a plugin to CraftBukkit, it already is an expansion pack; only that now it's expanding upon the usefulness of the death messages instead of adding them outright.
     
  18. Offline

    8Keep

    Bukkit has a new recommended build. Could you update it to that?
     
  19. Offline

    SquallSeeD31

    HeroicDeath 1.11.0 has been released and is compatible with 1185.
     
  20. Offline

    8Keep

    Ok thanks! I'm downloading it now.
     
  21. Offline

    MyPictures

    ENTITY_DEATH

    Server Infos:
    Bukkit ver.: 1185
    Plugins:
    - Essentials 2.6
    - Essentials Spawn
    - InventorySQL
    - NoExP
    - HeroicDeath 1.11.0

    So if you have Essentials installed and you use /kill [PlayerName] then HeroicDeath gives somtime a error:

    2011-09-23 00:59:36 [SEVERE] Could not pass event ENTITY_DEATH to HeroicDeath
    java.lang.NullPointerException
    at com.herocraftonline.squallseed31.heroicdeath.HeroicDeathListener.processDamageEvent(HeroicDeathListener.java:176)
    at com.herocraftonline.squallseed31.heroicdeath.HeroicDeathListener.onEntityDeath(HeroicDeathListener.java:124)
    at org.bukkit.plugin.java.JavaPluginLoader$62.execute(JavaPluginLoader.java:677)
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:338)
    at org.bukkit.craftbukkit.event.CraftEventFactory.callPlayerDeathEvent(CraftEventFactory.java:300)
    at net.minecraft.server.EntityPlayer.die(EntityPlayer.java:158)
    at org.bukkit.craftbukkit.entity.CraftLivingEntity.setHealth(CraftLivingEntity.java:44)
    at com.earth2me.essentials.commands.Commandkill.run(Commandkill.java:26)
    at com.earth2me.essentials.commands.EssentialsCommand.run(EssentialsCommand.java:96)
    at com.earth2me.essentials.Essentials.onCommandEssentials(Essentials.java:445)
    at com.earth2me.essentials.Essentials.onCommand(Essentials.java:359)
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:39)
    at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:163)
    at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:353)
    at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:349)
    at net.minecraft.server.MinecraftServer.b(MinecraftServer.java:499)
    at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:478)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:374)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:417)

    And if you first fight with a zombie, kill him. Then if the admins do /kill [PlayerName] HeroicDeath will just put this message out:
    "MyPictures was killed by an angry zombie"

    But thats not right becaus you get command killed and not zombie killed. Heroic just remember the last puch that you get in your face and post a message about it.

    sry for my english, hope you understand this.lol

    More Infos in the ZIP.

    Hope you can fix it.

    P.S: Nice job the use of the Bukkit API update to override the default Minecraft dead text works fine.
     

    Attached Files:

  22. Offline

    SquallSeeD31

    Simply put, the Essentials /kill command must be mechanically killing the player, but not letting other plugins know that it's caused damage. No EntityDamageEvent gets fired, so no EntityDamageEvent is ever saved as the last known cause of damage. If Essentials doesn't tell other plugins what it's doing, I can't be sure of what it did in order to properly report it.

    However, it has brought to my attention an exception I need to capture, so I have a bug fix version released now that will at least generate an unknown death message if you are killed by a plugin that doesn't cause an EntityDamageEvent to fire.
     
  23. Can I set messages for each enemy that kills them? Say they get killed by a spider, display X, but if a skeleton kills them, display Y?
     
  24. Offline

    SquallSeeD31

    Yep.

    In heroicdeath.messages, add ":spider" on a line, and all lines below it to the next tag will be shown if you're killed by a spider.

    Which reminds me, I forgot to add Endermen! Oops.
    EDIT: This has been rectified, along with Cave Spiders, Silverfish, and the passive mobs someone requested I add a while ago.

    Enough people whined enough times about their plugins that either make passive mobs aggressive or "disguise" players as mobs (all the way down to the kill) that I ultimately decided to add functionality for custom messages to those.

    The paper-thin rationale I use myself for acquiescing is that it doesn't change the functionality for my core users, and there's always a chance that Notch could elect to make chickens attack some time in the future. =)

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 8, 2016
  25. SquallSee, is it possible to extend this mod into a complete string editor? Maybe allow for custom entrance and exit messages, along with a first time joining message? Some ideas to consider.

    Also, maybe it was a glitch / bug. But when people were killing themselves sometimes the "Other" would pop up along with the ones for suiciding.
     
  26. Offline

    MyPictures

    Ok thank you @SquallSeeD31

    I go and tell essentials about that.
     
  27. Offline

    fragger505

    A little "/heroicdeath reload" command would be nice when adding new messages on the fly. I tend to try and not reload my whole server for little things.
     
    wassilij likes this.
  28. Offline

    wassilij

    I like this idea :)
     
  29. Offline

    SquallSeeD31

    I'm sorry, I'd really like to keep HeroicDeath focused on death messages only. As far as your "Other" messages are concerned, mechanically that occurs when the last damage that they took either has no source according to Bukkit, or the source is explicitly marked as CUSTOM. That's possible if for instance a plugin modifies damage in some way that doesn't let Bukkit or other plugins know what it's doing (see: Essentials above). It's ALSO possible if there's an incompatibility, so what version of CB, what version of HeroicDeath, and finally, what exactly do you mean by "killing themselves"? =)

    I'd like to think some more about this one. I've done really well to keep HeroicDeath as compatible as possible by avoiding as many extras as possible, like Permissions and command handlers (which Bukkit LOVES to change the API for). So on the one hand, it's a pretty quick feature to add, but on the other, it would become another compatibility vector to maintain and there really hasn't been a whole lot of demand for changing death messages with that kind of urgency.
     
  30. Offline

    Tanite

    I could be wrong here but I think it's supposed to be Enderman (with an "a") in Bukkit. Oh, and maybe CaveSpider with no space(?). This may not affect what you're doing but I wanted point out the page just in case:

    http://jd.bukkit.org/doxygen/d5/d27...entity.html#ad935086a9b163a1c8d2fc5099be3ff34

    Thanks for the update.
     
  31. Offline

    SquallSeeD31

    I was suggesting "Endermen" as the plural form of "Enderman", that might not be correct but it makes me happy grammatically. In the code, yes, the entity is referred to as Enderman. Don't worry, I tested it first. =)
     

Share This Page