Custom Recipes:
Create a file with an ending of ".recipe" in the folder "config\customRecipes".
Syntax: result count width height item IDs left to right ,up to down
ex:35-15 23 2 2 3 3 3 3
With this recipe you can make 23 black wool out of 4 dirt.

You can write multiple recipes in one file. (one recipe per line)

			
Custom Fuels:
Create a file with an ending of ".fuel" in the folder "config\customFuels".
Syntax: item duration
durations: One Item needs 200 to smelt
durations from Minecraft:
Wood: 300
Coal: 1600
Lava: 20000

ex: 3 1000
Dirt burns now 5 items long in the furnace

You can write multiple fuels in one file. (one fuel per line)
			
			
Custom Smelting Recipes:
Create a file with an ending of ".srecipe" in the folder "config\customSmeltingRecipes".
Syntax: input output count
ex: 3 35-14 2
This smelting recipes let you smelt 2 red wool out of a dirt block
Subitems only works for output

You can write multiple smelting recipes in one file. (one smelting recipe per line)


Custom Ore Generation:
Create a file with an ending of ".oregen" in the folder "config\customOreGeneration".
Syntax: blockid size heightmin heightmax rate spawninair
size      - How many blocks are created at maximum at one place
heightmin - The lowest height where the block is generated
heightmax - The highest height where the block is generated
rate      - How many times a depot of blocks per chunk is generated
spawninair - true or false. When true the block is also generated in the air
ex: 35-1 6 65 75 50 true
			
You can write multiple ore generations in one file. (one ore generation per line)


Custom Items:
Create a file with an ending of ".item" in the folder "config\customItems".

The file MUST include 3 things:

name           - Name of the item
id             - Id of the item. Must be higher than 512.
iconfile       - The name of the file for the icon. The file must be put into minecraft.jar or into the customStuff zip.

And then you can add optional things:

type           - type of the item. Possible types are normal, food, axe, pickaxe, shovel, hoe, sword, door, helmet, body, legs, boots. (Default is normal)
iddoor         - id of your door. Required for type door.
maxstack       - maximum stack size in inventory [1 ... 64]. (Default is 1)
healamount     - How many half hearts the food is healing. (Default is 1)
fooduses       - How often one food can be used.
duration       - How many uses a tool have. Also the duration of armor(Default for tolls is 64, default for armor is 15)
efficiency     - How fast a tool mines. (ex: wood is 2, diamond is 8; Default is 4)
damage         - How many damage the item deals to a mob. (ex: wood is 0, diamond is 3; Default is 0)
maxuses        - How many uses has a normal item. Increase damage with damageitem function.
armorname      - The name of armortexturefiles (ex: obsidian, the texturefiles are then obsidian_1.png and obsidian_2.png)
infiniteair    - For armor. If true you will have infinite air under water. (Only Singleplayer)
nofalldamage   - For armor. If true you will get no falldamage. (Only Singleplayer)
noburning      - For armor. If true you will never be on fire. (Only Singleplayer)
rightclick     - Functions, which are called when you rightclick a block with the item. (setblock, dropitem, drop, explode, settime, spawn, killitem, weather, damageitem, burnplayer, fillair, sethealth, heal; getblockid, getblockdamage, getblockiddamage, getblockheight, getitemdamage)
blockdestroyed - Functions, which are called when you destroy a block with the item. (dropitem, killitem, damageitem, burnplayer, fillair, sethealth, heal; getitemdamage)
hitmob         - Functions, which are called when you hit a mob or a player. (dropitem, killitem, addvelo, burn, transform, damageitem, dropmobitem; getmob, getmobhp, getitemdamage, burnplayer, fillair, sethealth, heal)

	setblock(offsetX,offsetY,offsetZ,id,damage) 
		Set a block with the offset from the block you clicked.
		ex: setblock(0,-1,0,35,14)
			This will set the block below the one, which is rigthclicked/destroyed to red wool.
	dropitem(id,quantity,damage)
		Creates items next to the player.
		ex: dropitem(35,4,15)
			This will creates 4 black wool.
	drop(offsetX,offsetY,offsetZ,id,quantity,damage)
		Drops an item at the offset from the block you clicked.
		ex: drop(0,1,0,35,4,15)
			This will creates 4 black wool one block above the one who is clicked.
	explode(offsetX,offsetY,offsetZ,strength)
		Creates a explosion
		ex: explode(0,0,0,4)
			This will create a explosion like a TNT explosion. (Strength: TNT is 4, Creeper is 3)
	settime(time)
		Set the time. 0 and 24000 is start of the day. 12000 is start of the night.
	spawn(mobtype,count)
		Spawns the given count of mobs.
		ex: spawn(Creeper,5)
			This will spawn 5 creepers. (MobTypes: Creeper, Skeleton, Spider, Zombie, Slime, Ghast, PigZombie, Pig, Sheep, Cow, Chicken, Squid, Wolf)
	killitem()
		Destroyes the item.
	weather(weather,time)
		Set the weather for the given time. 
		ex: weather(rain,60)
			It will rain for 60 seconds. (Possible weathertypes: rain, thundering, none (you have to set the time, too))
	addvelo(x,y,z)
		Add velocity to the mob you hit.
		ex: addvelo(0.0,1.0,0.0)
			This will throw the mob you hit in the air.
	burn()
		Set the mob you hit on fire.
	transform(mobtype)
		Transform the mob you hit into the one you coose. Only Singleplayer
			ex: transform(Creeper)
		MobTypes: Creeper, Skeleton, Spider, Zombie, Slime, Ghast, PigZombie, Pig, Sheep, Cow, Chicken, Squid, Wolf
	dropmobitem(id,quantity,damage)
		Drops an item from the mob you hit.
		    ex: dropmobitem(5,1,0)
	damageitem(count)
		damage the item by the given value
			ex: damageitem(1)
	burnplayer()
		set the player on fire.
	fillair()
		fill your air for underwater
	sethealth(value)
		set the player's health (1 is one halfheart)
	heal(value)
		heal the player by the given value (1 is one halfheart)
		
	if functions:
		Syntax: if functions:then functions:else functions
			ex: getblockid(0,0,0,1):setblock(0,1,0,1):setblock(0,1,0,5)
			Devide if then or else functions with &
			ex: getblockid(0,0,0,1)&getblockid(0,1,0,1):setblock(0,0,0,5)&setblock(0,1,0,5)
			
		getblockid(offsetX,offsetY,offsetZ,id)
			checks if the block has the same id as given.
		getblockdamage(offsetX,offsetY,offsetZ,damage)
			checks if the block has the same damage value as given.
		getblockiddamage(offsetX,offsetY,offsetZ,id,damage)
			checks if the block has the same id and damage value as given.
		getblockheight(offsetX,offsetY,offsetZ,height)
			checks if the block is at the given height.
		getmob(mobtype)
			checks if the mob you hit has the given type. (MobTypes: Creeper, Skeleton, Spider, Zombie, Slime, Ghast, PigZombie, Pig, Sheep, Cow, Chicken, Squid, Wolf)
		getmobhp(health)
			checks if the mob you hit has the given health value.
		getitemdamage(damage)
			checks if the item has the given damage value.
			
			
