public boolean attackEntityFrom(DamageSource par1DamageSource, int par2)
    {
        if (!this.worldObj.isRemote && !this.isDead)
        {
            this.setForwardDirection(-this.getForwardDirection());
            this.setTimeSinceHit(10);
            this.setDamageTaken(this.getDamageTaken() + par2 * 10);
            this.setBeenAttacked();

            if (this.getDamageTaken() > 40)
            {
                if (this.riddenByEntity != null)
                {
                    this.riddenByEntity.mountEntity(this);
                }

                int var3;

                for (var3 = 0; var3 < 3; ++var3)
                {
                    this.dropItemWithOffset(Block.planks.blockID, 1, 0.0F);
                }

                for (var3 = 0; var3 < 2; ++var3)
                {
                    this.dropItemWithOffset(Item.stick.shiftedIndex, 1, 0.0F);
                }

                this.setDead();
            }

            return true;
        }
        else
        {
            return true;
        }
    }