The 'using []' part of a player's death message can show the wrong item
The death message of a dead player can show the name of an item which is unrelated to their death. For instance; this can occur when one player shoots another with a bow/crossbow, but then replaces the bow/crossbow in their main-hand with a different (renamed) item before the second player dies. The same can also be observed when the player has a bow in their off-hand, but a renamed item in their main hand. The general issue here being that the game does not properly detect the source of a death when choosing what item name to display, but instead uses the name of the item in the main hand (of the 'killer' player) upon death.
Steps to Reproduce:
- Get a renamed item:
/give @s dirt[minecraft:custom_name='{"text":"Custom Name","color":"red"}'] - Kill the player:
(Must be holding the renamed item when you do)/damage @p 20 minecraft:arrow by @p
Observed & Expected Behavior:
- The game will output the death message "[Player] was shot by [Player] using [Renamed Dirt Block]", despite dying to arrow damage.
- The death message would properly display the name of the item used to shoot the player. If a name is not applicable, it would give a vague message such as "[Player] shot [Player]"
Code Analysis:
This issue stems specifically from the return value of the getLocalizedDeathMessage() method in the DamageSource class.
As stated in the post, the game checks the name of the item the player is currently holding rather than the item used.
public Component getLocalizedDeathMessage(LivingEntity livingEntity) { String s = "death.attack." + this.type().msgId(); if (this.causingEntity == null && this.directEntity == null) { LivingEntity livingentity1 = livingEntity.getKillCredit(); String s1 = s + ".player"; return livingentity1 != null ? Component.translatable(s1, livingEntity.getDisplayName(), livingentity1.getDisplayName()) : Component.translatable(s, livingEntity.getDisplayName()); } else { Component component = this.causingEntity == null ? this.directEntity.getDisplayName() : this.causingEntity.getDisplayName(); Entity entity = this.causingEntity; ItemStack itemstack1; if (entity instanceof LivingEntity) { LivingEntity livingentity = (LivingEntity)entity; itemstack1 = livingentity.getMainHandItem(); } else { itemstack1 = ItemStack.EMPTY; } ItemStack itemstack = itemstack1; --- > ISSUE START return !itemstack.isEmpty() && itemstack.hasCustomHoverName() ? Component.translatable(s + ".item", livingEntity.getDisplayName(), component, itemstack.getDisplayName()) : Component.translatable(s, livingEntity.getDisplayName(), component); --- > ISSUE END } }
decompiled code via MCP Reborn
Old Description
This is the original description, when the issue was triaged:
When you kill another player with bow (In second hand) and you have a renamed item (A dirt block with name "Hello worrld" for example) the death message is:
player was shot by <Me> using [Item in main hand (EX: Hello World")
Linked Issues
is duplicated by18
- Unresolved
[Mod] Jiingylluiscab
- 28
- 18
- Confirmed
Low
- Platform
- Text
- off-hand
15w39b - 1.20.5
15w39b 15w43c 15w44a 15w46a 16w02a 1.9.1-pre3 1.10.2 16w35a 16w41a 1.11.2 17w17a 17w17b 17w18a 1.13.1 1.13.2 18w48a 18w48b 18w49a 18w50a 1.14.4 1.15.1 1.16-pre5 1.16.1 20w28a 20w29a 20w30a 1.16.2-pre1 1.16.2-pre2 1.16.2-pre3 1.16.2-rc1 1.16.2-rc2 1.16.2 1.16.3-rc1 1.16.3 1.16.4-pre1 1.16.4-pre2 1.16.4-rc1 1.16.4 20w45a 20w46a 20w48a 20w49a 20w51a 21w03a 1.16.5 21w05b 21w06a 21w07a 21w08b 21w10a 21w11a 21w13a 21w14a 1.17 1.17.1 21w37a 21w39a 1.18.1 22w06a 1.18.2 22w14a 1.19-rc2 1.19 1.19.2 1.19.3 1.19.4 1.20.1 1.20.2-pre2 1.20.2 23w41a 23w43a 1.20.3 1.20.4-rc1 1.20.4 23w51b 24w07a 24w13a 1.20.5
Created Issue:
player was shot by player using [Item in main hand]
When you kill another player with bow (In second hand) and you have a renamed item (A dirt block with name "Hello worrld" for example) the death message is:
player was shot by <Me> using [Item in main hand (EX: Hello World"]
Environment
Windows 8.1, Java 7
When you kill another player with bow (In second hand) and you have a renamed item (A dirt block with name "Hello worrld" for example) the death message is:
player was shot by <Me> using [Item in main hand (EX: Hello World"]
When you kill another player with bow (In second hand) and you have a renamed item (A dirt block with name "Hello worrld" for example) the death message is:
player was shot by <Me> using [Item in main hand (EX: Hello World")
is duplicated by
is duplicated by
player was shot by player using [Item in mainhand]Death Message shows weapon of default hand but not actual death-causing weapon of offhand
is duplicated by
is duplicated by
is duplicated by
is duplicated by
Windows 8.1, Java 7
is duplicated by
is duplicated by
relates to
is duplicated by
is duplicated by
is duplicated by
is duplicated by
is duplicated by
is duplicated by
is duplicated by
relates to
When you kill another playerwith bow(In secondhand)andyou have a renamed item (A dirt block with name "Hello worrld" for example) the death message is:player was shot by <Me> using [Item in main hand (EX: Hello World")
If a player fires an arrow at themselves with a bow or crossbow in their mainhand and then immediately switches their mainhand slot to a renamed item before the fired arrow hits and kills them, an incorrect death message will be displayed. The death message will use the name of the renamed item, rather than remembering the name of the item that fired the arrow originally.
Steps to Reproduce:
- Give the player a renamed item:
/give @p dirt{display:{Name:'{"text":"Renamed Dirt Block"}'}} 1
- While holding the renamed item, run the following command:
(This effectively does the same thing as shooting yourself with an arrow, but is more convenient) /damage @p 20 minecraft:arrow by @pObserved Behavior:
The game will output the death message "[Player] was shot by [Player] using [Renamed Dirt Block]"Expected Behavior:
The death message would properly display the name of the item used to shoot the player. If a name is not applicable, it would give a vague message such as "[Player] shot [Player]"Code Analysis:
This issue stems specifically from the return value of the getLocalizedDeathMessage() method in the DamageSource class.
As stated in the post, the game checks the name of the item the player is currently holding rather than the item used.public Component getLocalizedDeathMessage(LivingEntity livingEntity) { String s = "death.attack." + this.type().msgId(); if (this.causingEntity == null && this.directEntity == null) { LivingEntity livingentity1 = livingEntity.getKillCredit(); String s1 = s + ".player"; return livingentity1 != null ? Component.translatable(s1, livingEntity.getDisplayName(), livingentity1.getDisplayName()) : Component.translatable(s, livingEntity.getDisplayName()); } else { Component component = this.causingEntity == null ? this.directEntity.getDisplayName() : this.causingEntity.getDisplayName(); Entity entity = this.causingEntity; ItemStack itemstack1; if (entity instanceof LivingEntity) { LivingEntity livingentity = (LivingEntity)entity; itemstack1 = livingentity.getMainHandItem(); } else { itemstack1 = ItemStack.EMPTY; } ItemStack itemstack = itemstack1; return !itemstack.isEmpty() && itemstack.hasCustomHoverName() ? Component.translatable(s + ".item", livingEntity.getDisplayName(), component, itemstack.getDisplayName()) : Component.translatable(s, livingEntity.getDisplayName(), component); } }decompiled code via MCP Reborn
Old Description
This is the original description, when the issue was triaged:When you kill another player with bow (In second hand) and you have a renamed item (A dirt block with name "Hello worrld" for example) the death message is:
player was shot by <Me> using [Item in main hand (EX: Hello World")
DeathMessageshows weapon of default hand but not actual death-causing weapon of offhandThe 'using []' part of a player's death message can incorrectly show the item held in the main hand rather than the real cause
If a player fires an arrow at themselves with a bow or crossbow intheirmainhand and then immediately switchestheir mainhandslot to arenamed item before thefired arrow hits and kills them, an incorrect death message will be displayed. The death message will usethenameof the renamed item, rather than remembering the name of the item that fired the arrow originally.Steps to Reproduce:
- Give the player a renamed item:
/give @p dirt{display:{Name:'{"text":"Renamed Dirt Block"}'}} 1
- While holding the renamed item, run the following command:
(This effectively does the same thing as shooting yourself with an arrow, but is more convenient) /damage @p 20 minecraft:arrow by @pObserved Behavior:
The game will output the death message "[Player] was shot by [Player] using [Renamed Dirt Block]"Expected Behavior:
The death message would properly display the name of the item used to shoot the player. If a name is not applicable, it would give a vague message such as "[Player] shot [Player]"Code Analysis:
This issue stems specifically from the return value of the getLocalizedDeathMessage() method in the DamageSource class.
As stated in the post, the game checks the name of the item the player is currently holding rather than the item used.public Component getLocalizedDeathMessage(LivingEntity livingEntity) { String s = "death.attack." + this.type().msgId(); if (this.causingEntity == null && this.directEntity == null) { LivingEntity livingentity1 = livingEntity.getKillCredit(); String s1 = s + ".player"; return livingentity1 != null ? Component.translatable(s1, livingEntity.getDisplayName(), livingentity1.getDisplayName()) : Component.translatable(s, livingEntity.getDisplayName()); } else { Component component = this.causingEntity == null ? this.directEntity.getDisplayName() : this.causingEntity.getDisplayName(); Entity entity = this.causingEntity; ItemStack itemstack1; if (entity instanceof LivingEntity) { LivingEntity livingentity = (LivingEntity)entity; itemstack1 = livingentity.getMainHandItem(); } else { itemstack1 = ItemStack.EMPTY; } ItemStack itemstack = itemstack1; return !itemstack.isEmpty() && itemstack.hasCustomHoverName() ? Component.translatable(s + ".item", livingEntity.getDisplayName(), component, itemstack.getDisplayName()) : Component.translatable(s, livingEntity.getDisplayName(), component); } }decompiled code via MCP Reborn
Old Description
This is the original description, when the issue was triaged:When you kill another player with bow (In second hand) and you have a renamed item (A dirt block with name "Hello worrld" for example) the death message is:
player was shot by <Me> using [Item in main hand (EX: Hello World")
The death message of a dead player can show the name of an item which is unrelated to their death. For instance; this can occur when one player shoots another with a bow/crossbow, but then replaces the bow/crossbow in their main-hand with a different (renamed) item before the second player dies. The same can also be observed when the player has a bow in their off-hand, but a renamed item in their main hand. The general issue here being that the game does not properly detect the source of a death when choosing what item name to display, but instead uses the name of the item in the main hand (of the 'killer' player) upon death.
Steps to Reproduce:
- Get a renamed item:
/give @p dirt{display:{Name:'{"text":"Renamed Dirt Block"}'}} 1
- Kill the player:
(Must be holding the renamed item when you do)/damage @p 20 minecraft:arrow by @pObserved & Expected Behavior:
- The game will output the death message "[Player] was shot by [Player] using [Renamed Dirt Block]", despite dying to arrow damage.
- The death message would properly display the name of the item used to shoot the player. If a name is not applicable, it would give a vague message such as "[Player] shot [Player]"
Code Analysis:
This issue stems specifically from the return value of the getLocalizedDeathMessage() method in the DamageSource class.
As stated in the post, the game checks the name of the item the player is currently holding rather than the item used.public Component getLocalizedDeathMessage(LivingEntity livingEntity) { String s = "death.attack." + this.type().msgId(); if (this.causingEntity == null && this.directEntity == null) { LivingEntity livingentity1 = livingEntity.getKillCredit(); String s1 = s + ".player"; return livingentity1 != null ? Component.translatable(s1, livingEntity.getDisplayName(), livingentity1.getDisplayName()) : Component.translatable(s, livingEntity.getDisplayName()); } else { Component component = this.causingEntity == null ? this.directEntity.getDisplayName() : this.causingEntity.getDisplayName(); Entity entity = this.causingEntity; ItemStack itemstack1; if (entity instanceof LivingEntity) { LivingEntity livingentity = (LivingEntity)entity; itemstack1 = livingentity.getMainHandItem(); } else { itemstack1 = ItemStack.EMPTY; } ItemStack itemstack = itemstack1; --- > ISSUE START return !itemstack.isEmpty() && itemstack.hasCustomHoverName() ? Component.translatable(s + ".item", livingEntity.getDisplayName(), component, itemstack.getDisplayName()) : Component.translatable(s, livingEntity.getDisplayName(), component); --- > ISSUE END } }decompiled code via MCP Reborn
Old Description
This is the original description, when the issue was triaged:When you kill another player with bow (In second hand) and you have a renamed item (A dirt block with name "Hello worrld" for example) the death message is:
player was shot by <Me> using [Item in main hand (EX: Hello World")
The 'using []' part of a player's death message canincorrectly show the item held in the main hand rather than the real causeThe 'using []' part of a player's death message can show the wrong item
The death message of a dead player can show the name of an item which is unrelated to their death. For instance; this can occur when one player shoots another with a bow/crossbow, but then replaces the bow/crossbow in their main-hand with a different (renamed) item before the second player dies. The same can also be observed when the player has a bow in their off-hand, but a renamed item in their main hand. The general issue here being that the game does not properly detect the source of a death when choosing what item name to display, but instead uses the name of the item in the main hand (of the 'killer' player) upon death.
Steps to Reproduce:
- Get a renamed item:
/give @p dirt{display:{Name:'{"text":"Renamed Dirt Block"}'}} 1
- Kill the player:
(Must be holding the renamed item when you do)/damage @p 20 minecraft:arrow by @pObserved & Expected Behavior:
- The game will output the death message "[Player] was shot by [Player] using [Renamed Dirt Block]", despite dying to arrow damage.
- The death message would properly display the name of the item used to shoot the player. If a name is not applicable, it would give a vague message such as "[Player] shot [Player]"
Code Analysis:
This issue stems specifically from the return value of the getLocalizedDeathMessage() method in the DamageSource class.
As stated in the post, the game checks the name of the item the player is currently holding rather than the item used.public Component getLocalizedDeathMessage(LivingEntity livingEntity) { String s = "death.attack." + this.type().msgId(); if (this.causingEntity == null && this.directEntity == null) { LivingEntity livingentity1 = livingEntity.getKillCredit(); String s1 = s + ".player"; return livingentity1 != null ? Component.translatable(s1, livingEntity.getDisplayName(), livingentity1.getDisplayName()) : Component.translatable(s, livingEntity.getDisplayName()); } else { Component component = this.causingEntity == null ? this.directEntity.getDisplayName() : this.causingEntity.getDisplayName(); Entity entity = this.causingEntity; ItemStack itemstack1; if (entity instanceof LivingEntity) { LivingEntity livingentity = (LivingEntity)entity; itemstack1 = livingentity.getMainHandItem(); } else { itemstack1 = ItemStack.EMPTY; } ItemStack itemstack = itemstack1; --- > ISSUE START return !itemstack.isEmpty() && itemstack.hasCustomHoverName() ? Component.translatable(s + ".item", livingEntity.getDisplayName(), component, itemstack.getDisplayName()) : Component.translatable(s, livingEntity.getDisplayName(), component); --- > ISSUE END } }decompiled code via MCP Reborn
Old Description
This is the original description, when the issue was triaged:When you kill another player with bow (In second hand) and you have a renamed item (A dirt block with name "Hello worrld" for example) the death message is:
player was shot by <Me> using [Item in main hand (EX: Hello World")
The death message of a dead player can show the name of an item which is unrelated to their death. For instance; this can occur when one player shoots another with a bow/crossbow, but then replaces the bow/crossbow in their main-hand with a different (renamed) item before the second player dies. The same can also be observed when the player has a bow in their off-hand, but a renamed item in their main hand. The general issue here being that the game does not properly detect the source of a death when choosing what item name to display, but instead uses the name of the item in the main hand (of the 'killer' player) upon death.
Steps to Reproduce:
- Get a renamed item:
/give @p dirt{display:{Name:'{"text":"Renamed Dirt Block"}'}} 1- Kill the player:
(Must be holding the renamed item when you do)/damage @p 20 minecraft:arrow by @pObserved & Expected Behavior:
- The game will output the death message "[Player] was shot by [Player] using [Renamed Dirt Block]", despite dying to arrow damage.
- The death message would properly display the name of the item used to shoot the player. If a name is not applicable, it would give a vague message such as "[Player] shot [Player]"
Code Analysis:
This issue stems specifically from the return value of the getLocalizedDeathMessage() method in the DamageSource class.
As stated in the post, the game checks the name of the item the player is currently holding rather than the item used.public Component getLocalizedDeathMessage(LivingEntity livingEntity) { String s = "death.attack." + this.type().msgId(); if (this.causingEntity == null && this.directEntity == null) { LivingEntity livingentity1 = livingEntity.getKillCredit(); String s1 = s + ".player"; return livingentity1 != null ? Component.translatable(s1, livingEntity.getDisplayName(), livingentity1.getDisplayName()) : Component.translatable(s, livingEntity.getDisplayName()); } else { Component component = this.causingEntity == null ? this.directEntity.getDisplayName() : this.causingEntity.getDisplayName(); Entity entity = this.causingEntity; ItemStack itemstack1; if (entity instanceof LivingEntity) { LivingEntity livingentity = (LivingEntity)entity; itemstack1 = livingentity.getMainHandItem(); } else { itemstack1 = ItemStack.EMPTY; } ItemStack itemstack = itemstack1; --- > ISSUE START return !itemstack.isEmpty() && itemstack.hasCustomHoverName() ? Component.translatable(s + ".item", livingEntity.getDisplayName(), component, itemstack.getDisplayName()) : Component.translatable(s, livingEntity.getDisplayName(), component); --- > ISSUE END } }decompiled code via MCP Reborn
Old Description
This is the original description, when the issue was triaged:When you kill another player with bow (In second hand) and you have a renamed item (A dirt block with name "Hello worrld" for example) the death message is:
player was shot by <Me> using [Item in main hand (EX: Hello World")
is duplicated by
The death message of a dead player can show the name of an item which is unrelated to their death. For instance; this can occur when one player shoots another with a bow/crossbow, but then replaces the bow/crossbow in their main-hand with a different (renamed) item before the second player dies. The same can also be observed when the player has a bow in their off-hand, but a renamed item in their main hand. The general issue here being that the game does not properly detect the source of a death when choosing what item name to display, but instead uses the name of the item in the main hand (of the 'killer' player) upon death.
Steps to Reproduce:
- Get a renamed item:
/give @pdirt{display:{Name:'{"text":"Renamed Dirt Block"}'}} 1- Kill the player:
(Must be holding the renamed item when you do)/damage @p 20 minecraft:arrow by @pObserved & Expected Behavior:
- The game will output the death message "[Player] was shot by [Player] using [Renamed Dirt Block]", despite dying to arrow damage.
- The death message would properly display the name of the item used to shoot the player. If a name is not applicable, it would give a vague message such as "[Player] shot [Player]"
Code Analysis:
This issue stems specifically from the return value of the getLocalizedDeathMessage() method in the DamageSource class.
As stated in the post, the game checks the name of the item the player is currently holding rather than the item used.public Component getLocalizedDeathMessage(LivingEntity livingEntity) { String s = "death.attack." + this.type().msgId(); if (this.causingEntity == null && this.directEntity == null) { LivingEntity livingentity1 = livingEntity.getKillCredit(); String s1 = s + ".player"; return livingentity1 != null ? Component.translatable(s1, livingEntity.getDisplayName(), livingentity1.getDisplayName()) : Component.translatable(s, livingEntity.getDisplayName()); } else { Component component = this.causingEntity == null ? this.directEntity.getDisplayName() : this.causingEntity.getDisplayName(); Entity entity = this.causingEntity; ItemStack itemstack1; if (entity instanceof LivingEntity) { LivingEntity livingentity = (LivingEntity)entity; itemstack1 = livingentity.getMainHandItem(); } else { itemstack1 = ItemStack.EMPTY; } ItemStack itemstack = itemstack1; --- > ISSUE START return !itemstack.isEmpty() && itemstack.hasCustomHoverName() ? Component.translatable(s + ".item", livingEntity.getDisplayName(), component, itemstack.getDisplayName()) : Component.translatable(s, livingEntity.getDisplayName(), component); --- > ISSUE END } }decompiled code via MCP Reborn
Old Description
This is the original description, when the issue was triaged:When you kill another player with bow (In second hand) and you have a renamed item (A dirt block with name "Hello worrld" for example) the death message is:
player was shot by <Me> using [Item in main hand (EX: Hello World")
The death message of a dead player can show the name of an item which is unrelated to their death. For instance; this can occur when one player shoots another with a bow/crossbow, but then replaces the bow/crossbow in their main-hand with a different (renamed) item before the second player dies. The same can also be observed when the player has a bow in their off-hand, but a renamed item in their main hand. The general issue here being that the game does not properly detect the source of a death when choosing what item name to display, but instead uses the name of the item in the main hand (of the 'killer' player) upon death.
Steps to Reproduce:
- Get a renamed item:
/give @s dirt[minecraft:custom_name='{"text":"Custom Name","color":"red"}']- Kill the player:
(Must be holding the renamed item when you do)/damage @p 20 minecraft:arrow by @pObserved & Expected Behavior:
- The game will output the death message "[Player] was shot by [Player] using [Renamed Dirt Block]", despite dying to arrow damage.
- The death message would properly display the name of the item used to shoot the player. If a name is not applicable, it would give a vague message such as "[Player] shot [Player]"
Code Analysis:
This issue stems specifically from the return value of the getLocalizedDeathMessage() method in the DamageSource class.
As stated in the post, the game checks the name of the item the player is currently holding rather than the item used.public Component getLocalizedDeathMessage(LivingEntity livingEntity) { String s = "death.attack." + this.type().msgId(); if (this.causingEntity == null && this.directEntity == null) { LivingEntity livingentity1 = livingEntity.getKillCredit(); String s1 = s + ".player"; return livingentity1 != null ? Component.translatable(s1, livingEntity.getDisplayName(), livingentity1.getDisplayName()) : Component.translatable(s, livingEntity.getDisplayName()); } else { Component component = this.causingEntity == null ? this.directEntity.getDisplayName() : this.causingEntity.getDisplayName(); Entity entity = this.causingEntity; ItemStack itemstack1; if (entity instanceof LivingEntity) { LivingEntity livingentity = (LivingEntity)entity; itemstack1 = livingentity.getMainHandItem(); } else { itemstack1 = ItemStack.EMPTY; } ItemStack itemstack = itemstack1; --- > ISSUE START return !itemstack.isEmpty() && itemstack.hasCustomHoverName() ? Component.translatable(s + ".item", livingEntity.getDisplayName(), component, itemstack.getDisplayName()) : Component.translatable(s, livingEntity.getDisplayName(), component); --- > ISSUE END } }decompiled code via MCP Reborn
Old Description
This is the original description, when the issue was triaged:When you kill another player with bow (In second hand) and you have a renamed item (A dirt block with name "Hello worrld" for example) the death message is:
player was shot by <Me> using [Item in main hand (EX: Hello World")
duplicate of MC-89347
same issue as MC-89347, if you have not, please use the search function in the future
Thank you for your report!
We're already tracking this issue at MC-89347, so I will resolve and link this ticket as a duplicate.
If you would like to add a vote and any extra information to the main ticket it would be appreciated.
If you haven't already, you might like to make use of the search feature to see if the issue has already been mentioned.
Quick Links:
📓 Issue Guidelines – 💬 Community Support – 📧 Customer Support – 📖 Game Wiki
Thank you for your report!
We're tracking this issue in MC-89347, so this ticket is being resolved and linked as a duplicate.
If you would like to add a vote and any extra information to the main ticket it would be appreciated.
If you haven't already, you might like to make use of the search feature to see if the issue has already been mentioned.
Quick Links:
📓 Bug Tracker Guidelines – 💬 Community Support – 📧 Mojang Support
📓 Project Summary – ✍️ Feedback and Suggestions – 📖 Game Wiki
Thank you for your report!
We're tracking this issue in MC-89347, so this ticket is being resolved and linked as a duplicate.
If you would like to add a vote and any extra information to the main ticket it would be appreciated.
If you haven't already, you might like to make use of the search feature to see if the issue has already been mentioned.
Quick Links:
📓 Bug Tracker Guidelines – 💬 Community Support – 📧 Mojang Support
📓 Project Summary – ✍️ Feedback and Suggestions – 📖 Game Wiki
Since this isn't considered the same as MC-89347, I can confirm that this is an issue. Also affects 21w37a. Just in case the provided information isn't clear, here are some extra details.
The Bug:
The player can die from being "shot by" any renamed item.
Steps to Reproduce:
- Set the "naturalRegeneration" gamerule to false.
/gamerule naturalRegeneration false
- Set your health to a singular heart by running the following command three times.
/effect give @s minecraft:instant_damage
- Obtain a bow and some arrows.
- Obtain any item of your choice and rename it in an anvil.
- Switch into survival mode and shoot yourself using your bow and arrow but make sure that you hold the renamed item of your choice in your hand before you die.
- →
Notice how the player can die from being "shot by" any renamed item.
Expected Behavior:
The expected behavior would be that the player cannot die from being "shot by" any renamed item. The death message should correctly state what weapon was used to kill the player.
Duplicate of MC-89347.
Thank you for your report!
We're tracking this issue in MC-89347, so this ticket is being resolved and linked as a duplicate.
If you would like to add a vote and any extra information to the main ticket it would be appreciated.
If you haven't already, you might like to make use of the search feature to see if the issue has already been mentioned.
Quick Links:
📓 Bug Tracker Guidelines – 💬 Community Support – 📧 Mojang Support
📓 Project Summary – ✍️ Feedback and Suggestions – 📖 Game Wiki
– I am a bot. This action was performed automatically! The ticket was resolved by one of our moderators, and I left this message to give more information to you.
Thank you for your report!
We're tracking this issue in MC-89347, so this ticket is being resolved and linked as a duplicate.
If you would like to add a vote and any extra information to the main ticket it would be appreciated.
If you haven't already, you might like to make use of the search feature to see if the issue has already been mentioned.
Quick Links:
📓 Bug Tracker Guidelines – 💬 Community Support – 📧 Mojang Support
📓 Project Summary – ✍️ Feedback and Suggestions – 📖 Game Wiki
Duplicate of MC-89347.
Thank you for your report!
We're tracking this issue in MC-89347, so this ticket is being resolved and linked as a duplicate.
If you would like to add a vote and any extra information to the main ticket it would be appreciated.
If you haven't already, you might like to make use of the search feature to see if the issue has already been mentioned.
Quick Links:
📓 Bug Tracker Guidelines – 💬 Community Support – 📧 Mojang Support
📓 Project Summary – ✍️ Feedback and Suggestions – 📖 Game Wiki
Thank you for your report!
We're tracking this issue in MC-222677 and MC-89347, so this ticket is being resolved and linked as a duplicate.
If you would like to add a vote and any extra information to the main tickets it would be appreciated.
If you haven't already, you might like to make use of the search feature to see if the issue has already been mentioned.
Quick Links:
📓 Bug Tracker Guidelines – 💬 Community Support – 📧 Mojang Support
📓 Project Summary – ✍️ Feedback and Suggestions – 📖 Game Wiki
dupe of MC-89347
After discussion based on the code analysis provided, I will resolve this issue as a duplicate of MC-89347. Both issues appear to share the same cause.
Quick Links:
📓 Bug Tracker Guidelines – 💬 Community Support – 📧 Mojang Support (Technical Issues) – 📧 Microsoft Support (Account Issues)
📓 Project Summary – ✍️ Feedback and Suggestions – 📖 Game Wiki
Looks like this duplicates MC-89347
Please check if MC-89347 does describe your issue. This ticket will automatically reopen when you reply.

Confirmed for 15w43c.
Swekob: Please only confirm issues if you confirmed them yourself (you probably took confirmation from
MC-91406). There's no need to confirm parent tickets for version X if you just pointed out a duplicate of it which has version X in the list of affected versions, we usually copy over affected versions when resolving duplicates. Thanks.[Mod] redstonehelper: I did actually confirm it myself. Alright, thanks for the info!
In that case, there was no need to - I was going to believe the other report either way
Confirmed for 15w44a.
Confirmed for 15w46a
Confirmed for 16w35a. Also happens when you shoot yourself with a bow but quickly switch to a different named item.
confirmed for 16w41a
confirmed for 1.11.2
Confirmed for 17w17a & 17w17b
Confirmed for 17w18a
Confirmed in 1.16-pre5.
The classes EntityDamageSource and IndirectEntityDamageSource override the method DamageSource#getLocalizedDeathMessage and check for the currently held item in the main hand of the attacker. As explained in this comment, the ItemStack responsible for the action should be stored in the projectile then passed to the DamageSource and used in the death message instead.
This is intended. When someone dies and the entity who killed holds a renamed item it shows the item that it is holding in the death message. That way the item cannot be mentioned if you throw it into lava before the entity dies like it should.
Um, buddy, you need an actual Mojang source for WAIs, and the report got priority assigned by Mojang, meaning it is NOT intended.
Affects 1.20.2