If you want to have more functions in one event you can devide the functions with an semicolon (;)
To make a recipe, your item a fuel, or part of a smelting recipes, you have to write the code into customRecipes.txt, customFuel.txt and customSmeltingRecipes.txt

Example:

name=Obsidian Pickaxe
id=2345
iconfile=ObsidianPickaxe.png
type=pickaxe
duration=5000
efficiency=9
damage=5
rightclick=setblock(0,1,0,5,0);setblock(0,2,0,5,0);dropitem(1,55,0,0)
blockdestroyed=dropitem(3,5,0)



custom Blocks:
Create a file with an ending of ".block" in the folder "config\customBlock".

The file MUST include 3 things:

name              - Name of the block
id                - Id of the Block [97 ... 255]. 
texturefile       - The name of the file for the texture of the block. If your block is a door, then this is the upper texture. The file must be put into minecraft.jar or into the customStuff zip.

And then you can add optional things:

type              - The type of the block (normal,fence,stairs,door,slab). Default is normal.
material          - Material of the block. Possible materials are grass, ground, wood, rock, iron, cloth, sand, glass. (Default is rock)
redstoneonly      - Set to true if the door can only be opened by redstone. Only for doors. (Default is false)
texturefilebottom - The bottom texture of the door. Required for doors.
doubleslabid      - The id of the block, which is produced when you place the slab above another. If this isnt set up you cant place the slab above another. Only for slabs.
stepsound         - The step sound of the block. This is also the sound when you place or destroy the block. Possible step sounds are wood, gravel, grass, stone, metal, cloth, glass. (Default is stone)
hardness          - How long it takes to harvest the block. (ex: obsidian is 10, dirt is 0.5; Default is 1)
resistance        - Resistance against explosions. (ex: obisidian is 2000, stone is 10; Default is 0)
light             - How many light the block emits [0.0 ... 1.0]. (ex: glowstone is 1, torch is 0.9375; Default is 0)
opacity           - how many light goes through the block [0 ... 255]. (ex: 255=no light goes through the block, 0=all light goes through the block; Default is 255)
iddropped         - The block/item, which is dropped from the block. (Default is the same block)
quantitydropped   - How many blocks/items the block drops when destroyed. You can also set a random value, ex:3-6 (Default is 1)
transparent       - Set to true if your block has transparent textures. (Default is false)
speed             - How fast you walk on the block. (Default is 0.6)
destroyed         - Functions, which are called when the block is destroyed by a player. (setblock, explode, settime, spawn, drop, weather;
																							getblockid, getblockdamage, getblockiddamage, getblockheight)
