--- a/net/minecraft/world/damagesource/IndirectEntityDamageSource.java
+++ b/net/minecraft/world/damagesource/IndirectEntityDamageSource.java
@@ -7,6 +7,7 @@
 import net.minecraft.world.item.ItemStack;
 
 public class IndirectEntityDamageSource extends EntityDamageSource {
+
     @Nullable
     private final Entity owner;
 
@@ -29,10 +30,17 @@
 
     @Override
     public Component getLocalizedDeathMessage(LivingEntity entity) {
-        Component component = this.owner == null ? this.entity.getDisplayName() : this.owner.getDisplayName();
-        ItemStack itemStack = this.owner instanceof LivingEntity ? ((LivingEntity)this.owner).getMainHandItem() : ItemStack.EMPTY;
-        String string = "death.attack." + this.msgId;
-        String string2 = string + ".item";
-        return !itemStack.isEmpty() && itemStack.hasCustomHoverName() ? Component.translatable(string2, entity.getDisplayName(), component, itemStack.getDisplayName()) : Component.translatable(string, entity.getDisplayName(), component);
+        Component ichatbasecomponent = this.owner == null ? this.entity.getDisplayName() : this.owner.getDisplayName();
+        ItemStack itemstack = this.owner instanceof LivingEntity ? ((LivingEntity) this.owner).getMainHandItem() : ItemStack.EMPTY;
+        String s = "death.attack." + this.msgId;
+        String s1 = s + ".item";
+
+        return !itemstack.isEmpty() && itemstack.hasCustomHoverName() ? Component.translatable(s1, entity.getDisplayName(), ichatbasecomponent, itemstack.getDisplayName()) : Component.translatable(s, entity.getDisplayName(), ichatbasecomponent);
     }
+
+    // CraftBukkit start
+    public Entity getProximateDamageSource() {
+        return super.getEntity();
+    }
+    // CraftBukkit end
 }
