This article is still work in progress. Here's some quick start info:
- Texture packs must be placed as .zip files in the /texturepacks folder of the game directory.
- They must contain the folder /textures, which has child folders according to the directory structure of the /textures folder of the game directory, e.g. /textures/blocks, /textures/items, etc.
- They can contain a file _name.txt in the root folder (next to the /textures folder), which contains a single line of text with the name of the texture pack. If not provided, the texture pack will display with the file name of the .zip archive.
- You can download a working texture pack here: 
It has all the standard textures in it, which are deployed with the regular game.
Note: In your custom texture pack, if you do not have a custom version of a texture (e.g. a single block) but want to use the original, it is better for the performance to not include a copy of the texture in your texture pack, but just leave it out.