001package net.minecraft.util; 002 003import net.minecraft.entity.Entity; 004import net.minecraft.entity.EntityLiving; 005import net.minecraft.item.ItemStack; 006 007public class EntityDamageSourceIndirect extends EntityDamageSource 008{ 009 private Entity indirectEntity; 010 011 public EntityDamageSourceIndirect(String par1Str, Entity par2Entity, Entity par3Entity) 012 { 013 super(par1Str, par2Entity); 014 this.indirectEntity = par3Entity; 015 } 016 017 public Entity getSourceOfDamage() 018 { 019 return this.damageSourceEntity; 020 } 021 022 public Entity getEntity() 023 { 024 return this.indirectEntity; 025 } 026 027 /** 028 * Returns the message to be displayed on player death. 029 */ 030 public String getDeathMessage(EntityLiving par1EntityLiving) 031 { 032 String s = this.indirectEntity == null ? this.damageSourceEntity.func_96090_ax() : this.indirectEntity.func_96090_ax(); 033 ItemStack itemstack = this.indirectEntity instanceof EntityLiving ? ((EntityLiving)this.indirectEntity).getHeldItem() : null; 034 String s1 = "death.attack." + this.damageType; 035 String s2 = s1 + ".item"; 036 return itemstack != null && itemstack.hasDisplayName() && StatCollector.func_94522_b(s2) ? StatCollector.translateToLocalFormatted(s2, new Object[] {par1EntityLiving.func_96090_ax(), s, itemstack.getDisplayName()}): StatCollector.translateToLocalFormatted(s1, new Object[] {par1EntityLiving.func_96090_ax(), s}); 037 } 038}