Hey,
Just a little intro - I'm a graduating Computer Science Major with an avid love of Minecraft, and am picking up Modding one of my all time favorite games.
While I was attempting to create specific recipes for different purposes, I realized that I would have to copy-paste the existing Recipe Manager, or create my own class to manage recipes, if I only wanted them craftable from certain block containers.
Long story short, I created a few modifications to the original CraftingManager that, instead of maintaining a singular RecipeList, changes it to managing an arbitrary number of different Lists, mapped by keys. I only added methods, and all existing methods use a default key of "minecraft", which allows this to be dropped in as a replacement for the CraftingManager class and continue to have it work as advertised.
I'm not sure how useful others will find it, but I found it added quite a bit of functionality without breaking anything existing, and with only a small bit of code. Also, having the ability to have separate crafting lists is something I feel Forge should support 'out of the box'.
Code is as follows:
https://gist.github.com/Itszuvalex/7409109