public void hatch() { if (!worldObj.isRemote) { worldObj.playAuxSFX(2001, xCoord, yCoord, zCoord, Block.getIdFromBlock(getBlockType())); worldObj.setBlockToAir(xCoord, yCoord, zCoord); EntityAnimal entity = null; float specialChance = 0.05F; if (Math.random() < specialChance) { int entityType = worldObj.rand.nextInt(3); switch (entityType) { case 0: entity = new EntityHorse(worldObj); break; case 1: entity = new EntityWolf(worldObj); break; case 2: entity = new EntityOcelot(worldObj); break; } } else { int entityType = worldObj.rand.nextInt(4); switch (entityType) { case 0: entity = new EntitySheep(worldObj); break; case 1: if (Math.random() < 0.01) entity = new EntityMooshroom(worldObj); else entity = new EntityCow(worldObj); break; case 2: entity = new EntityPig(worldObj); break; case 3: entity = new EntityChicken(worldObj); break; } } if (entity != null) { entity.setPosition(xCoord + 0.5, yCoord + 0.5, zCoord + 0.5); entity.setGrowingAge(-24000); worldObj.spawnEntityInWorld(entity); entity.spawnExplosionParticle(); } } }