clicked           - Functions, which are called when you click the block. (setblock, explode, settime, spawn, dropitem, drop, weather, burnplayer, fillair, sethealth, heal;
																							getblockid, getblockdamage, getblockiddamage, getblockheight)
neighborchanged   - Functions, which are called when a block next to the block is changing. (setblock, explode, settime, spawn, drop, weather;
																							getblockid, getblockdamage, getblockiddamage, getblockheight)
added             - Functions, which are called when the block is placed. (setblock, explode, settime, spawn, drop, weather;
																							getblockid, getblockdamage, getblockiddamage, getblockheight)
activated         - Functions, which are called when the block is powered with redstone. (setblock, explode, settime, spawn, drop, weather;
																							getblockid, getblockdamage, getblockiddamage, getblockheight)
deactivated       - Functions, which are called when the block changes from powered to unpowered. (setblock, explode, settime, spawn, drop, weather;
																							getblockid, getblockdamage, getblockiddamage, getblockheight)
rigthclicked      - Functions, which are called when you rightclick the block. (setblock, explode, settime, spawn, dropitem, drop, weather;
																							getblockid, getblockdamage, getblockiddamage, getblockheight)

	setblock(offsetX,offsetY,offsetZ,id,damage) 
		Set a block with the offset from the block which is triggered.
		ex: setblock(0,1,0,35,14)
			This will set the block above the one, which is rigthclicked/destroyed to red wool.
	dropitem(id,quantity,damage)
		Creates items next to the player.
		ex: dropitem(35,4,15)
			This will creates 4 black wool.
	drop(offsetX,offsetY,offsetZ,id,quantity,damage)
		Drops an item at the offset from the block which is triggered.
		ex: drop(0,1,0,35,4,15)
			This will creates 4 black wool one block above the one who is clicked.
	explode(offsetX,offsetY,offsetZ,strength)
		Creates a explosion
		ex: explode(0,0,0,4)
			This will create a explosion like a TNT explosion. (Strength: TNT is 4, Creeper is 3)
	settime(time)
		set the time. 0 and 24000 is start of the day. 12000 is start of the night.
	spawn(mobtype,count)
		spawns the given count of mobs.
		ex: spawn(Creeper,5)
			This will spawn 5 creepers. (MobTypes: Creeper, Skeleton, Spider, Zombie, Slime, Ghast, PigZombie, Pig, Sheep, Cow, Chicken, Squid, Wolf)
	weather(weather,time)
		Set the weather for the given time. 
		ex: weather(rain,60)
			It will rain for 60 seconds. (Possible weathertypes: rain, thundering, none (you have to set the time, too))
	burnplayer()
		set the player on fire.
	fillair()
		fill your air for underwater
	sethealth(value)
		set the player's health (1 is one halfheart)
	heal(value)
		heal the player by the given value (1 is one halfheart)
		
	if functions:
		Syntax: if functions:then functions:else functions
			ex: getblockid(0,0,0,1):setblock(0,1,0,1):setblock(0,1,0,5)
			Devide if then or else functions with &
			ex: getblockid(0,0,0,1)&getblockid(0,1,0,1):setblock(0,0,0,5)&setblock(0,1,0,5)
			
		getblockid(offsetX,offsetY,offsetZ,id)
			checks if the the block has the same id as given.
		getblockdamage(offsetX,offsetY,offsetZ,damage)
			checks if the the block has the same damage value as given.
		getblockiddamage(offsetX,offsetY,offsetZ,id,damage)
			checks if the the block has the same id and damage value as given.
		getblockheight(offsetX,offsetY,offsetZ,height)
			checks if the block is at the given height.
			
If you want to have more functions in one event you can devide the functions with an semicolon (;)	
To make a recipe, your item a fuel, or part of a smelting recipes, you have to write the code into customRecipes.txt, customFuel.txt and customSmeltingRecipes.txt
		
Example:

name=Wood Generator
id=170
texturefile=WoodGenerator.png
material=iron
stepsound=metal
hardness=2
resistance=5
light=0.5
opacity=255
activated=setblock(0,1,0,17,0)