    001    package net.minecraft.src;
    002
    003    public class EntitySnowball extends EntityThrowable
    004    {
    005        public EntitySnowball(World par1World)
    006        {
    007            super(par1World);
    008        }
    009
    010        public EntitySnowball(World par1World, EntityLiving par2EntityLiving)
    011        {
    012            super(par1World, par2EntityLiving);
    013        }
    014
    015        public EntitySnowball(World par1World, double par2, double par4, double par6)
    016        {
    017            super(par1World, par2, par4, par6);
    018        }
    019
    020        /**
    021         * Called when this EntityThrowable hits a block or entity.
    022         */
    023        protected void onImpact(MovingObjectPosition par1MovingObjectPosition)
    024        {
    025            if (par1MovingObjectPosition.entityHit != null)
    026            {
    027                byte var2 = 0;
    028
    029                if (par1MovingObjectPosition.entityHit instanceof EntityBlaze)
    030                {
    031                    var2 = 3;
    032                }
    033
    034                par1MovingObjectPosition.entityHit.attackEntityFrom(DamageSource.causeThrownDamage(this, this.thrower), var2);
    035            }
    036
    037            for (int var3 = 0; var3 < 8; ++var3)
    038            {
    039                this.worldObj.spawnParticle("snowballpoof", this.posX, this.posY, this.posZ, 0.0D, 0.0D, 0.0D);
    040            }
    041
    042            if (!this.worldObj.isRemote)
    043            {
    044                this.setDead();
    045            }
    046        }
    047    }