001 package net.minecraft.entity.projectile; 002 003 import net.minecraft.entity.EntityLiving; 004 import net.minecraft.entity.passive.EntityChicken; 005 import net.minecraft.util.DamageSource; 006 import net.minecraft.util.MovingObjectPosition; 007 import net.minecraft.world.World; 008 009 public class EntityEgg extends EntityThrowable 010 { 011 public EntityEgg(World par1World) 012 { 013 super(par1World); 014 } 015 016 public EntityEgg(World par1World, EntityLiving par2EntityLiving) 017 { 018 super(par1World, par2EntityLiving); 019 } 020 021 public EntityEgg(World par1World, double par2, double par4, double par6) 022 { 023 super(par1World, par2, par4, par6); 024 } 025 026 /** 027 * Called when this EntityThrowable hits a block or entity. 028 */ 029 protected void onImpact(MovingObjectPosition par1MovingObjectPosition) 030 { 031 if (par1MovingObjectPosition.entityHit != null) 032 { 033 par1MovingObjectPosition.entityHit.attackEntityFrom(DamageSource.causeThrownDamage(this, this.getThrower()), 0); 034 } 035 036 if (!this.worldObj.isRemote && this.rand.nextInt(8) == 0) 037 { 038 byte var2 = 1; 039 040 if (this.rand.nextInt(32) == 0) 041 { 042 var2 = 4; 043 } 044 045 for (int var3 = 0; var3 < var2; ++var3) 046 { 047 EntityChicken var4 = new EntityChicken(this.worldObj); 048 var4.setGrowingAge(-24000); 049 var4.setLocationAndAngles(this.posX, this.posY, this.posZ, this.rotationYaw, 0.0F); 050 this.worldObj.spawnEntityInWorld(var4); 051 } 052 } 053 054 for (int var5 = 0; var5 < 8; ++var5) 055 { 056 this.worldObj.spawnParticle("snowballpoof", this.posX, this.posY, this.posZ, 0.0D, 0.0D, 0.0D); 057 } 058 059 if (!this.worldObj.isRemote) 060 { 061 this.setDead(); 062 } 063 } 064 }