DeathMessages 1.4.14

Allows the formatting of all death messages

  1. MrShawn
    Native Minecraft Version:
    Tested Minecraft Versions:
    • 1.7
    • 1.8
    • 1.9
    • 1.10
    • 1.11
    • 1.12
    • 1.13
    • 1.14
    • 1.15
    • 1.16
    • 1.17
    • 1.18
    Source Code:
    Joshb_, KaspianDev, Kek5chen, OpticFusion1, Pistonmaster
    yes this is actually my cat

    is a remastered version of DeathMessagesPrime by @CosmoConsole. It is a simple-to-use plugin that is extremely customizable via configs. You are able to completely change any and all death messages in Minecraft till the latest version

    CraftBukkit is NOT supported. Please use Spigot instead. This plugin requires the BungeeCord API for messages, which is not present on CraftBukkit.

    Commands and Permissions:


    More about /dm edit

    /dm edit <player> <mobName> <solo, gang> <damage-type> <add, remove, list> (remove only=Placeholder)
    1. <player> is the config type. Just player for now, this will allow you to change other configs in the future
    2. <mobName> - tab completed. So use the mob names I have in the tab-complete.
    3. <solo, gang> - change the messages in solo or gang
    4. <Damage-type> - tab completed. Define what damage message you want to change.
    5. <add, remove, list> - Add - will make you type in chat a new message. Remove - will require an extra argument which placeholder message you want to remove. (See placeholders with List) List - Lists all the messages in your search query with placeholders in front of them to use Remove.
    6. (remove only=Placeholder) - the placeholder of the message your removing.

    You can use any placeholder in death messages if you have the plugin installed.
    Available placeholders:
    - %deathmessages_messages_enabled%
    - %deathmessages_is_blacklisted%
    - %deathmessages_victim_name%
    - %deathmessages_victim_display_name%
    - %deathmessages_killer_name%
    - %deathmessages_killer_display_name%

    If installed and enabled in your settings.yml, you can flag regions with my custom region flags.
    All of my region flags are set to ALLOW by default.
    Current Flags:
    - broadcast-deathmessage-player
    - broadcast-deathmessage-mobs
    - broadcast-deathmessage-natural
    - broadcast-deathmessage-tameable

    Settings any of these flags to DENY will not broadcast the death message in the region you specify these flags.

    The configs already have the formated section. Check the bottoms of PlayerDeathMessages.yml and EntityDeathMessages.yml
    Enjoy MythicMobs support :D

    Once you created the bot and are ready to go, configure your channel values in your settings.yml and enable the hook.
    Restart the server.
    Enjoy DiscordBotAPI support :D

    Once you created the bot and are ready to go, configure your channel values in your settings.yml and enable the hook.
    Restart the server.
    Enjoy DiscordSRV support :D

    Key Features:
    • Hex color support (Use it as so: #2332d)\
    • Bungee Support for global messages
    • Multiple configs loaded with comments for easy configuration
    • Gangs (if there x amount of x mob within the player's radius, it will classify as a gang kill) (Configurable)
    • All messages are text components. Meaning you can build them how you want with hover text and click actions.
    • completely customization of the mobs and damage type messages. (See FAQ for more info)
    • Configurable expire mob damage. If the specified time runs out after a mob interacted with a player, it will be a natural death.
    • Customize message handle if the weapon used to kill a player is not custom
    • Default To config option: "weapon kills will default to a defined kill if the weapon does not have a custom display name"
    • World Group customization
    • Disabled Worlds list
    • Per-World-Messages
    • Tameable mob kills messages. (Player x has killed Player y's dog) (With a hoverable message fo the tamable animal's name)
    • Multiple Death messages for each death cause.
    • A whole bunch of placeholders you can use that comes with the plugin. (See PlayerDeathMessages.yml for a list of them)
    • Much more... Play around in the configs :D
    "invalid character, unacceptable code point, special characters are not allowed..."
    - You must save the file as UTF-8. I cannot tell you how to do that because there are a million text editors. Please check google or search around in your editor on how to save as UTF-8

    "ClassNotFoundException: net.md_5.bungee.api..."
    - Your not using a build if spigot or a similar fork. All the messages are text components and need the bungee chat API to create them.

    "Can you add xx to the plugin?"
    - Yes, I will. Under some circumstances. Join my discord

    "You didn't add xx to the remastered plugin..."
    - I purposely did not add some features to the new plugin because I think some were not needed and never used. However, there are some things I still need to add that are a necessity to you, I just still need to add them and work out any bugs that are in the new plugin. If you think there is a feature I didn't add and think I probably won't add it. Join my discord and make a ticket :D

    This list will be updated...


    BroadcastDeathMessageEvent (Called when the death message is being broadcasted.

    • getPlayer() returns the victim player
    • getLivingEntity() returns the killer entity
    • getTextComponent() returns the TextComponent death message.
    • isGangDeath() returns true or false if the kill was a gang related kill.
    • getBroadcastedWorlds() returns a ArrayList of worlds that the message was broadcasted to.
    • getMessageType() - returns MessageType (PLAYER, MOB, NATURAL, TAMEABLE)
    BroadcastTameableDeathMessageEvent (Called when the death message is being broadcasted.
    • getPlayer() returns the killer
    • getOwner() returns the owners username of the tameable mob
    • getTameable() returns the tameable mob that was killed
    • getTextComponent() returns the TextComponent death message.
    • getBroadcastedWorlds() returns a ArrayList of worlds that the message was broadcasted to.
    • getMessageType() - returns MessageType (PLAYER, MOB, NATURAL, TAMEABLE)
    PlayerManager - Calling this class returns a bunch of useful information.
    • player, uuid, username, displayname
    • messagesEnabled - boolean
    • isBlacklisted - boolean
    • getLastDamage - DamageCause
    • getLastEntityDamager - Entity
    • getLastExplosiveEntity - Entity
    • getLastProjectileEntity - Projectile
    • getLastClimbing - Material
    • getLastLocation - Location
    DeathMessages.getEventPriority() - returns the event priority set in the settings.yml

    Thanks :D and as always, please report bugs to me in my discord. Don't leave them in the reviews. I may ignore it.

    Language translations by other downloaders:

    (Hex Colors)

    Video Tutorials



    is a simple-to-use but still versatile death message plugin. It allows to freely format and modify all death messages in Minecraft to date.

    Join my discord if you have suggestions or problems. Some of the users already joined and are doing a good job helping each other out.

    CraftBukkit is NOT supported. Please use Spigot instead. This plugin requires the BungeeCord API for messages, which is not present on CraftBukkit.

    Want to...
    • ...change the death message for someone being blown up a creeper?
    • ...have multiple different death message choices depending on whether people die from a short or long fall?
    • ...add a custom message only for one of your VIP players for dying after being shoved into the void?
    No problem, this plugin can handle all of those cases.

    /dmsg allows to reload the configuration. The permission node deathmessagesprime.reload controls the ability to do so. Further, the command without any parameters will display the plugin version and available commands, if the player has the deathmessagesprime.version permission.

    /toggledeathmsg allows players to toggle displaying death messages to themselves, with the deathmessagesprime.toggle permission. Note that this permission is originally for OPs only, which is not what you may want.

    The plugin also has a debug mode which can be enabled from the configuration to aid solving conflicts.

    Examples of some versatile features of this plugin:

    • Allows distinguishing between non-named and named mobs in death messages and displaying forms of them in the death messages.
    • Separates normal and elder Guardians.
    • Supports CrackShot (kind of)
    • Allows to disable PVP and non-PVP messages in specific worlds
    • A world group feature to display death messages in a specific world in its group only
    • Multiple death messages for each reason
    • Biome in death messages
    • Distinguishes between short and long fall kills (like Minecraft does, compare "hit the ground too hard" and "fell from a high place")
    • Allows to specify death messages when 'pushed' by a mob or player
    • Allows changing lightning/enderpearl death messages (same in vanilla Minecraft as fire tick/fall messages)
    • Supports player display names in messages
    • Custom messages for mobs with specific names, per regex (therefore support for custom bosses)
    • Supports item tooltips for when the weapon is displayed in a message
    • Death messages within a radius and 1&1 (only killer and victim receives the message) for PVP deaths
    • heart-compat-mode for plugins that may display a health bar as the mob name
    • API for getting the death message, addons with events and custom tag support (with javadocs)

    Common problems/questions & solutions
    Hearts appear in the death message instead of the mob's name
    Enable heart-compat-mode from within the configuration file (from false to true).

    Adding multiple death messages so that one is picked at random
    Simply add multiple death messages under a specific reason (adding further messages with the same hyphen-first syntax). The plugin will pick one of the messages at random upon a death.

    Various conflicts with compat-mode on or off
    If you're a plugin developer and you modify the death message in PlayerDeathEvent, make sure your plugin's event priority is less than HIGHEST, which is the priority DMP uses to detect and solve conflicts.

    If you are a server administrator, you should contact the developers of both plugins, if possible. DMP so far has a fairly advanced mechanism for detecting conflicts, but it's not perfect.

    Add support for plugin X!
    You should ask the developer of plugin X: DMP has an API. In fact, no API whatsoever is needed, as long as the other plugin uses the standard setDeathMessage via PlayerDeathEvent on any priority lower than HIGHEST, and no extra DMP features (such as messages within DMP configs) are needed. For plugins that check on MONITOR, you can try DMPMonitorCompat.

    invalid character, unacceptable code point, special characters are not allowed...
    Use a text editor that supports UTF-8. Most modern editors and even some older ones should support it (note that Notepad does not fully support it, unless you are on Windows 10 May 2019 or above). If your editor does support it, make sure you're saving the file as UTF-8 (the exact steps depend on your text editor). You should not save with BOM (byte order mark), but without it.

    ClassNotFoundException: net.md_5.bungee.api...
    You are likely running CraftBukkit, which is not supported by this plugin. Please migrate to Spigot instead.

    %weapon_name%, %weapon% display ???

    This happens if you are using them in unsupported messages. Out of PVP messages, only PlayerCustom, PlayerTridentCustom and PlayerProjectileCustom support these two placeholders. The rest are FallKillWeapon, FallFinishKillWeapon, and under mob messages everything ending in Custom.

    These Custom messages are used whenever the weapon used for the kill has a custom name, while the messages without %weapon% are used for hand kills or kills made with weapons without custom names.

    You can make the plugin use the Custom messages, with %weapon%, for the latter by enabling show-custom-death-msg-on-all-weapons. Hand kills will still use the messages without %weapon%.

    Official & featured plugins
    The plugins below may require DeathMessagesPrime or provide extra functionality if it is installed.

    - Provide as much information as you can
    - If you can, provide screenshots
    - Provide your death messages plugin version.
    - Provide logs/errors so you don't have to wait for me to ask you for more info. Which takes longer to handle
    - DO NOT! DO NOT! DO NOT just say xxx doesn't work and call it a day. I will most likely ignore you or close your ticket right away. Ever since the new release, iv been flooded with support tickets. I do not mind helping. But saying "xxx doesn't work" is disrespectful.
    huy123a, grow142, NONOQH_ and 21 others like this.

Recent Updates

  1. More NPE fixes
  2. Bug fixes
  3. Update to 1.18.2

Recent Reviews

  1. Traci_42
    Version: 1.4.14
    Seems like it could be good but conflicts with Boosters plugin, which was more important to me.
  2. Creator711
    Version: 1.4.14
    The plugin works on 1.19.

    I don't know why it's not working for some people but it's definitely not the plugins fault. I'd recommend checking it out! It's a nice addition for suvival server :)
  3. TheRoxer
    Version: 1.4.14
    Plugin seems very nice, but i cant even load it. I keep getting this error:

    I'm currently using java version 16 with purpur 1.17 enegine
  4. BoolyStudy
    Version: 1.4.14
    could you add that when exploiting the anchor_respawn, it detects as a kill? Currently it has no death message for the exploiter, it would be good to add for the next update, since FFA Crystal pvp servers, we use anchor_respawn and the death of the exploiter is not currently seen.
  5. LightFury102
    Version: 1.4.12
    Not working on 1.8 anymore (Class compiled with version 61)
  6. buzznation
    Version: 1.4.11
    Update this bitch! Please..................................................................
    1. MrShawn
      Author's Response
      Your wish is my command
  7. FrostyTheDankman
    Version: 1.4.11
    Works great, easy enough to edit messages especially with notepad++ replace all feature. One thing that is a bit annoying though is it seems that moving from 1.18.1 to 1.18.2 broke part of the plugin. Fall damage, mob damage, and secondary PVP deaths still work but if I kill a player with a sword it does not show up in chat. The console spits the error upon every PVP kill

    [16:55:43 ERROR]: Could not pass event PlayerDeathEvent to DeathMessages v1.4.11
    net.joshb.deathmessages.NbtApiException: Method not loaded! 'ITEMSTACK_NMSCOPY'
    at ~[DeathMessages-1.4.11.jar:?]
    at net.joshb.deathmessages.NBTItem.convertItemtoNBT( ~[DeathMessages-1.4.11.jar:?]
    at net.joshb.deathmessages.assets.Assets.getWeapon( ~[DeathMessages-1.4.11.jar:?]
    at net.joshb.deathmessages.assets.Assets.playerDeathMessage( ~[DeathMessages-1.4.11.jar:?]
    at net.joshb.deathmessages.listener.EntityDeath.onEntityDeath( ~[DeathMessages-1.4.11.jar:?]
    at net.joshb.deathmessages.listener.EntityDeath.onEntityDeath_HIGH( ~[DeathMessages-1.4.11.jar:?]
    at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor269.execute(Unknown Source) ~[?:?]
    at org.bukkit.plugin.EventExecutor.lambda$create$1( ~[purpur-api-1.18.2-R0.1-SNAPSHOT.jar:?]
    at co.aikar.timings.TimedEventExecutor.execute( ~[purpur-api-1.18.2-R0.1-SNAPSHOT.jar:git-Purpur-1592]
    at org.bukkit.plugin.RegisteredListener.callEvent( ~[purpur-api-1.18.2-R0.1-SNAPSHOT.jar:?]
    at org.bukkit.plugin.SimplePluginManager.callEvent( ~[purpur-api-1.18.2-R0.1-SNAPSHOT.jar:?]
    at org.bukkit.craftbukkit.v1_18_R2.event.CraftEventFactory.callPlayerDeathEvent( ~[purpur-1.18.2.jar:git-Purpur-1592]
    at net.minecraft.server.level.ServerPlayer.die( ~[?:?]
    at ~[?:?]
    at ~[?:?]
    at net.minecraft.server.level.ServerPlayer.hurt( ~[?:?]
    at ~[?:?]
    at net.minecraft.server.level.ServerPlayer.attack( ~[?:?]
    at$6.a( ~[?:?]
    at$1.dispatch( ~[?:?]
    at ~[?:?]
    at ~[?:?]
    at ~[?:?]
    at ~[?:?]
    at$ensureRunningOnSameThread$1( ~[?:?]
    at ~[purpur-1.18.2.jar:git-Purpur-1592]
    at net.minecraft.util.thread.BlockableEventLoop.doRunTask( ~[?:?]
    at net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask( ~[?:?]
    at net.minecraft.server.MinecraftServer.doRunTask( ~[purpur-1.18.2.jar:git-Purpur-1592]
    at net.minecraft.server.MinecraftServer.d( ~[purpur-1.18.2.jar:git-Purpur-1592]
    at net.minecraft.util.thread.BlockableEventLoop.pollTask( ~[?:?]
    at net.minecraft.server.MinecraftServer.pollTaskInternal( ~[purpur-1.18.2.jar:git-Purpur-1592]
    at net.minecraft.server.MinecraftServer.pollTask( ~[purpur-1.18.2.jar:git-Purpur-1592]
    at net.minecraft.util.thread.BlockableEventLoop.managedBlock( ~[?:?]
    at net.minecraft.server.MinecraftServer.waitUntilNextTick( ~[purpur-1.18.2.jar:git-Purpur-1592]
    at net.minecraft.server.MinecraftServer.runServer( ~[purpur-1.18.2.jar:git-Purpur-1592]
    at net.minecraft.server.MinecraftServer.lambda$spin$1( ~[purpur-1.18.2.jar:git-Purpur-1592]
    at ~[?:?]
    1. MrShawn
      Author's Response
      Hello, this should be fixed now
  8. ShawnFoxter
    Version: 1.4.11
    Working on 1.18.2, i really recommend this plugin for anyone who wants to change the deathmessage
  9. Maccy55
    Version: 1.4.11
    Tried to get help in the support discord with an issue where if you die by TNT, further deaths by anything would just keep saying it was by TNT, ended up getting no response.
  10. 7344
    Version: 1.4.11