function chunkSO::getTerrainHeight( %this, %x, %y )
{
	if ( strLen( %height = %this.terrainHeight[ %x, %y ] ) )
	{
		return %height;
	}
	
	%height = 0;
	
	if ( %height > 119 )
	{
		%height = 119;
	}
	
	%this.terrainHeight[ %x, %y ] = %height;
	return %height;
}

function chunkSO::generateChunk( %this, %callBack )
{
	if ( %this.blockCount )
	{
		return;
	}
	
	// Generate base terrain.
	for ( %x = 0 ; %x < 16 ; %x++ )
	{
		for ( %y = 0 ; %y < 16 ; %y++ )
		{
			%height = %this.getTerrainHeight( %x, %y );
			%this.setBlock( %x, %y, %height, "grass" );
		}
	}
	
	%this.initializing = false;
	%this.saveChunk();
}