<gh_stars>0
IDs = {
	"air" : 0,
	"stone" : 1,
	"grass" : 2,
	"dirt" : 3,
	"cobblestone" : 4,
	"planks" : 5,
	"flowing_water" : 8,
	"water" : 9,
	"flowing_lava" : 10,
	"lava" : 11,
	"log" : 17,
	"leaves" : 18,
	"glass" : 20,
	"lapis_block" : 22,
	"bed" : 26,
	"golden_rail" : 27,
	"detector_rail" : 28,
	"web" : 30,
	"tallgrass" : 31,
	"deadbush" : 32,
	"wool" : 35,
	"yellow_flower" : 37,
	"flower" : 38,
	"brown_mushroom" : 39,
	"red_mushroom" : 40,
	"double_stone_slab" : 43,
	"stone_slab" : 44,
	"brick_block" : 45,
	"bookshelf" : 47,
	"torch" : 50,
	"oak_stairs" : 53,
	"chest" : 54,
	"crafting_table" : 58,
	"wheat" : 59,
	"farmland" : 60,
	"furnace" : 61,
	"wooden_door" : 64,
	"ladder" : 65,
	"rail" : 66,
	"stone_stairs" : 67,
	"redstone_torch" : 76,
	"snow" : 78,
	"ice" : 79,
	"cactus" : 81,
	"reeds" : 83,
	"oak_fence" : 85,
	"melon_block" : 103,
	"pumpkin_stem" : 104,
	"melon_stem" : 105,
	"vine" : 106,
	"oak_fence_gate" : 107,
	"brick_stairs" : 108,
	"stone_brick_stairs" : 109,
	"waterlily" : 111,
	"redstone_lamp" : 123,
	"double_wooden_slab" : 125,
	"wooden_slab" : 126,
	"spruce_stairs" : 134,
	"birch_stairs" : 135,
	"jungle_stairs" : 136,
	"cobblestone_wall" : 139,
	"carrots" : 141,
	"potatoes" : 142,
	"redstone_block" : 152,
	"leaves2" : 161,
	"log2" : 162,
	"acacia_stairs" : 163,
	"dark_oak_stairs" : 164,
	"double_plant" : 175,
	"daylight_detector_inverted" : 178,
	"spruce_fence_gate" : 183,
	"birch_fence_gate" : 184,
	"jungle_fence_gate" : 185,
	"dark_oak_fence_gate" : 186,
	"acacia_fence_gate" : 187,
	"spruce_fence" : 188,
	"birch_fence" : 189,
	"jungle_fence" : 190,
	"dark_oak_fence" : 191,
	"acacia_fence" : 192,
	"spruce_door" : 193,
	"birch_door" : 194,
	"jungle_door" : 195,
	"acacia_door" : 196,
	"dark_oak_door" : 197,
	"grass_path" : 208,
	"iron_door" : 330
}

def getBlockID(name, secondaryID):
	return (IDs[name], secondaryID)

def createWoodenMaterialsKit(planks, log, slab, stairs, door, fence, fence_gate):
	return {
		"planks" : planks,
		"log" : log,
		"slab" : slab,
		"stairs" : stairs,
		"door" : door,
		"fence" : fence,
		"fence_gate" : fence_gate
	}

wood_IDs = {
	"oak" :			createWoodenMaterialsKit(getBlockID("planks", 0), getBlockID("log", 0), getBlockID("wooden_slab", 0), getBlockID("oak_stairs", 0), getBlockID("wooden_door", 0), getBlockID("oak_fence", 0), getBlockID("oak_fence_gate", 0)),
	"spruce" :		createWoodenMaterialsKit(getBlockID("planks", 1), getBlockID("log", 1), getBlockID("wooden_slab", 1), getBlockID("spruce_stairs", 0), getBlockID("spruce_door", 0), getBlockID("spruce_fence", 0), getBlockID("spruce_fence_gate", 0)),
	"birch" :		createWoodenMaterialsKit(getBlockID("planks", 2), getBlockID("stone", 6), getBlockID("wooden_slab", 2), getBlockID("birch_stairs", 0), getBlockID("birch_door", 0), getBlockID("birch_fence", 0), getBlockID("birch_fence_gate", 0)),
	"jungle" :		createWoodenMaterialsKit(getBlockID("planks", 3), getBlockID("log", 3), getBlockID("wooden_slab", 3), getBlockID("jungle_stairs", 0), getBlockID("jungle_door", 0), getBlockID("jungle_fence", 0), getBlockID("jungle_fence_gate", 0)),
	"dark_oak" :	createWoodenMaterialsKit(getBlockID("planks", 4), getBlockID("log2", 1), getBlockID("wooden_slab", 4), getBlockID("acacia_stairs", 0), getBlockID("acacia_door", 0), getBlockID("acacia_fence", 0), getBlockID("acacia_fence_gate", 0)),
	"acacia" :		createWoodenMaterialsKit(getBlockID("planks", 5), getBlockID("log2", 0), getBlockID("wooden_slab", 5), getBlockID("dark_oak_stairs", 0), getBlockID("dark_oak_door", 0), getBlockID("dark_oak_fence", 0), getBlockID("dark_oak_fence_gate", 0)),
    # add a non-wooden kit to help generate urban areas
	"urban" :		createWoodenMaterialsKit(getBlockID("double_stone_slab", 5), getBlockID("double_stone_slab", 5), getBlockID("stone_slab", 5), getBlockID("stone_brick_stairs", 0), getBlockID("iron_door", 0), getBlockID("cobblestone_wall", 0), getBlockID("dark_oak_fence_gate", 0))
}
