    001    package net.minecraft.src;
    002
    003    public class EntityEgg extends EntityThrowable
    004    {
    005        public EntityEgg(World par1World)
    006        {
    007            super(par1World);
    008        }
    009
    010        public EntityEgg(World par1World, EntityLiving par2EntityLiving)
    011        {
    012            super(par1World, par2EntityLiving);
    013        }
    014
    015        public EntityEgg(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                par1MovingObjectPosition.entityHit.attackEntityFrom(DamageSource.causeThrownDamage(this, this.thrower), 0);
    028            }
    029
    030            if (!this.worldObj.isRemote && this.rand.nextInt(8) == 0)
    031            {
    032                byte var2 = 1;
    033
    034                if (this.rand.nextInt(32) == 0)
    035                {
    036                    var2 = 4;
    037                }
    038
    039                for (int var3 = 0; var3 < var2; ++var3)
    040                {
    041                    EntityChicken var4 = new EntityChicken(this.worldObj);
    042                    var4.setGrowingAge(-24000);
    043                    var4.setLocationAndAngles(this.posX, this.posY, this.posZ, this.rotationYaw, 0.0F);
    044                    this.worldObj.spawnEntityInWorld(var4);
    045                }
    046            }
    047
    048            for (int var5 = 0; var5 < 8; ++var5)
    049            {
    050                this.worldObj.spawnParticle("snowballpoof", this.posX, this.posY, this.posZ, 0.0D, 0.0D, 0.0D);
    051            }
    052
    053            if (!this.worldObj.isRemote)
    054            {
    055                this.setDead();
    056            }
    057        }
    058    }