public boolean damageEntity(DamageSource var1, float var2) { if (!this.world.isClientSide && !this.dead) { if (this.isInvulnerable(var1)) { return false; } else { this.k(-this.r()); this.j(10); this.ac(); this.setDamage(this.getDamage() + var2 * 10.0F); boolean var3 = var1.getEntity() instanceof EntityHuman && ((EntityHuman) var1.getEntity()).abilities.canInstantlyBuild; if (var3 || this.getDamage() > 40.0F) { if (this.passenger != null) { this.passenger.mount((Entity) null); } if (var3 && !this.hasCustomName()) { this.die(); } else { this.a(var1); } } return true; } } else { return true; } }
@Override public void die(DamageSource damagesource) { super.die(damagesource); if (damagesource.h() instanceof EntityArrow && damagesource.getEntity() instanceof EntityHuman) { EntityHuman entityhuman = (EntityHuman) damagesource.getEntity(); double d0 = entityhuman.locX - this.locX; double d1 = entityhuman.locZ - this.locZ; if (d0 * d0 + d1 * d1 >= 2500.0D) { entityhuman.a((Statistic) AchievementList.v); } } }
/** Called when the entity is attacked. */ @Override public boolean attackEntityFrom(DamageSource par1DamageSource, int par2) { Entity var3 = par1DamageSource.getEntity(); if (var3 instanceof EntityPlayer) { List var4 = this.worldObj.getEntitiesWithinAABBExcludingEntity( this, this.boundingBox.expand(32.0D, 32.0D, 32.0D)); Iterator var5 = var4.iterator(); while (var5.hasNext()) { Entity var6 = (Entity) var5.next(); if (var6 instanceof EntityPigZombieTFC) { EntityPigZombieTFC var7 = (EntityPigZombieTFC) var6; var7.becomeAngryAt(var3); } } this.becomeAngryAt(var3); } return super.attackEntityFrom(par1DamageSource, par2); }