Note that while vanilla furnace recipes give a one for one transformation - i.e.A furnace recipe takes a single ItemStack in, gives a single ItemStack out and gives some experience for doing the smelting.The actual recipes are contained in the FurnaceRecipe.instance() and you can add recipes by calling the addSmeltingRecipe() method from that instance.These need a furnace block and are used for making ingots out of ore, cooking meat, etc.There are actually many types of recipes in Minecraft: This isn't as simple as simply creating classes that extend those vanilla things (although you might want to do that) because a lot of functionality in Minecraft will compare for exact match with the specific instance including metadata. Many mods want to add variety and so might create variations on things, but still want them to act similarly to vanilla 'ore' when used in recipes.
One of the basic ideas of Minecraft game play is the idea that you mine 'ore' and then use that to smelt and craft things. At the end of the page is some tips related to the older system. Note: Most information on this page is related to the 1.12+ version JSON recipe system.